---

Stallman on Qt, the GPL, KDE, and GNOME

By Richard Stallman

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.

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis