Qt 2.2 To Be Released Under the GPL

Thanks in part to the discussions held here by the freshmeat
community, Trolltech has decided to release the next version of Qt
under the GNU General Public License. In today's editorial, Eirik Eng
and Matthias Ettrich explain the reasoning behind their decision.
Since the appearance of the July 1st freshmeat editorial by Eirik Eng,
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 instead of splitting 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 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 a freshmeat editorial by one of the authors
(Eirik Eng).

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 were 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 item that has been brought to our attention relates to
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 are
contained in the binary version of the program.

It is clearly in the spirit of the GPL that you must not use a GPLed
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 the
community will 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 software with users who do not get
access to the source code 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, for example, the Artistic
license can also use Qt.

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

Eirik Eng (eirik.eng@trolltech.com) is
the President and co-founder of Trolltech and holds an M.Sc. in
Computer Science. He wrote the first versions of Qt together
with Haavard Nord, but has been transformed into a pointy-haired
boss. Despite his ripe age of 34, he sometimes lurks around the
Trolltech offices with an armed nerf gun. He is married to a beautiful
French woman and is the father of 2 boys.

T-Shirts and Fame!

We're eager to find people interested in writing editorials on
software-related topics. We're flexible on length, style, and topic,
so long as you know what you're talking about and back up your
opinions with facts. Anyone who writes an editorial gets a freshmeat
t-shirt from ThinkGeek in
addition to 15 minutes of fame. If you think you'd like to try your
hand at it, let jeff.covey@freshmeat.net
know what you'd like to write about.

Is the license the problem?
I've never cared about the license of QT. The only thing that stops me from using KDE and other QT programs is that QT looks so much like Windows (especially the open dialog, it's like a low resolution copy of the windows open dialog. when you copy an interface, do it in a good way and not such an ugly looking thing, that's not what I call powerfull or whatever.).
The build-in themes are very useless. The might have a change in my opinion when they are going to support skins or something.

Despite free software is great, it must be possible for a company to develop and sell (yes!) commercial software.

Someone using KDE and therefore having installed Qt, could no longer use proprietary software that uses Qt? Unless he/she installes a second Qt under the commercial license? That can't be the future of Linux...
Or is there a way to circumvent that?

Woohoo!
Even though I'm pretty ambivalent about licenses, I'm relieved to hear that the licensing issues have (apparently) been resolved, I hope that this leads to more co-operation between the two best options for a *nix desktop environment, and maybe even (please?!) a common, consistent theme-engine between KDE and GNOME applications. It's time to rise above the petty and childish GNOME vs KDE war (not to mention the C++ vs C, and Qt vs GTK wars), and start acting like you're developing for the same platform in different ways, for different purposes, with differing goals. There is no absolute best language/toolkit/desktop environment/OS/computer architecture/cheese/shoe it's a matter of choosing what works best for you for the task at hand.

I couldn't work as I do at the moment without both the GNOME and KDE libraries installed on my machine, and without the GNOME panel on the left side of my laptop screen and the KDE panel on the right hand side. Saying that either of these libraries is worse than the other is inflammatory and idiotic, they're not mutually exclusive in any way.

Put aside your differences and work on making these two great projects work together, side by side, as I have!

I don't understand the flaming gnome/gtk guys & girls. Maybe
if you're a core C programmer, and like editing code with a a simple text editor, entering 20 lines of code by hand to display a simple button, you should use GTK. For me, GTK just sucks. I've tried to create a simple program using the GTK library, I had to use about 4 different tools to get it done. There isn't a decent RAD tool available that works nicely with GTK/Gnome. QT has QTDesigner, and ofcourse for KDE there's kdevelop. Not to mention that Borland/Inprise (the kings of RAD tools) will show up with Kylix this year, which makes use of the QT library. Finally a RAD tool for Linux that will allow me and lots of other (commercial) developers to easily create neat Linux applications.