Skip to main content

GNU Library or "Lesser" General Public License (LGPL)

LGPL


Introduction

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 software components released under the LGPL into their (even proprietary) software without being required by strong copyleft license terms to release the source code of their components. .

A popular example of software that uses GPL is FreeCAD, meaning source of the library cannot be modified, without also releasing those modifications under the LGPL.

It grants open-source permissions for users including:

  • convey modified source versions of the LGPL-3.0 licensed work.
  • convey non-source forms of the LGPL-3.0 licensed work.

The GNU General Public License is available in these formats:

  • HTML
  • plain text
  • ODF
  • Docbook
  • Texinfo
  • LaTeX
  • Markdown
  • RTF

These documents are not formatted for standalone publishing, and are intended to be included in another document.


History

The license became at the beginning referred to as the GNU Library General Public License and became first posted in 1991, and followed the model wide variety 2 for parity with GPL model 2. The LGPL became revised in minor methods withinside the 2.1 factor release, posted in 1999, whilst it became renamed the GNU Lesser General Public License to mirror the FSF's role that now no longer all libraries must use it. Version three of the LGPL became posted in 2007 as a listing of extra permissions implemented to GPL model three.

In addition to the term "paintings primarily based totally at the Program" of GPL, LGPL model 2 delivered extra explanation terms "paintings primarily based totally at the library" and a "paintings that makes use of the library".[1] LGPL model three partly dropped those terms.


What is the difference between GPL and LGPL ?

The primary distinction among the GPL and the LGPL is that the latter lets in the paintings to be related with (withinside the case of a library, "used through") a non-(L)GPLed application, no matter whether or not it's far certified beneathneath a license of GPL own circle of relatives or different licenses. In LGPL 2.1, the non-(L)GPLed application can then be allotted beneathneath any phrases if it isn't always a by-product paintings. If it's far a by-product paintings, then the application's phrases need to permit for "amendment of the paintings for the customer's personal use and opposite engineering for debugging such modifications." Whether a piece that makes use of an LGPL application is a by-product paintings or now no longer is a criminal issue. A standalone executable that dynamically hyperlinks to a library via a .so, .dll, or comparable medium is typically ordinary as now no longer being a by-product paintings as described through the LGPL. It could fall beneathneath the definition of a "paintings that makes use of the Library". Paragraph five of the LGPL model 2.1 states:

A application that carries no by-product of any part of the Library, however is designed to paintings with the Library through being compiled or related with it, is referred to as a "paintings that makes use of the Library". Such a piece, in isolation, isn't always a by-product paintings of the Library, and consequently falls out of doors the scope of this License. Essentially, if it's far a "paintings that makes use of the library", then it need to be viable for the software program to be related with a more recent model of the LGPL-protected application. The maximum generally used approach for doing so is to use "a appropriate shared library mechanism for linking". Alternatively, a statically related library is authorized if both supply code or linkable item documents are provided.


Which rights do I have under the LGPL-3.0?

The LGPL provides a very broad grant rights as every free software license due or a every open-source license that means you can copy open-source license that means you can copy distribute and modify the software for any purpose you can it in embedded systems and for general applications.

The license embodies the Free Software Foundation's "copyleft" rule, which means that anyone is allowed to make changes or extend the source code and redistribute it as long as the changes are clearly marked, and the modified work is also licensed under the GNU General Public License.


3. And what are my license obligations?

  1. What about the "Copyleft" of the LGPL-3.0?

Though how works the copyleft of the LGPL a so called weak copyleft and it's quite easy because a license distinguishes the application that means the work that uses the library and library itself though any modification within the library so adding new files or modifying existing files means that you have to license these modifications on the LGPL your application might be under different license conditions proprietary or free software license coditions.

  1. What is the impact on tivoization / DRM?

The LGPL contains a protection against so called tivoizationso what is tivoization? Tivoization is a technical protecction that prevents users from reinstalling modified versions of a software on a certain device the FSF wants to avoid tivoization to protect the freedom of the developer to modify the library and reinstall modified libraries so this is particularly true in the case that you have for example a igital signature that is required to reinstall a new software and the LGPL has specific clause that says well if you use such a protection to get a rights protection system , then you have to provide the so called-installation information that means you have to provide the user with the necessary information to enable him to reinstall the software of the device so this is restricted to consumer products and in the world of b2b products or products used for governmental use this obligation to provide installation information does not exist. So what is a consumer product? Consumer product is basically a product which is used in household for private use for example private cars and all possible devices in the household

  1. Which information do I have to provide to my customer?

As any free softwae license that the LGPL contains licensed obligations that you have to fulfill that means information to be provided for your customer this is providing the license text of the GPL and the LGPL together, you have to provide a disclaimer warranty and ofcourse the complete corresponding source code of the library furthermore you have to indicate that LGPL library used in your product and if you display license information you have at the information that LGPL library or libraries are used in this product. Furthermore you have to provide the copyright notices of LGPL software.

  1. Anything else?

Mostly it is necessary that you use code from header files in your application so code from the library in your header files to have definations. So how to deal with that, the LGPL says well as you have less than ten lines of code or just defination so there is an exception no problem for that you can do that if have iline code that contains more than ten lines of code then you would have to license your application then you would have to license you application under the LGPL because then you use really amount of code that makes it a derivative work and the exception does not apply.

What else is important? The LGPM has the intention that the customer should be able to relink a new version of the library with the appication though How to do that? The license provides a very clear and detailed information on how to do that and is's depending from the question if in your product you have a static linking or dynamic linking.


Static & Dynamic linking.

If the library is dynamically linked it's enough to have shared library mechanism that works with this new version of the library as long as it has the same interface ofcourse if you modify the library completely then it might not work but if you use the same interface this shared library mechanism should work if you use it in a way that is static linking then you have to provide binary file of your application or at the source code if you want to do so, so that the customer can use this binary file, the new library and relink it to one executable so you find more detailed information in the license but that the basic idea to main goal to allow people to modify the library.


4. How does the LGPL-3.0 differ from the LGPL-2.1?

Both licenses are similar in spirit. The LGPL train is based on the GPL three so most of the text is identical but it's more some exception are added and if look into the LGPL version 2.1 or what is different is firstly the FSF skipped the obligation to allow the modification of the work that uses a library that means the application it seemed that there was no practical use of this right to developers furthermore and we have new wording about patterns and DRM for example the installation information that's interesting because in the LGPL version 2.1 we have no explicit wording on that. It does not mean that you have not to provide installation information so from the spirit of the license in my opinion and that means you should enable the customer to relink the software and use that new combination of application and library implicitly means that you have to enable customer to reinstall it. And that means you need to have to provide installation guide and in the case that you use digital signature or something else what that is my personal interpretation of LGPL.

License URLs :

When linking to our licenses, it is typically first-rate to hyperlink to the brand new model; for this reason the same old URLs such as https://www.gnu.org/licenses/licenses.en.html don't have any model number.

If you may want to link to a specific version of a given license. The following are the links to the specific versions.