GPL, LGPL notes

Some notes on the GPL vs LGPL licensing. For a detailed look at the individual licenses, visit the GNU website.

When a GPL licensed library is used along with a program that is under a proprietary or non-GPL license, the combined entity (program plus library) would be considered as a derivative work. If this combined entity is distributed under a non-GPL or proprietary license, it would be a violation of the GPL. Essentially, when a program is linked with a library (under GPL) either statically or otherwise, the combination is expected to follow the terms of the GPL.

The LGPL is more permissive with regard to linking code with the library and is normally used to permit linking libraries licensed under the LGPL with proprietary and non-free programs. Per GNU, “using the LGPL permits use of library in proprietary programs; using the ordinary GPL for a library makes it available only for free programs”

With the LGPL, there is the distinction between a derivative product that is based on the library vs work that links to the library or the library being used by a program. In the former case of being a derivative work, the similar set of rules as imposed by the GPL would apply. Moving across licenses (LGPL to GPL) is allowed. For example, a library licensed under LGPL may have its licensing changed to GPL.  The reverse is however not permitted.

Generally, you would want to go with the LGPL when you wish to promote and enable wide adoption of your library. For this to happen, you would want to permit non-free and proprietary programs to also use it besides the free programs. Also, when you wish to provide your library as a viable alternative to an existing commercially licensed component which would be the case when your free library is a reasonable substitute for available commercial components.  

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

John Morrison

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today