Articles / Qt 2.2 To Be Released Under…

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.

Matthias Ettrich can be reached at ettrich@trolltech.com; we'll post a bio of him when we have it. :)


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.

Recent comments

04 Mar 2002 12:36 Avatar eacepayeakermaye

Re: Why not use LGPL?
They didn't want LGPL because LGPL is more liberal in that it would let you develop non-GPL programs with the QT library.

The GPL license requires you to develop GPL programs with the QT library.

06 Sep 2000 15:59 Avatar remco2

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.

05 Sep 2000 13:50 Avatar mweers

LGPL?
Qt is a library, and should therefore be licensed under LGPL.

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?

05 Sep 2000 07:51 Avatar qg

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!

05 Sep 2000 06:55 Avatar r1g0r

Doh !
Thanks TrollTech, for making this decision !

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.

Screenshot

Project Spotlight

Kigo Video Converter Ultimate for Mac

A tool for converting and editing videos.

Screenshot

Project Spotlight

Kid3

An efficient tagger for MP3, Ogg/Vorbis, and FLAC files.