World Library  
Flag as Inappropriate
Email this Article


Article Id: WHEBN0000067312
Reproduction Date:

Title: Lgpl  
Author: World Heritage Encyclopedia
Language: English
Subject: H.263, KDE, Calligra Words, LAME, Mercury (programming language), Qt (software), Real Time Streaming Protocol, Sather, OCaml, Java Message Service
Publisher: World Heritage Encyclopedia


GNU Lesser General Public License
The GNU LGPLv3 logo
Author Richard Stallman
Latest version 3
Publisher Free Software Foundation
Published June 29, 2007
DFSG compatible Yes
FSF approved Yes
OSI approved Yes
GPL compatible Yes
Copyleft Yes
Linking from code with a different license Yes

The GNU Lesser General Public License or LGPL (formerly the GNU Library General Public License) is a free software license published by the Free Software Foundation (FSF). The LGPL allows developers and companies to use and integrate LGPL software into their own (even proprietary) software without being required (by the terms of a strong copyleft) to release the source code of their own software-parts. Merely the LGPL software-parts need to be modifiable by end-users (via source code availability): therefore, in the case of proprietary software, the LGPL-parts are usually used in the form of a shared library (e.g. DLL), so that there is a clear separation between the proprietary parts and open source LGPL parts.

The LGPL was thus developed as a compromise between the strong copyleft of the GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License. The word "Lesser" in the title of the license is used, to show that the LGPL cannot guarantee end users complete freedom in the use of software. It only guarantees the freedom of modification for the LGPL-parts, but not for any proprietary software-parts.

The GNU Library General Public License (as the LGPL was originally named) 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.

The LGPL is primarily used for software libraries, although it is also used by some stand-alone applications.

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.[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 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". The following is an excerpt of paragraph 5 of the LGPL version 2.1:

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.[2]

One feature of the LGPL is that one can convert any LGPLed piece of software into a GPLed piece of software (section 3 of the license). This feature allows for direct reuse of LGPLed code in GPLed libraries and applications.

Choosing to license a library under the GPL or the LGPL

The former name of "GNU Library General Public License" gave some people the impression that the FSF endorsed that libraries use the LGPL and that programs use the GPL. In February 1999, GNU Project leader Richard Stallman wrote the essay Why you shouldn't use the Lesser GPL for your next library explaining that the LGPL has not been deprecated, but that one should not necessarily use the LGPL for all libraries:

Which license is best for a given library is a matter of strategy... Using the ordinary GPL for a library gives free software developers an advantage over proprietary developers: a library that they can use, while proprietary developers cannot use it... When a free library's features are readily available for proprietary software through other alternative libraries... the library cannot give free software any particular advantage, so it is better to use the Lesser GPL for that library.[1]

Indeed, 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.[3]

Programming languages specificity

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.[4]

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.

LGPL regarding class inheritance

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

The LGPL contains no 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.[5]

The heavy restrictions[2] of this permit can hinder development or make a usage of LGPL parts in certain systems impossible.

See also

Free software portal


External links

  • 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)
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from World eBook Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.