fbpx
Wikipedia

GNU Lesser General Public License

The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own (even proprietary) software without being required by the terms of a strong copyleft license to release the source code of their own components. However, any developer who modifies an LGPL-covered component is required to make their modified version available under the same LGPL license. For proprietary software, code under the LGPL is usually used in the form of a shared library, so that there is a clear separation between the proprietary and LGPL components. The LGPL is primarily used for software libraries, although it is also used by some stand-alone applications.

GNU Lesser General Public License
Logo
Published1991; 32 years ago (1991)
SPDX identifierLGPL-3.0-or-later
LGPL-3.0-only
LGPL-2.1-or-later
LGPL-2.1-only
LGPL-2.0-or-later
LGPL-2.0-only
Debian FSG compatibleYes[1]
FSF approvedYes[2]
OSI approvedYes[3]
GPL compatibleYes[2]
CopyleftYes[2] (library or dynamic linking-based)
Linking from code with a different licenceYes
Websitewww.gnu.org/copyleft/lesser.html

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.

History Edit

The license was originally called the GNU Library General Public License and was first published in 1991, and adopted the version number 2 for parity with GPL version 2. The LGPL was revised in minor ways in the 2.1 point release, published in 1999, when it was renamed the GNU Lesser General Public License to reflect the FSF's position that not all libraries should use it. Version 3 of the LGPL was published in 2007 as a list of additional permissions applied to GPL version 3.

In addition to the term "work based on the Program" of GPL, LGPL version 2 introduced two additional clarification terms "work based on the library" and a "work that uses the library".[4] LGPL version 3 partially dropped these terms.

Differences from the GPL Edit

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 licensed under a license of GPL family or other licenses.[5] In LGPL 2.1, 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 of the work 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.[6]

Compatibility Edit

One feature of the LGPL is the permission to sublicense[7] 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:[8] 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.[9]

FSF recommendations on library licensing Edit

The former name GNU Library General Public License gave some the impression that the FSF recommended that all software libraries should use the LGPL and programs should use the GPL. In 1999 essay Why you shouldn't use the Lesser GPL for your next library Richard Stallman explained that while the LGPL had not been deprecated, one should not necessarily use the LGPL for all libraries, as using GPL can give advantage to free-software developers.[5]

On the other hand, the FSF sometimes advocate for even less restrictive licenses. For example, Stallman endorsed the use of BSD-style license by the Vorbis project in its libraries in 2001.[10]

Programming language specifications Edit

The license uses terminology which is mainly intended for applications written in the C programming language or its family. Franz Inc., the developers of Allegro Common Lisp, published their own preamble to the license to clarify terminology in the Lisp context. The LGPL with this preamble is sometimes referred to as the LLGPL.[11]

In addition, Ada has a special feature, generics, which may prompt the use of the GNAT Modified General Public License (GMGPL): it allows code to link against or instantiate GMGPL-covered units without the code itself becoming covered by the GPL.

C++ templates and header-only libraries have the same problem as Ada generics. Version 3 of the LGPL addresses such cases in section 3.[12]

Class inheritance Edit

Some concern has risen about the suitability of object-oriented classes in LGPL-licensed code being inherited by non-(L)GPL code. Clarification is given on the official GNU website:

The LGPL does not contain special provisions for inheritance, because none are needed. Inheritance creates derivative works in the same way as traditional linking, and the LGPL permits this type of derivative work in the same way as it permits ordinary function calls.[13]

See also Edit

