Sorry in advance for the long post. TL;DR: Skip to the last 2 paragraphs if you don't want to read my entire ramblings...
I think we're confusing a few things. I had this conversation off the forum earlier today and I saw some misconceptions regarding GPL/LGPL and what it means for SaaS, distributable applications and end users.
Both GPL and LGPL require you to provide your modified copies of the Framework code under the same license or (optionally for LGPL) as pure GPL. So, if someone makes a modification to the Framework they are required to share it back with the Framework community no matter if the license switch takes place or not.
Both GPL and LGPL allow developers to create SaaS (Software as a Service) or write proprietary (for a fee or pro bono – price is NOT the issue) applications for their clients WITHOUT being obliged to license their code as (L)GPL. Yes, even GPL. As long as you don't convey the software to someone who's not your boss or your subcontractor you can keep it proprietary. Wall Street trading companies have been doing this for years, sometimes with strange effects (case in point: http://www.vanityfair.com/business/2013 ... programmer
The main difference between GPL and LGPL is what happens with code that interfaces the Framework and has to be distributed to other entities (end users). I will use the term "conveyed software" to save myself a lot of keystrokes, OK?
Under GPL any conveyed software using the Framework must be licensed under GPL. This means that the end users have the legal right to modify it or reuse it as they fit. The Framework can take any part of such conveyed work and put it into the Framework itself. If a vendor tries to close source or deny the end users' rights OSM has the right to sue them for copyright infringement. The vendor cannot sue OSM for copyright infringement for using parts or the whole of the conveyed software in the Framework.
Under LGPL we have three cases:
A - Changes to the Framework itself must be licensed as LGPL, period.
B - Additions to the Framework (as in: new classes) can be licensed under whatever license the vendor chooses per section 7 of LGPLv2.1
C - Conveyed software can be licensed under whatever license the vendor chooses per section 5 of LGPLv2.1. The Framework itself, however, remains LGPL and the vendor MUST provide the Framework's source code when asked
I personally have a problem with cases B and C. In case B, as long as the vendor can prove that their code can work separately from the Framework, they are not required to share their code back with the Framework. For example, if they write a new class which allows the GitHub package to do commits (silly example, bear with me) they can choose to put it under a proprietary license. If the Framework then adds similar code it may or may not be possible for the vendor to sue OSM for copyright infringement. I am not sure about that, because unlike GPL it has never been tested in court and nobody knows the outcome. Yes, I know, this is speculative. It's as speculative as inferring that Framework switching to LGPL will yield the same results as VideoLAN's license switch, considering that it's a different market, a different language and a different link environment (3PDs link to the object file, not the source, in VideoLAN's case).
Case C is what disturbs me the most. By putting the Framework under the LGPL license we facilitate vendor lock-in. Anyone using the Framework can create a proprietary application. They are legally entitled to preventing their users from modifying the source code under heavy penalties. If you're an end user of this application and you spot a bug you don't have the right to fix it. The vendor must fix it, for a fee. If you are missing a feature that's trivial to develop using a cheap subcontractor you can't, the vendor must do it for whatever fee they want, whenever they feel like it. If the vendor is bought out, disappears, becomes insolvent or simply discontinues the product you're screwed. Even if they don't, they can charge you for updates. If you've ever worked in a company's IT department this sounds very familiar: ERPs and CRMs are like that. The thing is, with LGPL we are facilitating that, whereas with GPL we prevent that
The Joomla! mission statement (http://www.joomla.org/about-joomla/the- ... alues.html
) you keep on referring to spells this out "A project that is socially responsible". And I quote from that page:
The words "socially responsible" echo Google's mantra "do no evil." Society could mean just "the community," but it could also refer to society in general.
The responsibility can be negative, meaning that there is a responsibility to refrain from acting, or it can be positive, meaning that there is a responsibility to take action.
How are we socially responsible when we facilitate vendor lock-in which comes in direct contrast with the end-users' (the society's) best interests? Does our social responsibility ends at the developer? This sounds grossly hypocritical considering that the first core value in the same mission statement is Freedom which is explained as:
"Freedom" was chosen as our topmost value for many reasons. We want to give people the freedom to build Web sites with which to publish their ideas. We want to give people the freedom to collaborate with others in their own language. And we want to give people the freedom to use, copy, modify, and distribute the code and protect those freedoms using the GNU/GPL. We also want to provide people with the freedom to be a part of the community and to participate in the future development of the project.
With the LGPL we will be letting the immediate users of the Framework to take away the Freedom of the end-users, making us socially irresponsible.
Finally, we should accept that the choice of a software license is NOT a question of utility. It is a question of philosophy. The question of utility is a simple one, summed up as "how can we make the most developers use this Framework of ours?". If that's the only problem you want to solve, publish it under WTFPL and throw the mission statement to the rubbish bin. Clearly, Joomla! isn't here to answer the question of utility as a standalone issue. Its mission statement gives a clear indication of its philosophy: empowering users, being socially responsible. You can't keep on referring to the mission statement as the source of the authority to switch to LGPL when the LGPL can work against the core values enumerated in the mission statement.
On the other hand I do, I really do, understand the motivation behind the license change. It's a tough world out there and the other FOSS PHP frameworks have put developers' freedom above end-users' freedom. The Joomla! Framework can either be the idealist minority or make some discounts in its philosophy around ethics and license itself under LGPL or MIT or whatever permissive license. My personal objection is that this undermines Joomla!'s (the project's and the CMS') mission statement. The CMS and the project CAN afford to be the idealists because they thrive in a world populated by idealists, pure (as we are) or reluctant (as in some other FOSS CMS which I won't name – you know what I mean).
For these reasons I believe that the stakes of this discussion should not be whether the Framework should switch its license, but how this can happen without betraying the core values of the Joomla! project and without raising questions about the Joomla! brand. Others have already proposed an elegant solution: a name change. The renamed Framework would still fly its flag under the OSM banner. It would be the pragmatist of the OSM family whereas Joomla! would remain its idealist brother. There would also be further advantages to that, like the removal of the "amateur stigma" the Joomla! brand carries among PHP developers. Brian Teeman, being a native English speaker, has put this far more eloquently than I ever can in his blog
. I do not understand why Andrew sees this as an eviction. It's anything but. If you want a housing metaphor, it's more liking politely asking you to go to the office room next door instead of trying to convince us hippies to get down to business and stop singing and making love, not war. We can all live together under the same roof, not necessarily inside the same room. Some hippies will come to work a shift in the office and some business people will come to chill out in the hippie space and this will happen all the time. Some others will only stick to their designated space. I still don't see any problem with that. On the contrary, it will benefit us all.