Joomla! CMS, Joomla! Framework, and Licenses
These have been busy days in our community, the like of which has rarely been seen before. Twitter has been burning with feedback accompanied by the Joomla! hashtag, and that's fine. It is good to see the community actively involved, even on issues that generate passionate discussions. We are all members of the same community.
To clarify some concepts:
What is the Joomla! Framework ?
In very general words, and not to get into technicalities, the Joomla! Framework is an environment or PHP framework that allows the development of modern web applications based on PHP without using the Joomla! CMS.
What is the Joomla! CMS?
The Joomla CMS is what is normally used to develop our websites. It is the content manager (CMS = Content Management System) that we use to install extensions and templates.
This means that we have two totally different products. You need not install the Joomla! Framework to run the Joomla! CMS, and vice versa.
A little history
In November of 2012, when the idea of adopting "phar" files was getting started, the conversation led to the relicensing of the Framework. A call was put out to the public Google list requesting input. Many contributed their views and a survey was made available to all.
The result of this survey was published as a slideshow and publicly shared. Everyone could see who the stakeholders were, who was involved, and who contributed to the data.
Then, with the passage of time and discussion within the Production Leadership Team (PLT - responsible for both the CMS and the Framework), they arrived at a consensus. In February of 2013, they asked Open Source Matters (OSM), the Joomla! team responsible for giving legal and financial support to the project, to analyze the feasibility of a license change.
Today, after long internal discussions and team meetings within OSM, and having also consulted with the “Software Freedom Law Center", OSM has concluded that it is feasible to change the license of the Joomla! Framework from GPLv2 to LGPLv2.1.
What does this change mean?:
The “L” in front of the GPL stands for "Lesser“, meaning " less" or “lower”, which translates into exactly that: it removes some technical constraints, and adds more support to online services than the current GPLv2 license of the Joomla! Framework.
And why is this change needed?
Currently the way the Joomla! Framework is distributed under the GPLv2 license, it cannot be used by other projects that do not share the same license. In other words, its own license restrictions leave the Joomla! Framework at a competitive disadvantage compared to other similar Frameworks, which implies a very slow adoption.
For a moment, don’t think about websites, since we are not talking about the Joomla! CMS, but say you want to build an application for the popular iPhone iOS or Windows Phone 8, and you wanted to use the Joomla Framework. Without the LGPL license it is not possible to develop an app for these devices since the “stores” of both devices require a GPLv3 or LGPL license. And if you are a bit more drastic and talk about Digital Rights Management (DRM), we find that Android has strict limits, allowing its protection only to commercial applications.
Another example is Sparrow, the email manager. By not changing the license, it simply disappeared from the AppStore. It is free now for iOS, but there will be no future updates.
Now you may be thinking that these are extreme examples, and we are talking about Open Source here. Well, despite being 100% correct, we can also point to the example of LibreOffice, the free office suite as an alternative to MS Office. LibreOffice also has a LGPL license, and therefore can be distributed as an Open Source alternative application in devices other than desktop.
How will this license change affect the Joomla! CMS?
It will not change the Joomla CMS in any way. The Joomla! CMS is distributed under the GPLv2 license, which means that although the Framework, which might have an LGPLv2.1 license, and is incorporated into the CMS, it is the CMS license that prevails, i.e. the GPLv2 license. So neither the CMS nor its extensions are affected by this change. It is important to be very clear on this point: an LGPL license for the Framework does not imply a change to the license of the CMS, which will remain GPL. The source for this information is provided by the Software Freedom Law Center to Open Source Matters.
OK, so the Joomla! CMS suffers no ill effects, but ... Will the Framework still be Open Source or not?
The Joomla! Framework will absolutely remain Open Source code, and be available to everyone. Remember, as mentioned earlier, the " L" is Lesser which simply means " less”, or fewer restrictions on GPL for the Framework to be adopted by other developers, who, under current conditions, cannot consider it an option.
But Open Source icon Richard Stallman says otherwise! He clearly says NO to LGPL
Be careful what you read ... It is necessary to always seek the source and origin and not believe everything that comes by any route, not because it is a lie, but often translations without understanding the full context can lead to a poor interpretation. Mr. Stallman made that call in 1999 in response to increased LGPL licensing that was clearly to the detriment of GPL. It was not a call to favor one over another, but also recognizes that under certain circumstances, the LGPL is really necessary. Now, personally, with all due respect to Mr. Stallman, in 1999 we did not have the iPhone, iPad, Surface, Windows Phone, Windows8, tablets, etc., so it obviously was not referring to the current reality of app development. Times have changed and both systems, proprietary and open, have had to learn to live with each other. Otherwise, how could you explain the ease and simplicity with which you do run Joomla, in a proprietary environment like Windows, using free software? ;)
So, according to this article you are completely in favor of the LGPL
No, please make no mistake about that. As always, there are two sides of the coin and this is no exception. There are also variables to take into account in deciding not to favor the adoption of LGPLv2.1 by the Joomla Framework.
Among these reasons we may mention that by allowing the entry of the proprietary environment into the Framework, more developers will be interested in it, which will increase the number of people involved. In theory this works perfectly, but we are faced with the fact that some will just take the framework without contributing back to the project, as it is legally possible.
Another argument is more philosophical, and concerns the nature of the Joomla Project. When it was founded, it was done in the spirit that it would always be free software. Well, this has not changed. The Joomla! CMS remains and will remain 100% free, that is not the issue. But when the project was set up, the founders were not thinking of a framework, and therefore they could not anticipate the spirit of those who would develop it.
Finally, another equally valid argument it is the function of the PLT. Is the PLT there to be responsible for leading the work related to the CMS code, or to develop a parallel tool such as the Framework?
You see, there are compelling reasons in both cases, both for and against. I just wanted to present the facts only here. It is not my spirit to influence the thinking of our readers and members thereof. For that there is freedom of expression and opinion and everyone is invited to form their own opinion. The main idea is just to put the facts on the table, with the greatest possible transparency.
In preparing this article, I got in touch with people directly involved in the issue, both on the PLT and OSM, to get a broader view about it, and people with an opinion in favor and some against, with the idea to always maintain a neutral view. Similarly, I had a long and constructive conversation with a valued member of joomla.cl community in Chile, Hector Mansilla, who is a volunteer member of the GNUChile Foundation and who holds a broad vision on the topic.
This article was originally written by Guillermo Bravo and graciously translated by Alice Grevet for the Joomla! English speaking community.