The GNU "Lesser" General Public License gets some love

Short URL:


With the introduction of the GNU GPLv3, the GNU Lesser General Public License (L-GPL) has seen much less attention. This has changed with the recent GPLv3 conference in Barcelona, and I think it has changed for the better.

Historically, the GNU L-GPL has been drawn from language similar to, but not identical with, the GNU GPL. It is a license that can be reverted to the GNU GPL, and given the subtle differences, it may be best thought of as a disjunctive license. Often it has been used for C coded libraries, and so has often been mistakenly called the "Library" GPL. This is an error and confuses the original purpose of the GNU Lesser GPL.

Generally, the GNU Lesser GPL is meant for cases where one wishes to insure freedom in the existing work, but not control what happens in a derived or "aggregate work", one assumes made by others. This is a strategy one may choose if one is concerned with the "popularity", or use, of a package, and is an ethically valid license for a free software author to consider so long as it does not do so in a way that compromises freedom in the process.

The system libraries of the GNU project (glibc) is under the L-GPL because it serves the function and implements interfaces that already exists in proprietary system libraries. Hence, having glibc discourages the emergence or need for a proprietary libc on GNU/Linux, and so promotes freedom on the platform. This is particularly relevant since the GNU GPL does allow one to aggregate with proprietary code when linking with so called "system libraries", and hence assures the GNU platform remains built entirely with free software.

Other use cases where the GNU L-GPL may be suited include those where an existing free software library or plugin duplicates existing functionality already found in proprietary software. Hence, it may promote greater use of a free software library or plugin where the GNU GPL on it's own may not, and is doing so in a way that does not compromise freedom. Some may also feel that it is more compatible with their vision of freedom because it imposes no limitations on those creating aggregate works. One place I think the GNU L-GPL is completely unsuitable is for an original free software library where no proprietary equivalent exists, as the latter simply encourages existing proprietary software to be designed around such a library without promoting new software to be written as free software.

The GNU L-GPL has a number of important limitations, however. Perhaps the most glaring is that it was written from a time when pure static linking (and runtime dynamic linking) were the principle ways that applications and libraries were aggregated. Modern object oriented languages do not operate this way, as they may use headers which include inline code for member functions, and templates, that are compiled, rather than purely linked, to create an aggregate work. This has caused both confusion and a proliferation of special case free software licenses.

Some people who have worked on class frameworks on more modern languages have chosen other free software licenses explicitly because of this limitation, including the OpenH323 project, which choose to use the Mozilla MPL. Some of these alternate free software licenses are not compatible with the GNU GPL, and so cause other problems. Others have chosen to add privileges to the existing GNU GPL to create effects similar to what the GNU L-GPL does, but with language more specific to modern programming practices. The best example of this is found in the GNU "Runtime" GPL license, which is used for the standard C++ library that is distributed as part of the GNU Compiler Collection (GCC). That even core GNU packages have to include multiple exception licenses speaks volumes about the effect of this limitation in the current GNU L-GPL.

The GPLv3 has been written in ways that makes it possible to standardize the practice of adding special exceptions and privileges. Going forward, having standardized language to recreate the L-GPL out of GPLv3 will mean that the core license will remain consistent rather than disjunctive, and I hope that the GPLv3 privileges template they come up with includes language appropriate to modern programming languages. In effect, it seems something like the R-GPL of libstdc++ will become the model for the new "L-GPL" once GPLv3 is ratified, and this I think is a good thing.



vach's picture
Submitted by vach on

I mean, it has even more liberties than GPL...

Just yesterday i was watching a movie about Larry Flint (Husler Magazine) and there wa this quote:
The freedom comes with a cost: if you don't like things other people does, you can't do anything about it, they are free to do it. So i don't thing GPL is as free as GPL Lesser.

WHooo Hoooo!!!
I have won the book!!!, and i just used a Bugmenot Account... OUCH!!!

Terry Hancock's picture

So would you like to lose a tiny amount of freedom now, or all of it later?

The idea behind copyleft clauses is to keep future versions of the software free. If you allow conversion to proprietary licensing, then you encourage the work to be hijacked out of the free domain and into some commercial product. Like as not, you'll wind up paying for your own work.

Still, I bridle at the use of words like "ethically valid" to promote this kind of thinking. It's one thing to talk about the value of freedom, it's quite another to call people brigands for not conforming to your agenda.

I prefer a much simpler solution -- I just use free software. It's clear to me that there is more value in keeping with a free package than in locking myself into a commercial product that can be pulled out from under me. So why do we have to shake sabres about it?

Copyright-monopoly based economics were successful for at least a couple of hundred years. It's not like slavery or institutionalized racism. It's just a system of doing business. In some regimes it apparently works for the benefit of the public, in others it doesn't. I happen to think it doesn't work very well for software. But that doesn't make it "unethical" to produce or buy proprietary software -- just unwise.

David Sugar's picture

While some view the GNU LGPL simply as a tactical license, the question the LGPL often finds itself in the middle of is that of what engineers perceive should be an "aggregate" work, but what copyright attorneys may state must legally be treated as a derived work. As such, it actually falls along the fault line between the idea that "my code is my code, and your code is your code", the way software development often operates as a discipline, and the way our 16th century derived copyright laws defines the legal relationship between these different parties.

zk's picture
Submitted by zk (not verified) on

All I know is practicalities.
Simple DirectMedia Layer is a killer library.. that I wouldnt touch with a 10-foot interface.

"When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library."

liberals.. theyre so cute when theyre self-important.
bye bye, GPL.

"The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom."

Hosey can you see.. blah blahblah blah blah blah..
"a dictatorship over the definition of freedom` is the main idea here.
An excessively aggressive expansion of the `free` empire into private works.

"The Lesser General Public License permits more lax criteria for linking other code with the library. "

`more lax`.. pfft. how double-spoken is THAT?
try `less restrictive` oops, that uses a naughty non-freedom word.

"We call this license the "Lesser" General Public License because it does Less to protect the user`s freedom than the ordinary
General Public License."

The usual.. in typical liberalese, we say that it does `less to protect` rather than `more, to restrict`, and put this
perfectly illogical double-speak into the bloody title.

And since when is there any `protection of freedom` at all? Point to it! You`ll be pointing outside of the license,
at liberalism itself.

"It also provides other free software developers Less of an advantage over competing non-free programs.
These disadvantages are the reason we use the ordinary General Public License for many libraries.
However, the Lesser license provides advantages in certain special circumstances."

Isn`t that speshul.

I`m in the ring with a 400 lb. gorilla.
The last phrase I would choose to describe my 140 lbs is: `less of an advantage`.

`provides less`. Don`t you ever hear yourselves?
Just freakin SAY IT! There are levels of ___RESTRICTIONS___ to what you may do with the software!!

I simply don't trust anyone who persuades too much with lingual devices.
Too much BBC, I guess.

Author information

David Sugar's picture


David Sugar is an active maintainer for a number of packages that are part of the GNU project, including GNU Bayonne. He has served as the voluntary chairman of the FSF’s DotGNU steering committee, as a founder and CTO for Open Source Telecomm Corporation, and currently owns and operates Tycho Softworks.