Linux Today: Linux News On Internet Time.

More on LinuxToday

Debian's stance on KDE.

Oct 08, 1998, 12:09 (20 Talkback[s])

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:

You must cause any work that you distribute or 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:

7. If ... for any other reason ... conditions are 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.


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.


[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.

[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:

"Qt" is a trademark of Troll Tech AS.

You may find answers to questions arising from this document here:

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).