GPL - Appropriate Licensing

Open Source is all about free software, and usually community spirit around software development. In fact the open source model has even become a multi billion dollar industry. I would like to explore the licensing models the enshrine FOSS and their appropriate use. We will see, not all licenses were created equally.


In general, Open source licenses ensure the code they protect will always remain open source. The software can be modified and even sold, but the code and any modifications must be open sourced. This is an excellent model that protects the work of all contributors. It stops greedy corporations from stealing code, closing the source and selling it as their own proprietary software.

There many different open source license, like GPL, LGPL, BSD and MIT (to name just a few). The main feature of the GPL, however is it's so-called viral nature. This related to 'derivative works'. Anything that is derived from a GPL product becomes GPL itself. Could this be a bad thing? Well, yes and no. It all depends on what the software project aims at achieving.

In general most software is quite well suited to GPL. Take any popular blogging platform. The software should remain open source. If people modify it (essentially piggy-backing on the previous efforts of authors), the modifications and the original code should be freely available. This is what the GPL enforces and it's a good thing.

The GPL however is not suited to library components. A library is some kind of API or code structure you may rely on to power some aspect of your software. In Linux for example, the most popular library is the C libraries glibc and so on. These are not licensed as GPL but as LGPL (or Lesser GPL). This license says that any changes or derivation to the C libraries themselves must remain LGPL, but things created using those libraries are free from the imposition. The reason for this is very simple. Commercial developers who write their own applications using C libraries may not want to open their source, and why should they? The purpose of writing the C language and libraries was to allow people to create new software.

If coders want to write closed source commercial applications with it that is perfectly ok. They are not stealing any thunder from the authors of C, they are in fact fulfilling the original goals. They are also not profiting by adapting another's work as their own. All is good. If the C libraries were licensed as GPL, any code written using them would count as a 'derived work' and therefore be infected with the GPL.

There are other licenses which are also suited to this aim, they are namely BSD and MIT licenses.

You can find more information about Open Source licensing at

OSI and GNU


Share This | Print

Trackbacks

(The URL to TrackBack this entry is: http://blog.zikula.org/index.php?module=TrackBack&id=26,1-55). If your blog does not support Trackbacks you can manually add your trackback by using this form.

Comments

Comment by:
OIK2's Avatar
OIK2
29 Oct 2009 - 01:42AM
Zikula Examples?
Can you give some examples of how this applies to Zikula? Is there a "viral" license that developers for ZK need to keep in mind?
 
Comment by:
drak's Avatar
drak
29 Oct 2009 - 02:43AM
re: Zikula Examples?
Actually, this is a grey area. The fact is probably Zikula modules are all GPL for two reasons. a) they are generally based on the example modules which themselves are GPL, and b) utilise GPL APIs which probably makes them 'derivative works'. As the Foundation doesn't own the copyright or have licensing rights, we can't actually expressly avoid this. If we were the licensee, we could just alter our licensing terms to say that 3rd party modules are not covered by the GPL allowing the developer to chose their own. In order for us to change the license terms to give this freedom we would need to contact every author of the codebase going way back pre-project history, which is obviously not feasible.

This is a grey are in law, and in fact it may be okay, but as it has never been challenged in law we are in a rather unfortunate situation. This is a situation that is faced by many OSS projects. See the GPL is a good idea, it's just not appropriate for application frameworks and libraries in general.

Selling code is not the issue, closing the source is the issue and that may be required for certain applications or business models. In an ideal world we would adopt a much more free OSS style license but this is not possible with the current code base.
 
Comment by:
OIK2's Avatar
OIK2
30 Oct 2009 - 05:39AM
re: Zikula Examples?
Let me see if I have this straight.

Developer A writes zkRockinMod, and it is GPL because it is a derivative work under Zikula. He is free to sell his mod to whomever he wants, as long as he makes the code available to the buyer. Unfortunately the buyer could turn around and make a nearly identical derivative project of zkRockinMod, zkBitchinMod, and it too is GPL. Dev B decides to do the nice thing and offer his mod to everyone free of charge, thus gutting Dev A's business and taking credit for what is, for the most part, Dev A's work.

Don't take any of this as being my intention, I have always been a proponent of community driven projects and GPL anything I get my hands on, just very curious of the repercussions of a license I put my faith in.
 

Add a new Comment









 
Close

You don't have permission to e-mail this story - please login