From WikiVS, the open comparison website
Jump to: navigation, search

GPL and LGPL (GNU General Public License and GNU Lesser General Public License, the latter also known as the GNU Library General Public License) are licenses meant to be used in Open Source Software. Both are created by the GNU Project.

The GPL and LGPL prohibit covered software and all derivative work from having its source code hidden from the public. The GPL takes the strong stance, saying that all software that uses the GPL software must itself be released under the terms of the GPL. This is known as a "reciprocal", "share-alike", or "viral" license, and legally prohibits closed source software developers from using GPLed code. In contrast, LGPL provides an exception to the usage and distribution of the software, allowing for non-free products to include the LGPLed software. In the GNU Project's own words: "using the Lesser GPL permits use of the library in proprietary programs; using the ordinary GPL for a library makes it available only for free programs." [1]

A side-effect of the strong copyleft terms of the GPL is that even many free and open source software projects are prohibited from using GPLed libraries. In some cases, this is because the GPL would override the terms of the other license, which would require relicensing the entire project -- a choice that would be unpalatable to many projects. In other cases, the project may use a similarly copyleft license, such as the CDDL; in these cases, it is in fact illegal to combine those projects with GPLed code and distribute the result, because each license requires that all linked code must also be released under its own terms, thus attempting to override the other license. As a result, strong copyleft licenses are by default mutually incompatible, because each by law requires itself to be the primary license for the project in which code it covers is to be used. For such cases, a library distributed under the terms of a more permissive license -- preferably a copyfree license in most cases, though also possibly including a weakly copyleft license such as the LGPL -- is required if a library using the same license as the main project cannot be found.