I was asked today if LGPL licensed code could be used in a commercial application. Trying to answer the question, I came to realise I couldn’t accurately answer the specifics. Is somebody able to provide a clear and simple explanation on where LGPL code can be used, and under what conditions? Every time I read the license I convince myself of another interpretation.
Flickr








Twitter
Archives
- July 2009 (2)
- June 2009 (1)
- May 2009 (1)
- April 2009 (3)
- March 2009 (1)
- February 2009 (1)
- November 2008 (1)
- October 2008 (4)
- September 2008 (2)
- August 2008 (3)
- July 2008 (1)
- June 2008 (1)
- May 2008 (4)
- April 2008 (5)
- March 2008 (2)
- February 2008 (4)
- January 2008 (3)
- November 2007 (8)
- October 2007 (8)
- September 2007 (4)
- August 2007 (2)
- July 2007 (4)
- June 2007 (5)
- May 2007 (3)
- April 2007 (9)
- March 2007 (6)
- February 2007 (7)
- January 2007 (9)
- December 2006 (10)
- November 2006 (2)
- October 2006 (6)
- September 2006 (9)
- August 2006 (7)
- July 2006 (4)
- June 2006 (12)
- May 2006 (14)
- April 2006 (5)
- March 2006 (9)
- February 2006 (9)
- January 2006 (5)
- December 2005 (3)
- November 2005 (4)
- October 2005 (2)
- September 2005 (5)
- August 2005 (3)
- July 2005 (4)
- June 2005 (9)
- May 2005 (5)
- April 2005 (4)
- March 2005 (5)
- January 2005 (1)
- December 2004 (2)
- February 2003 (1)
Meta
http://creativecommons.org/licenses/LGPL/2.1/ has a reasonably good writeup…
As for the LGPL, I believe you can — provided you publish modifications to the LGPLed code
You probably need source-lawyer and this is what I am certainly not.
AFAIK LGPL code is GPL with one except. It could be used for linking with closed-source application. I think you can`t use (reuse) source code if your code is not GPL bud you can link to it whenever you like.
http://www.jboss.com/pdf/Why_We_Use_the_LGPL.pdf
Thats a good explanation by Jboss.
As far as I know:
if proprietary software is statically linked with LGPL software -> the product is LGPLd
if proprietary software is dynamicallylinked with LGPL software -> the product is NOT LGPLd
Extended or derived software based on LGPL Code is LGPLd and the changes / extensions have to be contributed.
The LGPL was designed for libraries, so proprietary may link to libraries without being in GPLd/LDPLd.
I hope I could help
If we are just talking about using the LGPL Code (not changing it, etc), the idea is basically that the recepient must be allowed and able to change the LGPL part of the resulting software.
This is why LGPL libraries are usually dynamically linked, since linking them statically means that the software must be available in re-linkable form, e.g. object files of the non-LGPL part (probably inside a static library).
At least we (a fairly big medical company) use dynamically linked LGPL libraries in our Products. I’d go with the “you can use it in closed source applications without publishing your source as long as you don’t modify it”-explanation.
You said: “… could be used in a commercial application”
Answers seem to assume that commercial is equivalent to proprietary (and maybe you assumed so in your post, and may be the cause of your question), which is not true. This is the free as in beer vs free as in speech difference.
So let’s make my answer twofold:
- Commercial: It is explicitly stated in LGPL (and GPL) that one can charge for the software (thus not free as in beer, but still free as in speech). That’s part of freedom given by the GPL: you have the freedom to charge for it. An example of a successful business model based on this is SuperWaba.
- Proprietary: As stated before, one can link LGPL software provided one 1. provides any modification to the LGPL code back to the community, and 2. define clearly the interface (API) between closed-source and LGPL code, so that one can create drop-in replacement of either the LGPL code or the proprietary software.
I hope this has clarified this a bit.
A question asked “if LGPL licensed code could be used in a commercial application” is not at all a difficult question.
Of course it can. Even GPL code can be used in a commercial application
But it is not the question you meant to ask. You asked in a very unprecise and/or confused way. Because what you really meant was ‘closed source’ application, not ‘commercial’. These two are not the same. (There are closed source applications which are not commercial [they are given away for free], and there are commercial applications that are not closed source [and even GPL].)
So, yes, you can link to an LPGL application/library from a closed source application as long as your linking is dynamic, not static (and you respect the other rules of the LPGL license).
But if you dynamically link to the LGPL library in a closed sourced application do you have to provide the source code for the LGPL library? Also what do we mean by “provide” or “distribute” ? Is it enough to provide source code to users upon request or do you have to give to them when they download the app? I mean all of these various licenses seem to be geared totally toward programmers — virtually all of the users of the product I’m currently working on will not be programmers so it seems weird to clutter up the download with a bunch of source code that will, if anything, scare them.