Consideration of LGPL vs GPL License

Nov 28, 2009 at 6:48 PM
Edited Nov 28, 2009 at 6:50 PM

I'm not sure on the author's original intent of choosing the GPL license, but I wanted to see what people's thoughts were regarding a possible shift to using a LGPL (or similar) license, or else clarify what is considered acceptable use.  I apologize in advance if this has been discussed before, but I haven't found any other discussions on this topic, nor references to licensing in the source code.

The license that currently is attached to this project by codeplex is the GNU General Public License version 2 (GPLv2).  As most people here are aware, that makes it possible for anyone to modify and distribute changes to the code provided they "give back" their changes (per section 3).  This quality is also shared with the LGPL.  The difference is how code can be used in a larger project.  Specifically, section 2b of the GPL states "You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License."  In other words, if you use GPL code in your project, your project has to be GPL, too. 

As I believe most of us would like to use the control as part of a website, and the binary must be distributed with the website, then it seems the website must be under the GPL according to the technical terms of the license.  I'm not sure if that is an intended or desirable consequence.  I know that for me, it creates a situation where I worry I cannot use what appears to be a good project without release all my source code that a website references under a GPL license.  The LGPL, on the other hand, limits the "give back" and licensing requirements to modifications that impact only the library itself.

One possible drawback of using a LGPL license would be that any other product could incorporate the control as a library.  Microsoft, as only one example, could ship the control as part of Visual Studio.  People could potentially bundle the control with other controls and create a commercial product.  Individuals would also be able to publish whatever website they wanted and use the control regardless of what license the website may use.  While changes to the library's code would need to "given back", the use of the library would not be limited.  These are all possibilities that warrant consideration.

If the LGPL conflicts with the goals of the project, a possible alternative might be to create a License.txt or similar file in the source where the license is defined as GPLv2 with some documented clarification/exception similar to "a website using this control to display flash through a binary library is not considered to be a derived work, in whole or part, as interpreted under the GPLv2, section 2."   IANAL, but I think that may capture the spirit of letting websites use the control without subjecting the website itself to the GPL terms.

I certainly welcome any other thoughts or comments.