Exception statements
Posted Mar 18, 2004 10:19 UTC (Thu) by
mmutz (subscriber, #5642)
Parent article:
The GPL and library code
> If this sort of exception is adopted more widely, it may point toward a
> need for a new form of the GPL. If the end result is more free software,
> that would be a good thing.
Thank you! This comment was an eye-opener.
More and more code in KDE uses the Qt exception clause which permits
linking the program with any version of the Qt library, not only the GPL
ones. This is in part b/c there is no GPL'ed Qt for the Win/32 platform,
but also b/c installing two versions of Qt (one GPL and one under the
"commercial license") is impractical on the Mac and X11 platforms, too.
I think this points to a serious issue of the GPL, and one that will drive
some people away from it: You can't depend on non-free libraries. The
exception clause will work well in many cases, but fails if you want to
use a GPL'ed library which doesn't include exception clauses for the set
of libraries you depend on.
This leads to the funny situation that GPL'ed KDE programs carrying the
exception clause, but using GPL'ed libraries that don't have that
exception clause - IOW, pure Free Software - is effectively banned from
the Windows platform (which arguably needs it the most :).
This turns the original advantage of GPL'ed libs (that Free Software gets
a benefit over proprietary software by being able to use that library)
into a serious disadvantage for those preferring GPL libs over Lesser GPL
ones, by partitioning the Free Software landscape into software packages
that have the exception clause for a particular library, and those that
have not.
Of course, you are allowed to link and compile against "system libraries",
even non-free ones, and one could follow the reasoning that Qt is a
"system library" for KDE applications, but where do you draw the line? The
Qt library is surely not a system library for readline, or gpgme.
I'm not sure how to "fix" this problem. Surely, not requiring /unrelated/
GPL'ed libraries to inhibit the use of non-free libraries in an otherwise
GPL'ed application (or higher-level lib) is one model. The obvious problem
is, of course that the "application" could then conceivably be packaged
into a huge non-free library, and be combined with GPL'ed libraries using
a thin GPL'ed application. However, I fail to see the attraction of this,
since as soon as the huge library (ie. the better part of the application)
makes use of the GPL'ed library, the "unrelatedness" argument is void and
the huge lib subjected to full "GPL-derived treatment".
Personally, I'd like to see a model which would allow me to write a
GPL-with-Qt-exception application using a GPL'ed library (but not
Qt-releated library, such as gsasl, or gpgme) on Windows.
(
Log in to post comments)