Both are copyleft, but only one of them cares how you link.
They differ in 3 of the 5 ways you can ship software.
Runtime dependency, dynamically linked. A build-time-only dependency reaches no user and carries no distribution obligation, whichever license it uses.
| How you ship | GPL-3.0-only | LGPL-3.0-only | |
|---|---|---|---|
| Hosted SaaS | No obligation | No obligation | Same |
| Distributed binary | Obligation triggered | No obligation | They differ here |
| On-premises delivery | Obligation triggered | No obligation | They differ here |
| Internal use only | No obligation | No obligation | Same |
| Published library | Obligation triggered | No obligation | They differ here |
Strong copyleft, with added anti-tivoization and patent-retaliation terms over v2. Like v2, its obligations attach to distribution, not to operating a hosted service.
Full obligations for GPL-3.0-only
Weak copyleft built on GPL-3.0 with a linking exception. The practical question is almost always static versus dynamic linking, since static linking triggers the relinking obligation.
Full obligations for LGPL-3.0-only
Want to know which of these your project actually depends on?
Check your whole manifest →LicenseGuard reports information derived from published license texts and dependency manifests. It is not legal advice and using it does not create an attorney-client relationship. Results reflect license metadata as declared; they do not identify every obligation or violation. Consult qualified counsel for decisions that matter.
Listed in the official MCP registry, on Glama and on Smithery. Source on GitHub (Apache-2.0).