The LGPL was developed as a compromise between the strong copyleft of the GNU General Public License (GPL) and more permissive licenses such as the BSD licenses and the MIT License . The word "Lesser" in the title shows that the LGPL does not guarantee the end user's complete freedom in the use of software; it only guarantees the freedom of modification for components licensed under the LGPL, but not for any proprietary components.
* 1 History * 2 Differences from the GPL * 3 Compatibility * 4 LGPL for libraries
* 5 Programming language specifications
* 5.1 Class inheritance
* 6 See also * 7 References * 8 External links
The license was originally called the
DIFFERENCES FROM THE GPL
The main difference between the GPL and the LGPL is that the latter allows the work to be linked with (in the case of a library, "used by") a non-(L)GPLed program, regardless of whether it is free software or proprietary software . The non-(L)GPLed program can then be distributed under any terms if it is not a derivative work . If it is a derivative work, then the program's terms must allow for "modification for the customer's own use and reverse engineering for debugging such modifications." Whether a work that uses an LGPL program is a derivative work or not is a legal issue. A standalone executable that dynamically links to a library through a .so , .dll , or similar medium is generally accepted as not being a derivative work as defined by the LGPL. It would fall under the definition of a "work that uses the Library". Paragraph 5 of the LGPL version 2.1 states: A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
Essentially, if it is a "work that uses the library", then it must be possible for the software to be linked with a newer version of the LGPL-covered program. The most commonly used method for doing so is to use "a suitable shared library mechanism for linking". Alternatively, a statically linked library is allowed if either source code or linkable object files are provided.
One feature of the LGPL is the permission to relicense under the GPL any piece of software which is received under the LGPL (see section 3 of the LGPL version 2.1, and section 2 option b of the LGPL version 3). This feature allows for direct reuse of LGPLed code in GPLed libraries and applications.
Version 3 of the LGPL is not inherently compatible with version 2 of the GPL. However, works using the latter that have given permission to use a later version of the GPL are compatible: a work released under the GPLv2 "or any later version" may be combined with code from a LGPL version 3 library, with the combined work as a whole falling under the terms of the GPLv3.
LGPL FOR LIBRARIES
The former name "
Stallman and the FSF sometimes advocate licenses even less restrictive than the LGPL as a matter of strategy. A prominent example was Stallman's endorsement of the use of a BSD-style license by the Vorbis project for use in its libraries.
PROGRAMMING LANGUAGE SPECIFICATIONS
The license uses terminology which is mainly intended for applications written in the C programming language or its family. Franz Inc. published its own preamble to the license to clarify terminology in the Lisp context. LGPL with this preamble is sometimes referred as LLGPL.
In addition, Ada has a special feature, generics, which may prompt the use of GNAT Modified General Public License : it allows code to link against or instantiate GMGPL-covered units without the code itself becoming covered by the GPL.
Some concern has risen about the suitability of object-oriented
classes in LGPL'd being inherited by non-(L)GPL code. Clarification is
given on the official
* Free software portal
* ^ _A_ _B_ Stallman, Richard. Why you shouldn\'t use the Lesser
GPL for your next library.
Free Software Foundation official website.
* ^ Gnu Lesser General Public License, Section 4, pt. d) 0)