Trolltech's Eirik Eng and KDE's Matthias Ettrich on Qt and the GPLSep 04, 2000, 16:12 (32 Talkback[s])
(Other stories by Eirik Eng, Matthias Ettrich)
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.