Exception statements
Exception statements
Posted Mar 18, 2004 10:19 UTC (Thu) by mmutz (guest, #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.
Posted Mar 18, 2004 13:09 UTC (Thu)
by pivot (guest, #588)
[Link] (3 responses)
It's not a serious issue of the GPL, it's an issue with those that choose to license the software under the GPL. Eg. Trolltech might have licensed Qt under the LPGL, avoiding the scenario you describe, but they chosed not to.
Posted Mar 18, 2004 15:25 UTC (Thu)
by mmutz (guest, #5642)
[Link] (1 responses)
For obvious reasons. The MySQL/TrollTech business model won't work with
LGPL'ed libraries, of course. The problems I described are problems with the GPL, exactly because
they
force a certain type of software to be licensed under the Lesser GPL to be
more widely available to end users (just as you suggest). But the
Lesser GPL was
created to allow for wider dissemination of Free Software among
developers (there is no point in releasing an application, as
opposed to libraries, under the GPL). If TrollTech needs to distribute Qt under the Lesser GPL, so that
GPL'ed software can run under Windows, then that is a
problem with the GPL, no?
Posted Mar 18, 2004 19:03 UTC (Thu)
by stevenj (guest, #421)
[Link]
Nope, that is the design of the GPL: if you put your code under the GPL, it is precisely in order to prevent it from being combined with proprietary code (e.g. Qt for Windows).
This is entirely separate from the MySQL issue, which was combining with incompatibly-licensed free-software code. Their solution, which seems like a kind of GPL + pseudo-LGPL-for-free-software-only, is interesting...the main question is whether it opens up some loophole or other problem that is not immediately obvious. I'd like to see the FSF's legal counsel comment on it for this reason.
Posted Mar 30, 2004 17:40 UTC (Tue)
by hazelsct (guest, #3659)
[Link]
> I think this points to a serious issue of the GPL, and one that will driveException statements
> 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.
> It's not a serious issue of the GPL, it's an issue with those thatException statements
> choose to license the software under the GPL. Eg. Trolltech might
have
> licensed Qt under the LPGL, avoiding the scenario you describe, but they
> chosed not to.
Exception statements
If TrollTech needs to distribute Qt under the Lesser GPL, so that GPL'ed software can run under Windows, then that is a problem with the GPL, no?
There's another alternative: TrollTech could simply be more consistent and dual-license Qt for Windows... Blaming the GPL for the fallout of a TrollTech marketing decision -- which happens to be inconsistent with their policy on other platforms, and also inconsistent with the press release they co-authored and this LWN article -- is unhelpful at best.
Exception statements
