Debian's stance on KDE copyright and licensing issues

08 Oct 1998

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.

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
[7] http://harmony.ruhr.de/
[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 [URL no longer valid]

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


KDE-FAQ: Questions arising from the removal of KDE from Debian

Why are you attacking KDE and/or the KDE developers ?

We are not attacking anyone/anything.

I did try to make it clear in the document that the whole issue was about licensing.

People are free to choose any license they like for any software they write. If that license ends up saying ``You cannot distribute this program'' then Debian has decided to take that at face value and not distribute it. KDE is not the first piece of software that has been deemed undistributable by Debian, on licensing grounds, and I'm sure it won't be the last.

Other distributions may decide that they don't need to worry about these things, but Debian takes licensing rather seriously. The DFSG is what defines Debian to a large extent, and it is all about licensing.

The fact that our users can easily install KDE, by simply adding a line to their /etc/apt/sources.list, like this:

deb http://kde.tdyc.com slink kde contrib
should go some way to prove that this is not some sort of anti-KDE vendetta.

So Debian just dumped KDE because it's not DFSG free, right ?

No.

While we don't consider ``non-free'' software to be part of the Debian GNU/Linux distribution, we do support our users in their use of non-free packages. Our stance on KDE is a licensing issue, pure and simple, not a free/non-free bigotry issue.

See clause 5 of our Social Contract

In fact KDE is free software, as far as the source goes, it's just that it's currently not terribly useful until it is linked against the non-free Qt library, and doing that violates the GPL under which KDE is distributed.

Now that Qt is under the QPL (which is DFSG free), there's no problem, right?

Unfortunately, there are still problems.

Firstly, Qt 2.0 has not been released yet, so there is no version of Qt under the QPL, and even if it had been, KDE will need to be ported to work with the new code, so could not immediately take advantage of any licensing changes anyway.

If we ignore those points for the moment, we are still left with the more serious problem that the GPL is still incompatible with the QPL, so KDE still needs have its license changed away from the pure GPL in order to become distributable when linked against Qt.

People generally react to this statement by saying that the GPL allows one to ignore its restrictions if the linked against library which is a ``standard component'' and now that Qt is going to be free, that could be included as a ``standard component''. Unfortunately this ignores the second part of the clause, which disallows this when the two things are being distributed together.

In other words, KDE still needs a new license. Thankfully, it seems that it is going to get one in the not too distant future.

KDE core developers say there are no licensing problems with k<whatever>, so how can you possibly claim differently ?

If I want to know about how KDE works, then obviously the authoritative answer is going to come from the KDE authors.

If I want to know how the KDE license (the GPL) works on the other hand, the authoritative answer is likely to come from its author, namely Richard Stallman (a.k.a RMS).

To quote a recent IRC forum:

<rms> By the way, the Qt license says it gives permission to link Qt
<rms> with GPL-covered programs; however, if you actually do that, you would
<rms> violate the GPL.
<rms> If the authors of a GPL-covered program want to give permission for linking it
<rms> with Qt, they can do so.

Admittedly, there is an implicit permission in the fact that the KDE developers clearly always intended the KDE source to be linked against Qt, so why are Debian being so pedantic about this ?

The problem is that the KDE authors keep trying to present this as though KDE is linkable against Qt as an automatic consequence of it being distributed under the GPL. This is simply untrue. It is only OK to distribute KDE linked against Qt because of the implied additional permission that they have given.

This is important because KDE developers then take the example of KDE and its GPL to justify taking and distributing other people's GPLed patches and code, without any additional permission (implicit, or explicit).

While one would like to give them the benefit of the doubt, and assume that their naivety of the implications of the GPL caused them to act in this way, this is becoming increasingly difficult as they continue to ignore the facts that have now been brought to their attention.

Therefore, until the KDE developers actually face up to the situation, and explicitly state the fact that they are giving the additional permission to link their code against Qt, we have decided to take them at their word, and assume that KDE is being distributed under the GPL, and the GPL alone. This leaves us with the conclusion that we cannot distribute KDE binaries linked against Qt.

kdelibs is distributed under the LGPL, so why are you removing it ?

Well, according to the copyright file in the Debian package at least, it includes code from other GPLed sources. It seems that this may just be a mistake in the copyright file, in which case it will be restored --- watch this space