LGPL 2.1 vs LGPL 3.0 Advantages and Disadvantages

gpllgpllicensing

From what I've read, LGPL 3.0 allows you to use the license together with other licenses, more permissive about that(Not even sure about that).
From https://www.gnu.org/licenses/gpl-faq.html#AllCompatibility it says that it is not compatible with GPLv2, while LGPL 2.1 is compatible with it. That's a bit contrary to the thing I've read…

So, do you know what the real advantages and disadvantages of LGPL 3.0 over LGPL 2.1 are?

One disadvantage would be that it is not compatible with GPLv2.

Best Answer

I think you have to start with the intent of the LGPL 2.1 and the LGPL 3. The LGPL 2.1 was designed to be a license written largely in plain English that would give programmers guidance on what they could do with the software. It is generally clearer than the GPL 2 because of the linking safe harbor. One major uncertainty regarding the GPL is whether a copyright holder even has an interest in controlling what programs can link to a copyrighted library. The LGPL dispenses with this uncertainty by providing a safe harbor regarding linking.

The major shortcoming of this approach though is that it tends to be dependent on US legal concepts and the like, and jurisdictional definitions. What may be a derivative work in one jurisdiction might not in another and this makes a significant difference when software is bundled and distributed, and permission is given for aggregation but not derivation. The LGPL has less trouble here than the GPL but it is a significant uncertainty particularly in the GPL which is a companion license.

To resolve some of these issues and also provide better controls over exact rights, the GPL v3 series of licenses were drafted (the LGPL 3 is part of that). These seek to do away with jurisdictional definitions of derivation and aggregation and rewrite the language so that it provides guidance for lawyers rather than programmers. The licenses are far more complex, far utilizing structures more accessible to lawyers than programmers, and not necessarily any less vague.[1] However they do succeed to some extent in getting around jurisdictional definitions.

So the first tradeoff is whether you want to be writing your license as one that the audience is a programmer vs the audience is a lawyer and the second is how concerned you are about international definitions in different jurisdictions.

The final one though is that the GPL v3 series of licenses have forced compatibility with the AGPL v3, meaning that code can be taken from GPL programs and have the added restrictions of the AGPL added on in such a way that this cannot be contributed back under the same license. This is an issue with LGPL -> GPL copying as well on either license so it is probably a relatively minor concern.

Myself, I prefer the GPL v2 and LGPL 2.1 licenses because they are simpler and so I figure that there is less opportunity for a major misunderstanding to take place (minor misunderstandings may be more commonplace however), but this is my own personal preference, and yours may vary.

[1] For example, if you read both the 2-clause BSD license and the GPL v3 (and by extension the LGPL b3) narrowly, these licenses are incompatible because the BSD licenses do not explicitly mention sublicensing unlike the MIT licenses and therefore at least some lawyers like Larry Rosen do not believe such of a license is granted. Therefore you can't just take BSD code and relicense it as GPL v3 without actually adding copyright-worthy changes. Yet everyone agrees the BSD and GPL v3 licenses are compatible. This poses significant problems in interpreting the licenses and line drawing however.

Related Topic