LGPL-2.1-only is library copyleft pinned to version 2.1. Users must be able to replace the library. There is no upgrade to LGPL-3.0.
On this page
What it does
GNU LGPL v2.1 only is the library-scoped copyleft without an 'or later' token. A program may use the library without becoming GPL, if recipients can swap in their own build. Section 6 is where that replaceability is written down. Static linking makes it expensive. SPDX used to list this as LGPL-2.1. The only form cannot be read as LGPL-3.0, so GPLv3 patent terms and Installation Information do not arrive through this grant. You will still meet 2.1-only headers on older native libraries even when glibc itself is or-later.
Details
A hosted service that never hands out a binary carries no source duty. Ship a desktop app, a mobile app, firmware, or an SDK, and two duties wake up: the library's source, and a relink path. Because this grant is pinned to 2.1, a recipient cannot elect LGPL-3.0 to pick up User Product Installation Information. Treat a package that declares only while shipping or-later text as a mismatch.
Pros
- You can link the library from closed code in the way section 6 describes.
- File-level reciprocity is easier to isolate than GPL-style whole-work copyleft.
Cons
- Vendoring or statically linking can pull more of your tree into the covered set than a dynamic link would.
- The source-offer duty is real the moment you distribute binaries that include the library.
What it allows and requires
Choose a category to see the full grant in one scannable list. Permissions show what the license allows, limits show what it withholds, and obligations show the conditions your release process must satisfy.
Permissions
Commercial use
You may ship the code inside a paid product. The license does not restrict commercial use.
Modify
You may change the code, including keeping those changes private, unless a later obligation says otherwise.
Distribute
You may give copies to others. Distribution is what usually turns notice and source duties into real work.
Private use
Use inside your company, including internal forks, does not by itself trigger distribution duties.
Patent use
These licenses typically include a patent grant covering the licensed files. Read the grant before relying on it in a high-stakes deal.
Limits
Hold liable
The authors disclaim warranty. Recipients cannot hold them liable for damages arising from the software, except where law forbids that disclaimer.
Use trademark
The license is not a trademark license. Names, logos and product marks stay with their owners unless a separate grant says otherwise.
Open your product
File- or library-scoped copyleft does not, on its face, force you to open your entire application. Reciprocity stays on the covered files.
Move to LGPL-3.0
LGPL-2.1-only pins version 2.1. Recipients cannot elect LGPL-3.0, so GPLv3 patent and Installation Information terms do not arrive through this grant.
Obligations
Include copyright
Keep copyright notices on the covered files you distribute.
Include license
Keep the license text with the covered files, and say that those files are under this license.
Disclose source
Source for the library, including your modifications to it, has to be available to people who received a binary.
Keep replaceable
Recipients must be able to swap in their own build of the library. Dynamic linking is the usual path. Static linking means you also hand over a way to relink.
What LGPL-2.1-only requires when you ship
When you distribute a binary that includes LGPL-2.1-only code, notice still travels with the copy, and the corresponding source has to be available under the same license. Internal use without a copy leaving the company is a different situation. The list below is the shipping work: what a recipient of that binary can demand, and what you record so a buyer can see it.
You are meeting LGPL-2.1 section 6 when the library loads at run time as a separate file, so the user can replace that file with their own 2.1-licensed build.
You are meeting it with static linking only when you also hand over object files, or another mechanism that lets the user relink against a modified 2.1 library.
You have covered the source duty when every recipient of your binary can get the library's complete source under LGPL-2.1-only. A URL or a written offer that ships with the download both work.
You stay on version 2.1 when headers, SPDX, and the shipped text all say only, so nobody treats this as a path to LGPL-3.0.
You are on the right side of section 6 when your end user terms do not forbid the reverse engineering needed to debug a modified version of the library.
The duties named in LGPL-2.1-only
Notice still travels with the copy. On top of that, LGPL-2.1-only names a source duty. These are the conditions in the text. The how-to above is when they become real work.
Include copyright
Keep copyright notices on the covered files you distribute.
Include license
Keep the license text with the covered files, and say that those files are under this license.
Disclose source
Source for the library, including your modifications to it, has to be available to people who received a binary.
Keep replaceable
Recipients must be able to swap in their own build of the library. Dynamic linking is the usual path. Static linking means you also hand over a way to relink.
Things to be aware of
- Recording glibc as LGPL-2.1-only because SPDX used to say LGPL-2.1. Read the header. Many GNU libraries are or-later.
- Expecting Installation Information because you shipped the library in a TV box. That duty comes from GPLv3 via LGPL-3.0, not from 2.1-only.
- Teams static-link the library into a mobile app and ship nothing else. Switch to a dynamic framework, or publish the object files that let a user relink.
What the GNU LGPL v2.1 only does not do
Search results often flatten GNU LGPL v2.1 only into a slogan. These are the usual misreads. LGPL-2.1-only is a grant with conditions, not a permission to skip the paperwork below.
- LGPL-2.1-only does not force you to open your whole application. The reciprocal duty stays on the library, under version 2.1.
- It does not include an 'or later' token. Recipients cannot elect LGPL-3.0, and Installation Information from GPLv3 does not ride along.
How LGPL-2.1-only differs from nearby licenses
These licenses are often confused with LGPL-2.1-only, but their release duties differ. Each row summarizes what the license requires when you ship. Open the linked page for the full checklist.
- LGPL-2.1-only
- LGPL-2.1-only is library copyleft pinned to version 2.1. Users must be able to replace the library. There is no upgrade to LGPL-3.0.
- LGPL-2.1-or-later
- Weak copyleft for libraries. Your own code can stay closed as long as users can swap in their own build of the library. Static linking makes relinking costly.
- LGPL-3.0-only
- LGPL-3.0-only is library copyleft pinned to version 3. Same replaceability rule, with GPLv3 patent and User Product terms, and no later LGPL.
- GPL-2.0-only
- GPL-2.0-only is strong copyleft pinned to version 2. Recipients cannot move the work to GPLv3, so Apache-2.0 does not combine with it.
Common questions about GNU LGPL v2.1 only
Answers to common questions about what GNU LGPL v2.1 only requires, when its duties apply, and what evidence belongs with a release.
What is the GNU LGPL v2.1 only?
GNU LGPL v2.1 only is the library-scoped copyleft without an 'or later' token. A program may use the library without becoming GPL, if recipients can swap in their own build. Section 6 is where that replaceability is written down. Static linking makes it expensive. SPDX used to list this as LGPL-2.1. The only form cannot be read as LGPL-3.0, so GPLv3 patent terms and Installation Information do not arrive through this grant. You will still meet 2.1-only headers on older native libraries even when glibc itself is or-later.
What does LGPL-2.1-only require when you ship a product?
You are meeting LGPL-2.1 section 6 when the library loads at run time as a separate file, so the user can replace that file with their own 2.1-licensed build. You are meeting it with static linking only when you also hand over object files, or another mechanism that lets the user relink against a modified 2.1 library. You have covered the source duty when every recipient of your binary can get the library's complete source under LGPL-2.1-only. A URL or a written offer that ships with the download both work. You stay on version 2.1 when headers, SPDX, and the shipped text all say only, so nobody treats this as a path to LGPL-3.0. You are on the right side of section 6 when your end user terms do not forbid the reverse engineering needed to debug a modified version of the library.
Does hosting a product that uses LGPL-2.1-only trigger extra duties?
Hosting alone usually does not trigger the source duty for LGPL-2.1-only. Shipping a binary, a container, or an on-prem build does. Notice still travels with any copy you hand over.
Can I keep my application closed if I use LGPL-2.1-only?
LGPL-2.1-only is library-scoped copyleft. Your application can stay closed if recipients can replace the library with their own build. Static linking makes that expensive. The library itself still ships with corresponding source and notices. Confirm the linking story on the component, then record it.
What is corresponding source for LGPL-2.1-only?
Corresponding source is the source a recipient needs to build and run the same binary, including scripts and interface files the license names. Hosting a repository URL can be an offer. The offer has to match what you actually shipped. SourceTrust records that a person on your team confirmed the offer. It does not publish your source and does not host a mirror.
How is LGPL-2.1-only different from GNU LGPL v2.1 or later?
LGPL-2.1-only asks this: LGPL-2.1-only is library copyleft pinned to version 2.1. Users must be able to replace the library. There is no upgrade to LGPL-3.0. GNU LGPL v2.1 or later asks this: Weak copyleft for libraries. Your own code can stay closed as long as users can swap in their own build of the library. Static linking makes relinking costly. Open the GNU LGPL v2.1 or later page for what that license requires when you ship. Do not treat the SPDX ids as interchangeable because the short names look similar.
Where do I record LGPL-2.1-only for a buyer?
The catalog marks LGPL-2.1-only as copyleft, so a source offer item appears when the project ships a Distributed binary or is Mixed. An LGPL linking item is added in Library or SDK, Distributed binary and Mixed. A pure SaaS project sees neither. The fetcher compares the shipped text with the declared id, so an or-later text under an only id lands as a mismatch. SourceTrust does not check that you shipped the source or built the relink path.
Where do I record LGPL-2.1-only for a buyer?
The catalog marks LGPL-2.1-only as copyleft, so a source offer item appears when the project ships a Distributed binary or is Mixed. An LGPL linking item is added in Library or SDK, Distributed binary and Mixed.
A pure SaaS project sees neither. The fetcher compares the shipped text with the declared id, so an or-later text under an only id lands as a mismatch.
SourceTrust does not check that you shipped the source or built the relink path. Read /docs/reviewing-component for the review flow.
See also
The hub is the pillar for this cluster. Sibling licenses are the other spokes. Product FAQ links explain how SourceTrust records the duty, not the license text itself.
Practical guidance for procurement review, not legal advice. Confirm high-stakes use with counsel.
