Articles / Trolltech on Qt, KDE, and t…

Trolltech on Qt, KDE, and the QPL

In today's editorial, Eirik Eng of Trolltech responds to Joseph Carter's comments on KDE and Debian with a discussion of the original intent of the QPL, an explanation of how Trolltech views the current situation, and a preview of the future of the license.It has been Trolltech policy to avoid becoming embroiled in licensing discussions within the free software community. Instead, we have sought to provide the best technical solution for software developers. We have seen ourselves as coders, not politicians. Besides, these discussions take too much time.

However, we feel that we have remained silent for too long; it is time to tell our side of the story.

Let me point out one thing from the beginning: We love Free Software and use a lot of Free Software, and most of our employees stem from the Free Software world. We really care about Free Software like the GNU tools and free operating systems like Linux and FreeBSD. In fact, they form our main development platforms.

Let me first tell you a little bit about Trolltech's background and business model.

When we started to distribute the Qt Free Edition for Unix/X11 in 1995, Free Software was way behind the competition when it came to graphical user interfaces. This was not due to the fact that it is particularly difficult to write graphical applications or that Free Software developers lack experience regarding user friendliness. The main reason for the difference in quality was that commercial developers had access to an entirely different set of tools that made it much easier to develop this kind of software. These tools usually cost much more than students or spare-time hackers could afford or were willing to invest in their hobby.

Our goal was to provide developers of Free Software for Unix exactly the same tools that developers of commercial applications use: No crippled free versions, no strange limitations, but high-quality software for everybody without compromises.

This is still what we are doing today. In fact, we are so sure that we are going to continue doing this that we established the KDE Free Qt Foundation in 1998. This foundation legally binds Trolltech to always supply an Open Source version of Qt. This makes Qt a very safe choice as a software development platform.

The traditional model of commercial Open Source development has been to give away the software and live from support and services. We believe that this model has several weaknesses. It is our philosophy that we should make Qt so good and so well documented that support is not needed. We feel that if we manage to do this, we have done something good, not something that should take away a significant part of our income.

We see it this way: The companies that purchase Qt Professional Edition licenses from us get access to a high quality toolkit. A toolkit that has been developed using the Open Source model, and that has been debugged and tested by thousands of independent Open Source programmers across the world. When a company buys a license from us, they fund the further development of a toolkit that can be used free of charge by Open Source developers around the globe.

Qt has now been licensed under the QPL, a license that complies with the Open Source definition, for over a year. From the feedback we are getting, it seems that most Open Source developers are quite happy with the QPL. Most of the discussions surrounding the QPL have been about the question of GPL compatibility. To make things clear, we have, from the very beginning, meant that one can make GPLed programs using Qt. It all comes down to how the terms "Program" and "Derivative Work under copyright law" are to be interpreted in the GPL.

For the "Program" case, it has been claimed that when a program uses the Qt API, Qt becomes a part of that program. We, and lawyers we have consulted, cannot see how this can be the case. And if it is, which version of Qt? Windows, X11, or Qt/Embedded? All? Does this also apply to other things? Does the X server become a part of a program that uses X? Does the Qt/Embedded server become a part of a program that uses Qt/Embedded?

When we first released Qt there was already de-facto acceptance in the community that one could make GPLed programs using Motif, even before Lesstiff came along. Motif was a proprietary and non-free library with a much stricter license than Qt.

Now, for the "Derivative work" case, it has been claimed that a program using Qt is a derivative work of Qt, or vice versa. Since it is programs that use Qt that use the GPL, only the latter case is relevant in license discussions. The GPL only talks about programs that are derivative works of the GPLed program, not the other way around. Some people have seriously claimed that Qt is a derivative work of KDE. Quite frankly, we found such a notion to be ridiculous, Qt existed long before KDE came along.

Having said this, we do understand that not everyone in the community agrees with our views.

As has been mentioned recently, we did have ongoing discussions with several parties, just before releasing the QPL, about making the QPL GPL compatible in their eyes.

It is not correct, as has recently been claimed, that we thought we had achieved this goal. We made some changes to the QPL to try to achieve this, but the final conclusion was that we were far from the goal. In the end, we decided to take out some of the changes that had been put in since they no longer served a purpose.

A question we are often asked is why we didn't simply put Qt under the GPL when we Open Sourced it. We have always wanted Qt to be as free as possible while still having a viable business model. If the GPL effectively protected a GPLed library from being used to develop proprietary software, we would allow relicensing Qt under the GPL. But, as I have said, it is not our belief that using a library is making a derivative work.

We have had an ongoing discussion with several players in the community about these issues, and we do seem to be getting somewhere. We are working, and have been for some time, to make QPL version 2.0. We expect to have a final version in the near future.

The main changes we plan to make are to remove the patch clause and clause 6c.

The patch clause was meant to avoid leaving Qt users with slightly incompatible versions of the library without the possibility to tell where the code stems from. However, the Qt user community is now so large that we believe that this is less likely in the current situation. We also see that people tend to send their patches to us so we can include them in the official versions of Qt.

Clause 6c has been claimed to be the major reason for GPL incompatibility in the QPL. This clause gave us the possibility to ensure that companies writing internal Open Source software indeed release their source code to the general public.

The QPL version 2.0 will hopefully end the license discussions once and for all and get us all back to coding again.


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.

Recent comments

21 Aug 2002 05:24 Avatar EvilIdler

Re: interesting

> Instead of bitching about it, make
> another library. Oh, wait, people did -
> GTK+.
> Well not really, no. those libraries are
> in no way similar.


You could try wxWindows..C++ API. Very nice.

20 Aug 2002 10:16 Avatar nateman

QPL cann't be using but Win32 can???
The thing that I don't understand it that much free software also has a windows port (take Emacs for example.) If that free software is using the Win32 API's then why are they not derivative works of windows like Qt using software are derivative works of Qt? I admit, I a newbie to Linux, but that means also that I haven't seen these flame wars or all the issues around them, I'm just taking this from common sense.

05 Jul 2000 06:24 Avatar asmodai

BSD License
Sorry elleron. You are right.

Even after proofreading I still managed to leave copyright stand whilst I meant liabilities.

My apologies.

04 Jul 2000 19:01 Avatar raindog2

bsd license
Why bother using the newer (no ad clause) BSD license? Why not just put your stuff into the public domain? There really is no difference that I can see, if your aim is to let anyone use your code in any way he sees fit including denying you his changes.

02 Jul 2000 13:11 Avatar elleron

BSD and Copyrights
The BSD license does not dismiss copyrights. It licenses you to do whatever you want with the program, which is a horse of an entirely different color. Software under the BSD license is truly free in every sense of the word. GPL'd software, on the other hand, comes with a large number of restrictions. While the GPL may be a good license for the complete GNU system, it's a bad license for an individual project.

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.