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 (firstname.lastname@example.org) 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.