June 25, 2007

Joomla! gets owned by the GPL...

Joomla recently took the right and appropriate action of enforcing the GPL according to the wording in the license. Their doing so puts an end to a large portion of the CMS's popularity: abundantly available 3rd party commercial add-ons. Those add-ons under a properly enforced GPL can't exist. It may also, on further analysis, mean that all previously released commercial add-ons are now GPL'ed due to their being distributed containing GPL'ed code. Not only does that mean that commercial add-on developers are out any future income form their work, they may also lose their investment by it becoming freely available under the terms of the GPL.

The Joomla! community has taken the right stance in enforcing the GPL. The problem is not with their decision. The problem is inherit in the GPL itself. It is a viral license, and so will infect any code it touches. That fact also prevents the Joomla! team from relicensing Joomla! under any other license.

The GPL is a dead end for projects that use it. If you ever think that there will ever be a reason to use a different license (even a more open license than the GPL), don't use the GPL (or LGPL for that matter).

If you are concerned with copy-lefting your code (requiring a portion of it to always be open to the public), use a license like the Apache License 2.0, the Mozilla Public License, or the Eclipse Public License. If your primary interest is in making your code publicly available and you just want credit, use something like the BSD or MIT/X license (as many AJAX frameworks have). And if you're really generous, release your code to the public domain as the author of SQLite did. All of these licenses are used by healthy projects with sustainable futures.

Open source can advance innovation, but the virtues copy-lefting are debatable and the risks very apparent. If you're choosing a license for your project, choose carefully and once you've chosen, enforce it appropriately.

References:

Posted by TheIdeaMan at June 25, 2007 01:44 PM | TrackBack
Comments

Thanks for good explanation of this situation. It's a bad situation.

GPL has you :)

Posted by: Dead Krolik at June 30, 2007 02:05 PM

Thank you for posting. This is well written.

Posted by: Vscribe at July 5, 2007 11:49 AM

They took the right decision for whom?
End users? They won't be able to get many commercial non-GPL extensions many sites rely on under those circumstances.
3rd party developers? Why should anyone want to make a living from their code stay with Joomla?
The project itself? The last 3 months have hurt it more than anything done before.

Extensions, which can run on different CMSses, should only be "infected" by the GPL license if they re-use significant parts of the Core code. Most only make a few calls to it (or could be changed to do so). Joomla! considers these are derivates, the dev's do not.

Posted by: eyezberg at July 5, 2007 02:07 PM

eyezberg,

Thanks for the questions, I'll try and clarify more in a revision of this article that I'm working toward.

They made the right decision based on the license their code is under. The GPL states that if you use any amount of GPL code in your project, then the code you created becomes GPL'ed when you distribute it. The Joomla! devs are correctly enforcing the license their code is licensed under.

The Joomla! developers have done the right though unpopular thing. In order to regain popularity and to allow commercial developers to continue building modules for Joomla!, they'll need to make Joomla! even more modular. A web service API or some similar system would allow developers to use Joomla! in the same way they would use MySQL or any other GPL'ed datasource. The data from a database running in MySQL doesn't "infect" your code. Only the use of GPL'ed code does, so commercial developers could continue to sell and distribute their code without concern.

As it is, though, any module, component, mambot, or template that uses Joomla! code and has been distributed (even just once) is technically GPL licensed software from the time it was first distributed. Once it's GPL'ed there's no going back. That is actually the point of the license and plan behind its creation.

Each developer and each development project will have to weigh the benefits and risks of the license *before* they choose to use GPL'ed code. Once you've used it, the decision is made and there isn't any going back.

Posted by: Benjamin at July 5, 2007 02:20 PM

Seems to be some misinformation here...
It may also, on further analysis, mean that all previously released commercial add-ons are now GPL'ed due to their being distributed containing GPL'ed code
I don't see how this follows?

Joomla recently took the right and appropriate action of enforcing the GPL according to the wording in the license
What do you mean by enforcing? How is Joomla! enforcing this license?

