---

Trolltech’s Eirik Eng and KDE’s Matthias Ettrich on Qt and the GPL

By Eirik Eng and Matthias Ettrich

Since the editorial by Eirik Eng on freshmeat.net on July 1st we
have received many comments on our stance in the licensing
discussions concerning the QPL and the GPL. As mentioned in that
editorial we have been actively working for some time to make the
QPL compatible with the GPL.

When we made the QPL almost two years ago we were afraid of
harming the growing Qt programming community with several
incompatible versions of Qt. We felt that we lacked the resources
to provide an infrastructure to let other parties interested in Qt
development cooperate with us, rather than split the development.
This is not achieved with just a public CVS, but requires careful
code review, intensive discussions about design and a very short
response time to suggestions and requests from the community.
Without these, we would not be able to keep the high quality of the
code base. Today, Trolltech is a much bigger company (five times
more developers, to be precise), with a fast growing second
development department in Australia, so this is no longer an
issue.

We want to give a strong sign that we have never wanted to
control the graphical interface of the free Unices (and GNU, which,
as we know, is Not Unix). Instead, we want to provide the best
technology possible to write great applications.
Thanks to the
K Desktop Environment (KDE), the quality of free applications
finally reached and even went beyond the level of quality
represented in applications on MS-Windows.

Recently, several vendors of Open Source applications have
enhanced their commitment to the GPL, favoring it over their more
specific open source licenses. Mozilla and StarOffice are two
examples. In more and more cases, newly opened software is
distributed under the GPL.

While we believe there are clarity problems with the GPL and
strongly encourage the FSF to speed up work on an improved version
3, we see this standardization process as being very important to
the success of the free Unices. It would be a shame if Qt, the base
library of many of the available applications and the foundation of
the KDE, were to be an exception.

Under these considerations, using an unmodified GNU General
Public License appears a wise thing to do. However, we hesitated
due to recent discussions about the strength and validity of the
GPL in regard to protecting libraries. Several features on the web
raised this question, including one of the authors’ (Eirik Eng’s)
editorial on freshmeat.net.

We read James Ramsey’s editorial on July 15th with interest. We
could see that we agreed on many points, and the points James
brought up concerning the definition of “modules” in the GPL was
interesting.

We have been in contact with Richard Stallman, president of the
Free Software Foundation on the issue, and he has been kind enough
to offer his help and analysis. He has also sent us comments from
Professor Eben Moglen, Professor of Law & Legal history and
General Counsel for the Free Software Foundation.

Professor Moglen points to clause 2 b) in the GPL that speaks
about a work that “in whole or in part contains or is derived from
the Program”. After having looked more closely into the matter and
the definition of source code in clause 3 (as pointed to by Mr.
Ramsey) we have concluded that our fears of people legally making
closed source software with a GPLed library were exaggerated.

Another fact that has been brought to our attention is the
functions defined in C++ header files. There are a number of
functions implemented in our header files (inline functions). These
are not a part of the binary Qt library but are put into the
application or library that uses Qt at compilation time. There can
be no doubt that for any non-trivial program that uses Qt parts of
our code is contained in the binary version of the program.

It is clearly in the spirit of the GPL that you must not use a
GPL’d class library for non-free software development, and there
are strong arguments that this is legally binding. We were happy to
see wide support within the community to spread this word and hope
for the community to continue doing so.

In short, we have been convinced that the GPL does indeed
protect a library from being used to develop non-free software.
This is how we interpret the GPL and this is also how the free
software community, including the Free Software Foundation,
interprets the GPL. Non-free software in this respect of course
includes software developed internally in an organization and where
the users of the software do not get access to the source code of
the program under a free software license.

We have thus decided to license our next version, Qt 2.2, under
the GNU General Public License in addition to the QPL and our
commercial license.

By still offering Qt under the QPL, developers can choose the
open source license that best fits their needs. This guarantees
that existing and future programs that use e.g. the Artistic
license can also use Qt.

Finally, we would like to thank everybody in the community who
have supported us during this process. Now, if you excuse us, we
will go back to making Qt even better.