Making Qt available under the GPL makes it legal to take an existing
GPL-covered program and adapt it to work with Qt. It also provides a
way to resolve one of the free software community's long-standing
problems, the problem of the ethical and legal status of KDE.
The design of KDE was based on a fundamental mistake: use of the Qt
library, which at the time was non-free software. Despite the good
intentions of the KDE developers, and despite the fact that the code
of KDE itself was free software, KDE could never be part of a
completely free operating system as long as it needed a non-free
program to function.
But the KDE developers were not concerned about this problem, and
recruited helpers who shared their views. As KDE/Qt developed, it
posed a growing risk to the progress of free software. The risk was
that KDE/Qt would become so established that most of the user
community would treat it as indispensable--disregarding the fact that
this meant using non-free software. Widespread acceptance of one
crucial non-free program would encourage a general willingness to
accept non-free software, meaning fewer people who might have the will
to help replace KDE/Qt with something entirely free. And that job
would require catching up with a large head start, just as we did in
replacing Unix with GNU and GNU/Linux. To be back in that situation
was a discouraging prospect.
But we were not there yet, and it was clear we should take preventive
measures before we got there. In 1997 we launched two parallel
projects designed to avoid that situation: the GNU desktop (GNOME),
which aimed to provide a completely different alternative graphical
interface, and Harmony, a free replacement for Qt. The reason for
starting two projects in parallel was redundancy: any project may
fail, and the risk was big enough to warrant two simultaneous
approaches to preventing it.
GNOME caught on, and by 1999 it was a clear success. Then Qt was
rereleased under a new license, the QPL, which made it free software.
This solved the principal problem of KDE/Qt, the fact that part of it
was non-free. But a secondary problem remained: the problem of
license inconsistency.
The QPL is incompatible with the GPL, which means that Qt and
GPL-covered modules cannot legally be combined, unless the developers
of one module or the other grant an exception to permit it. The KDE
developers certainly intend their GPL-covered code to be used with Qt,
and one can argue that by telling you to link it with Qt they have
implicitly given you permission to do that. But they did not formally
state this exception in the KDE source code itself, and it is not
comfortable to rely on implicit permission for something like this.
In addition, in some cases code was copied into KDE from existing
GPL-covered modules whose copyright holders had not given special
permission. (Only the copyright holders can give extra permission to
do things that the GPL does not permit.) That is a real violation of
the GPL. Because of this, and the overall lack of an explicit
exception, the legal status of KDE remained clouded.
Qt 2.2 provides the basis to solve this secondary problem, but a
certain amount of cleaning up will be needed to fix it thoroughly.
Misusing a GPL-covered program permanently forfeits the right to
distribute the code at all. Such situations have occurred in KDE, and
now they ought to be cleaned up.
It would be a good idea for all of the authors of code in KDE (more
precisely, all of the copyright holders) to make a clear statement
that linking their code with Qt in the past was done with their
permission, thus assuring existing KDE users that they have not
forfeited distribution rights to that KDE code.
Also, where code was copied from other GPL-covered programs, their
copyright holders need to be asked for forgiveness. To lead the way,
the FSF hereby grants this forgiveness for all code that is copyright
FSF. More precisely, those who as of September 4, 2000 have used some
FSF code in violation of the GPL solely by linking it with Qt, and
thus have forfeited the right to use that code under the GPL, will
once again have full GPL permissions to use that code upon switching
to a GPL-covered version of Qt. I appeal to all the other copyright
holders of affected code to grant similar forgiveness and thus help
resolve the situation quickly.
Soon KDE should be properly based on a GPL-covered version of Qt, and
the Free Software Movement will be able to think of KDE/Qt as a
contribution and not as a problem. Meanwhile, I think there is no
reason to work on another package which is equivalent to Qt. If you
want something like Qt, use Qt.
But GNOME is here, and is not going to disappear. GNOME and KDE will
remain two rival desktops, unless some day they can be merged in some
way. Until then, the GNU Project is going to support its own team
vigorously. Go get 'em, gnomes!
Copyright 2000 Richard Stallman
Verbatim copying and distribution of this entire article are permitted
in any medium provided this notice and the copyright notice are preserved.