If you ever think that there will ever be a reason to use a different license (even a more open license than the GPL), don't use the GPL (or LGPL for that matter).
If you own the copyright to some code, you are free to release it under whatever license you want. There is no problem releasing your own code under GPL, making modifications and updates, and releasing the updates and mods under a proprietary license without releasing the source. You wrote the code - do with it what you will. Others are still free to distribute the code that you released under GPL.

The way I see it, and this is an outsider's opinion as I am not on the core team and am not privy to their internal discussions, is that it is necessary for the Joomla! project to do this to protect them from liability. If a third party developer wrote an extension that used, say, patTemplate, for example, and the patTemplate guy decided to take action against the 3pd for releasing a derivative code under a prop. license, the 3pd could turn around implicate Joomla! because they condoned and gave permission to do so.

We live in a litigious society, and sometimes protective measures have to be made.

Just my opinion.

Posted by: Ian MacLennan at July 5, 2007 03:40 PM

Ian,

Thanks for posting your questions. The blog post needs a rewrite to clarify much of what I intended. For now, here's some quick answers to your questions.

1. From my understanding, the GPL takes affect upon distribution. So, if I create a piece of software using GPL'ed code, then my piece of software becomes GPL'ed when I distribute my software. If a commercial piece of software is found to contain GPL'ed code, then that commercial software is now GPL'ed. As far as I know that's a correct reading of the GPL.

2. They list the objectives they have in their announcement [a]. Those are what I see as their "enforcing" it.

3. You are absolutely right about GPL'ing code that you own the full copyright to. You can GPL and commercially license your software so long as all the code is under your copyright. However, if you include any amount of GPL'ed code under someone elses copyright, your code would have to stay GPL'ed unless you were to remove the code before distribution or branch your software and have a version without the GPL'ed code for the other developer.

Excellent points about liability. It's very wise for Joomla! to protect their project that way and to keep the piece with other open source projects dealing with these issues.

Joomla!'s doing a good thing by "enforcing" their license. It will be good to see other projects follow suite. For those caught in the earlier misunderstanding, though, it will be hard.

[a] http://www.joomla.org/content/view/3510/1/

Posted by: Benjamin at July 5, 2007 04:34 PM

Hope discussion is okay... From the link you posted:

I purchased a copy of an extension that violates the Joomla! license. Can I now distribute it under the GPL?

No. You should report the violation to the appropriate copyright holders.

IMO What this means is that non-GPL code doesn't become GPL. It only means that the copyright holder can choose to take action to prevent the infringer from continuing to violate the license.

The stated objectives are:
- increase GPL compliance in our community
- bring the project up to a representative standard shared by other like-minded open source projects
- follow through on our commitment that the project should lead by example and engender open source philosophy
- move to educate on ways for commercial Joomla! based projects to be both profitable and compliant

I have a hard time considering this enforcement. The city says I can't park my car overnight on the street behind my house. Saying this isn't enforcing it. If they came around and gave me a ticket, THAT would be enforcing it.

However, if you include any amount of GPL'ed code under someone elses copyright, your code would have to stay GPL'ed unless you were to remove the code before distribution or branch your software and have a version without the GPL'ed code for the other developer.
sure... but you were suggesting that releasing code under GPL locks you into GPL, which it does not.

Ian

Posted by: Ian MacLennan at July 5, 2007 04:51 PM

Ian,

Discussion is great! I appreciate the time you've taken to point out the things I missed.

Your point about contacting the copyright holders is correct [1]. Enforcement was the wrong word choice, though, other than taking legal action against every 3pd, I'm not sure what else Joomla! could do to enforce the license. And, lastly, I see your point about the license "lock in." I was thinking in the context of larger distributed projects rather than single copyright holder applications.

I appreciate your thoughts, Ian. They've been helped clarify things I had misunderstood or misrepresented.

I'll be thinking about these things further before I post on the GPL again.

Thanks, Ian,
Benjamin

[1] http://www.gnu.org/licenses/gpl-violation.html

Posted by: Benjamin at July 7, 2007 11:05 AM
Post a comment









Remember personal info?