Weak copyleft

GNU Lesser General Public License v2.1

The 1999 weak copyleft for libraries. Apps that use it can stay closed, and the code can be converted to GPL-2.0 or any later version.

SPDXLGPL-2.1-onlyLGPL-2.1-or-later

Permissions, conditions and limitations at a glance

Permissions

  • Commercial useThe software and derivatives may be used for commercial purposes.
  • ModificationThe software may be modified.
  • DistributionThe software may be distributed.
  • Private useThe software may be used and modified privately without publishing it.

Conditions

  • License and copyright noticeA copy of the license and the copyright notice must be included when distributing.
  • Disclose sourceSource code must be made available when distributing.
  • State changesChanges made to the original must be indicated.
  • Same license (library)Modifications to the library must use the same license, but this may not apply to programs that use it.

Limitations

  • LiabilityExpressly states that there is no liability for damages.
  • WarrantyExpressly states that no warranty is provided.

Permissions, conditions and limitations are classified using data from choosealicense.com (GitHub, MIT License).

What kind of license is it?

The FSF published LGPL-2.1 in February 1999. Its earlier name was the "GNU Library General Public License" (2.0); in 2.1 it became "Lesser". Unlike LGPL-3.0, it is a complete standalone document. The GNU C Library (glibc) uses LGPL-2.1-or-later, and FFmpeg's default configuration is LGPL-2.1-or-later (some optional components are GPL).

Programs that use this library (Sections 5 and 6)

A program designed to work by being linked with the library (a "work that uses the Library") may be treated as not being a derivative of the library, and the combined executable can be distributed on terms of your choice as long as you meet the conditions of Section 6.

The clause for converting to the GPL (Section 3)

LGPL-2.1 allows you to apply the terms of GPL version 2 (or, if you wish, any later version) to a copy of the library instead of the LGPL. That is why LGPL-2.1 code can go into both GPL-2.0 and GPL-3.0 projects. Once a copy has been changed to the GPL, it cannot be changed back to the LGPL.

Common misconceptions

How to apply it

Keep the text unchanged in COPYING.LIB or LICENSE and attach the official notice to each file. The SPDX identifier is LGPL-2.1-only or LGPL-2.1-or-later.

When it fits

It suits existing C libraries that must also be compatible with the GPL-2.0 ecosystem and derivatives of projects already released under LGPL-2.1. For a new library, people often first consider LGPL-3.0, which has a patent grant, or MPL-2.0.

Can LGPL-2.1 code go into another project?

General verdicts for taking code released under this license and distributing it combined into a project under each license below. See other combinations in the compatibility checker →

Target projectVerdictNotes
Proprietary (closed-source) software Allowed with conditionsLinking to it as a library is allowed, but users must be able to replace and relink the LGPL part, and you must provide its source. If you copy and mix the code, the entire combined work must follow (L)GPL terms.
MIT Allowed with conditionsLinking to it as a library is allowed, but users must be able to replace and relink the LGPL part, and you must provide its source. If you copy and mix the code, the entire combined work must follow (L)GPL terms.
Apache-2.0 Allowed with conditionsLinking to it as a library is allowed, but users must be able to replace and relink the LGPL part, and you must provide its source. If you copy and mix the code, the entire combined work must follow (L)GPL terms.
MPL-2.0 Allowed with conditionsLinking to it as a library is allowed, but users must be able to replace and relink the LGPL part, and you must provide its source. If you copy and mix the code, the entire combined work must follow (L)GPL terms.
LGPL-3.0 Allowed with conditionsLGPL-2.1 allows the code to be converted to and distributed under any GPL version from GPL-2.0 onward (Section 3).
GPL-2.0 Allowed with conditionsLGPL-2.1 allows the code to be converted to and distributed under any GPL version from GPL-2.0 onward (Section 3).
GPL-3.0 Allowed with conditionsLGPL-2.1 allows the code to be converted to and distributed under any GPL version from GPL-2.0 onward (Section 3).
AGPL-3.0 Allowed with conditionsLGPL-2.1 allows the code to be converted to and distributed under any GPL version from GPL-2.0 onward (Section 3). GPL-3.0 and AGPL-3.0 each permit combination in their Section 13. In the combined work, the AGPL part's obligation to provide source over a network remains.

The content on this site is general information, not legal advice. For actual distribution, contracts or disputes, consult a lawyer or other qualified professional.