[cairo] Pango License

Bill Spitzak spitzak at gmail.com
Wed Dec 15 16:57:28 PST 2010

Behdad Esfahbod wrote:

> That said, I guess there is room for a ELGPL (Even Lesser GPL) that only
> requires making your modifications available but doesn't have the replacement
> requirements.

That's been suggested many times. A well-defined name would certainly 
help, like ELGPL or EGPL or EPL. The only common term I have seen is 
"GPL with a linking exception". One is the "GNU Classpath exception":

"As a special exception, the copyright holders of this library give you 
permission to link this library with independent modules to produce an 
executable, regardless of the license terms of these independent 
modules, and to copy and distribute the resulting executable under terms 
of your choice, provided that you also meet, for each linked independent 
module, the terms and conditions of the license of that module. An 
independent module is a module which is not derived from or based on 
this library. If you modify this library, you may extend this exception 
to your version of the library, but you are not obliged to do so. If you 
do not wish to do so, delete this exception statement from your version."

This exception basically makes the license into "what most people thing 
the LGPL means". You can't modify the library itself without 
distributing your modifications, but you can use the library in any way 
you want.

I believe this exception will completly hides (by being more lenient) 
all differences between the LGPL and GPL, so it does not matter which 
you apply the exception to. So "EGPL" might work, or just "EPL" to get 
rid of that dreaded 'g'.

There are a bunch of similar licenses like the CDDL and MPL, but they 
were written by GPL-haters and explicitly add terms to make the code 
incompatible with the GPL. The above license allows the code to be 
reused as part of a GPL or LGPL project.

Personally I feel the LGPL restrictions are not only painful, they serve 
no useful purpose and are actually counter productive. For any 
non-system library the ability to replace the library with a new version 
is useless if that new version does not have the same ABI. And it is 
very rare that a program can take advantage of new features of the 
library unless the program is recompiled. So the end user gets nothing, 
and the developer is discouraged from using the library, which hurts the 
developers of the library by decreasing it's appeal.

More information about the cairo mailing list