There has been much controversy about the various licence
conditions under which KDE[1] and Troll Tech[2]’s Qt library are
distributed, and about the relationship between these two
licences.
This document attempts to focus on the aspects of this situation
that have resulted in Debian[3]’s decision to cease distribution of
KDE binaries via Debian Internet sites and official CD-ROMs.
It should be noted that this action has not been taken out of
any antagonism towards non-free[4] software, or KDE, but purely on
the basis that the various licences combine in a way that fails to
grant Debian (or anyone else) the right to distribute these
binaries.
The Problem:
————
1) Troll Tech’s Qt library is distributed under a licence[5]
that includes this condition:
You may copy this version of the Qt Free Edition provided that
the entire archive is distributed unchanged and as a whole,
including this notice.
2) The KDE code is licensed under the GNU GPL v2[6]
3) Currently, KDE must be linked against Qt in order to produce
usable binaries.
Clause 2.b. of the GPL reads:
publish, that in whole or in part contains or is derived from the
Program or any part thereof, to be licensed as a whole at no charge
to all third parties under the terms of this License.
The corollary of this is that if you link the GPLed KDE code
against Troll Tech’s Qt library, and distribute it, you must
distribute it under the GPL.
However, the GPL insists that you grant the right to modify the
complete source of a program distributed under its terms, which is
clearly in conflict with Qt’s licence conditions.
Clause 7 of the GPL reads:
imposed on you … that contradict the conditions of this License,
they do not excuse you from the conditions of this License. If you
cannot distribute so as to satisfy simultaneously your obligations
under this License and any other pertinent obligations, then as a
consequence you may not distribute the Program at all.
So, we have been denied the right to “distribute the Program at
all”.
Potential Solutions:
——————–
1) Licence change
Since it is the choice of licence that has given us this
problem, one possible solution is to change the licence. It is
perfectly possible to distribute a program under a licence that
reads something like:
“This program is distributed under the GNU GPL v2, with the
additional permission that it may be linked against Troll Tech’s Qt
library, and distributed, without the GPL applying to Qt”
This would allow Debian (and everyone else) to distribute KDE
binaries, and it appears to reflect the KDE developers’ actual
intentions.
Who can make this happen ?
The only person that can change the licence conditions under
which a program is distributed, is the copyright holder (i.e. the
author in most cases).
In the case of programs that were written entirely by KDE core
developers, there should really be little difficulty in agreeing to
choose an alternative licence under which the binaries can be
distributed.
Difficulties are likely to arise when either, significant
portions of the code have been contributed by the wider community,
or when third party GPLed code has been ported to Qt. This is not
surprising, since the GPL was explicitly designed to prevent GPLed
code being incorporated into non-free software.
2) KDE losing its dependence upon non-free software.
There are a few scenarios that could lead to this, the most
promising one being the Harmony[7] project (an attempt to implement
a GPLed replacement for Qt).
If any of these come to pass, then KDE binaries built without
any dependence upon non-free code should be possible, and would
then be included as part of the main Debian GNU/Linux
distribution.
Of course, for this to happen the KDE developers will have to
restrain themselves from using any other non-free libraries. Also,
limiting themselves to using only those features (soon to be)
available in Harmony would obviously help.
So what IS allowed ?
——————–
For code that is 100% authored by KDE core developers, they can
flout their own licence and distribute KDE binaries as they feel
fit[8].
For operating systems that supply Qt as a default component[9]
there is an exception in the GPL, which would allow them to
distribute KDE binaries, linked against Qt.
Of course, the source can be freely published, since there is no
problem until it is combined with the Qt libraries, and their
conflicting licence.
So what is NOT allowed ?
———————
The taking of GPL code (by people other than the copyright
holder), linking it against code with an incompatible licence, and
distributing the resulting binary is explicitly prohibited[10].
In practice, most GPLed programs include patches submitted by
many authors. This means that it becomes impossible for any single
person to claim that they are the sole copyright holder, and can
thus issue the code under alternative licence conditions.
It should be noted that some of the KDE binaries have
significant amounts of third party GPLed code for which consent to
link against Qt and distribute has not been sought or granted.
Conclusion:
———–
1) People should choose licences that reflect their wishes.
The KDE developers do not wish to impose all of the restrictions
embodied in the GPL, so they should not use the GPL.
2) People should respect the licence conditions under which
software is distributed.
For Debian, this means that as it stands, we will respect KDE’s
choice of the GPL, by not distributing their binaries (as requested
in the GPL)
For KDE, this means that they should respect others’ use of the
GPL and obtain permission to link that code with non-free libraries
before distributing the resulting binaries.
References:
———–
[1] http://www.kde.org
[2] http://www.troll.no/
[3] http://www.debian.org/
[4] http://www.debian.org/social_contract#guidelines
[5] http://www.troll.no/free-license.html
[6] http://www.gnu.org/copyleft/gpl.html
[8] Stephan Kulow, who is both a Debian maintainer and a KDE
developer, has declared his intention to continue producing Debian
packages which will be distributed from the KDE site. ftp://ftp.kde.org/pub/kde/stable/latest/distribution/deb/
[9] It is not clear that there are any such OSs, but this is a
bone of contention. In any event Debian GNU/Linux does not include
it, since it does not comply with the the Debian Free Software
Guidelines [4].
[10] A possible exception is the distribution of KDE binaries
for an operating system that includes Qt as a default component.
Debian GNU/Linux is certainly not such a system, and many people
(RMS included) would say that Linux as a whole is not.
Note: RedHat have come to a related conclusion, that may also be
of interest: http://www.redhat.com/redhat/qtlicense.html
“Qt” is a trademark of Troll Tech AS.
You may find answers to questions arising from this document
here: http://www.uk.debian.org/~phil/KDE-FAQ.html
Copyright (C)1998 Philip Hands. You may redistribute this
statement according to the terms of the GNU General Public Licence,
version 2 (Note that of course you must prominently mark any
modified versions).