References Edit

  1. ^ License information Debian
  2. ^ a b c "Various Licenses and Comments about Them". Free Software Foundation. 26 June 2018. Retrieved 2 August 2018.
  3. ^ Licenses & Standards Open Source Initiative
  4. ^ "Chapter 10. The Lesser GPL". Copyleft and the GNU General Public License: A Comprehensive Tutorial and Guide. 2018.
  5. ^ a b Stallman, Richard. Why you shouldn't use the Lesser GPL for your next library. Free Software Foundation official website.
  6. ^ Gnu Lesser General Public License, Section 4, pt. d) 0)
  7. ^ "sublicense". Wiktionary. 7 December 2020.
  8. ^ GNU Lesser General Public License (LGPL) version 3. Free Software Foundation official website.
  9. ^ Frequently Asked Questions about the GNU Licenses - GNU Project - Free Software Foundation. Free Software Foundation official website.
  10. ^ Stallman, Richard. Re: [open-source] [Fwd: [icecast-dev] Xiph.org announces Vorbis Beta 4 and the Xiph.org
  11. ^ Preamble to the Gnu Lesser General Public License
  12. ^ LGPLv3 for a C++ Pure Template Library ?
  13. ^ Turner, David. The LGPL and Java. GNU official website.

External links Edit

  • LGPL Official Page
  • Derivative Works
  • Lisping Copyleft: A Close Reading of the Lisp LGPL, 5 International Free and Open Source Software Law Review 15 (2013)

lesser, general, public, license, lgpl, free, software, license, published, free, software, foundation, license, allows, developers, companies, integrate, software, component, released, under, lgpl, into, their, even, proprietary, software, without, being, req. The GNU Lesser General Public License LGPL is a free software license published by the Free Software Foundation FSF The license allows developers and companies to use and integrate a software component released under the LGPL into their own even proprietary software without being required by the terms of a strong copyleft license to release the source code of their own components However any developer who modifies an LGPL covered component is required to make their modified version available under the same LGPL license For proprietary software code under the LGPL is usually used in the form of a shared library so that there is a clear separation between the proprietary and LGPL components The LGPL is primarily used for software libraries although it is also used by some stand alone applications GNU Lesser General Public LicenseLogoPublished1991 32 years ago 1991 SPDX identifierLGPL 3 0 or laterLGPL 3 0 onlyLGPL 2 1 or laterLGPL 2 1 onlyLGPL 2 0 or laterLGPL 2 0 onlyDebian FSG compatibleYes 1 FSF approvedYes 2 OSI approvedYes 3 GPL compatibleYes 2 CopyleftYes 2 library or dynamic linking based Linking from code with a different licenceYesWebsitewww wbr gnu wbr org wbr copyleft wbr lesser wbr htmlThe 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 Contents 1 History 2 Differences from the GPL 3 Compatibility 4 FSF recommendations on library licensing 5 Programming language specifications 5 1 Class inheritance 6 See also 7 References 8 External linksHistory EditThe license was originally called the GNU Library General Public License and was first published in 1991 and adopted the version number 2 for parity with GPL version 2 The LGPL was revised in minor ways in the 2 1 point release published in 1999 when it was renamed the GNU Lesser General Public License to reflect the FSF s position that not all libraries should use it Version 3 of the LGPL was published in 2007 as a list of additional permissions applied to GPL version 3 In addition to the term work based on the Program of GPL LGPL version 2 introduced two additional clarification terms work based on the library and a work that uses the library 4 LGPL version 3 partially dropped these terms Differences from the GPL EditThe 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 licensed under a license of GPL family or other licenses 5 In LGPL 2 1 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 of the work 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 6 Compatibility EditOne feature of the LGPL is the permission to sublicense 7 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 8 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 9 FSF recommendations on library licensing EditThe former name GNU Library General Public License gave some the impression that the FSF recommended that all software libraries should use the LGPL and programs should use the GPL In 1999 essay Why you shouldn t use the Lesser GPL for your next library Richard Stallman explained that while the LGPL had not been deprecated one should not necessarily use the LGPL for all libraries as using GPL can give advantage to free software developers 5 On the other hand the FSF sometimes advocate for even less restrictive licenses For example Stallman endorsed the use of BSD style license by the Vorbis project in its libraries in 2001 10 Programming language specifications EditThe license uses terminology which is mainly intended for applications written in the C programming language or its family Franz Inc the developers of Allegro Common Lisp published their own preamble to the license to clarify terminology in the Lisp context The LGPL with this preamble is sometimes referred to as the LLGPL 11 In addition Ada has a special feature generics which may prompt the use of the GNAT Modified General Public License GMGPL it allows code to link against or instantiate GMGPL covered units without the code itself becoming covered by the GPL C templates and header only libraries have the same problem as Ada generics Version 3 of the LGPL addresses such cases in section 3 12 Class inheritance Edit Some concern has risen about the suitability of object oriented classes in LGPL licensed code being inherited by non L GPL code Clarification is given on the official GNU website The LGPL does not contain special provisions for inheritance because none are needed Inheritance creates derivative works in the same way as traditional linking and the LGPL permits this type of derivative work in the same way as it permits ordinary function calls 13 See also Edit nbsp Free and open source software portalAffero General Public License GNU Free Documentation License GNAT Modified General Public License GPL linking exception Software using the LGPL category References Edit License information Debian a b c Various Licenses and Comments about Them Free Software Foundation 26 June 2018 Retrieved 2 August 2018 Licenses amp Standards Open Source Initiative Chapter 10 The Lesser GPL Copyleft and the GNU General Public License A Comprehensive Tutorial and Guide 2018 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 sublicense Wiktionary 7 December 2020 GNU Lesser General Public License LGPL version 3 Free Software Foundation official website Frequently Asked Questions about the GNU Licenses GNU Project Free Software Foundation Free Software Foundation official website Stallman Richard Re open source Fwd icecast dev Xiph org announces Vorbis Beta 4 and the Xiph org Preamble to the Gnu Lesser General Public License LGPLv3 for a C Pure Template Library Turner David The LGPL and Java GNU official website External links EditLGPL Official Page Derivative Works Lisping Copyleft A Close Reading of the Lisp LGPL 5 International Free and Open Source Software Law Review 15 2013 Retrieved from https en wikipedia org w index php title GNU Lesser General Public License amp oldid 1176930754, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.