Markdown

LGPL

LGPL is the Acronym for Lesser General Public License

Published by the Free Software Foundation in February 1999 as part of the GNU’s Not Unix (GNU) Project, this is the first Lesser GPL and the successor of the GNU Library General Public License, version 2, which is why the version number is 2.1. It is a weak-copyleft copyright license for libraries: you may copy, modify, charge for, and distribute the library, but a modified library must stay under these terms, while a separate application that only links to it may keep a proprietary license if recipients can replace the library with a modified version.

The ordinary General Public License (GPL) treats a linked combination as a derivative that must itself be GPL. This license permits more lax criteria for that combination so a proprietary program can ship against a free library. The FSF named it Lesser because it does less to protect the user’s freedom than the ordinary GPL.

The Linking Exception

A program that contains no derivative of the library, but is designed to be compiled or linked with it, is a work that uses the Library. You may distribute that combination under terms of your choice, including a proprietary EULA, if those terms still let the customer modify the library for their own use and reverse engineer it for debugging. Section 6 also requires prominent notice, a copy of this license, and one of the following:

  • Shared library: Link with a suitable shared-library mechanism that uses, at run time, a copy of the library already on the user’s system rather than copying library functions into the executable, and that will operate with a modified, interface-compatible library the user installs.
  • Object files for relinking: Accompany the work with complete machine-readable source for the library, including your changes, and, if you ship a linked executable, the complete object code and/or source of the application so the user can modify the library and relink.
  • Offer or equivalent access: A written offer valid for at least three years, equivalent access from the same place you offer the binary, or confirmation that the user already received those materials.

Dynamic linking often uses the shared-library path. Static linking typically needs object files so the user can relink. A work based on the Library (code copied or modified from it) is different: that work, as a whole, stays under this license. Section 3 lets you convert a given copy to the ordinary GPL, version 2 or later, and that conversion is irreversible for that copy.

When the FSF Recommends It

The Foundation still treats this as a special-case library license, not the default. Its own recommendations split libraries into two practical buckets:

  • Lesser GPL: The free library faces entrenched nonfree or lax-licensed competition, so a strong GPL would block adoption rather than grow free software.
  • Ordinary GPL: The library provides a unique capability. Limiting it to free programs gives free-software developers a building block proprietary vendors cannot use.

The preamble’s example is the GNU C Library. The FSF wrote, “This is why we used the Lesser GPL for the GNU C library.” GNU’s glibc page still offers the library under the Lesser GPL, version 2 or later, so proprietary programs can use the C library without placing the whole operating system under copyleft.

Compared with GPL and MPL

Version 2.1 is the weak-copyleft counterpart of GNU General Public License version 2.0 (GPL). GNU Lesser General Public License version 3.0 (LGPL) is not a standalone restatement. It adds permissions to GNU General Public License version 3.0 (GPL), so it inherits that version’s patent license, anti-circumvention terms, and, for some combined works, Installation Information. Mozilla Public License 2.0 (MPL) copylefts at file scope and names LGPL-2.1 as a Secondary License.

LicenseCopyleftProprietary combinationExtra terms
LGPL-2.1Weak: library derivatives stay under this licensePermitted if section 6 is met (shared library or relinkable objects)February 1999; section 3 upgrade to GPL; no express patent license
GPLStrong: the linked combination must be GPLNot permitted unless the whole program is GPL1991 text; no express patent license
LGPLWeak: additional permissions on GPL-3.0Combined Work under terms of your choice, with notice plus relink or shared library29 June 2007; patent license; Installation Information when GPL-3.0 would require it
MPLFile-level: modified MPL files stay MPLLarger Work may be proprietary; covered files remain MPL2012; express patent grant; LGPL-2.1 is a Secondary License

SPDX publishes LGPL-2.1-only for notices that lock this text, and LGPL-2.1-or-later when the notice allows subsequent FSF versions. The FSF sample header still says version 2.1 or later. Running a program that uses the library is unrestricted, and there is no Affero-style network clause, so a SaaS operator that never distributes the library is not forced to publish source the way GNU Affero General Public License version 3.0 (AGPL) would.

Articles Tagged LGPL

View Additional Articles Tagged LGPL