A look at the new Qt public license and the effects it may have on software development for KDE and GNOME.
Troll Tech announced in November that its upcoming Qt 2.0 Free Edition GUI toolkit will have a more open license. Qt is best known in the Linux community as the GUI toolkit used to develop KDE (K Desktop Environment), a UNIX desktop environment. Qt Free Edition 1.X for UNIX is currently free for non-commercial use—if you want to sell your software, you need to purchase Qt Professional Edition, which starts at over $1000 for a single-user license.
The new licensing terms apply to the upcoming version 2.0 of Qt, currently in beta release, and is considered “open source”. Troll Tech has dubbed its new license the “Q Public License” or “QPL”. How does this new license differ from the old one? The license for Qt Free Edition 1.X does not allow developers to redistribute modified versions of the Qt library. Some argue that the Qt Free Edition 1.X license can delay projects that require either fixes or enhancements to the Qt toolkit. By allowing developers to distribute modified versions of Qt, the new license overcomes this problem.
The KDE project was started at the end of 1996. The developers chose the Qt library over other toolkits such as Xforms and Motif because of its documentation, its look and feel and because they preferred using C++ (Qt) over C (Xforms and Motif). The new QPL will have a positive effect on KDE development and will most likely attract more developers to the project. When Qt 2.0 Free Edition is released, KDE will have the option of modifying Qt for use with KDE and will thus be able to produce more frequent releases.
The Harmony project was started to create an open source replacement for Qt to be used with KDE, allowing KDE to become a part of completely free operating systems. For example, according to the “Debian Free Software Guidelines” (DFSG), Qt's existing license prevents it from being included in Debian Linux. KDE meets the DFSG requirements but requires Qt to run. Harmony's license meets the DFSG restrictions allowing it (and KDE) to be included in the Debian Linux distribution instead of Qt. The developers had also planned on making Harmony an improvement over Qt by adding new features such as multi-threading and themes which are included in Qt 2.0. Although the new QPL is not as open as Harmony's GNU Library General Public License (LGPL), it caused developers to lose interest, and the Harmony Project was shut down in late January.
The GNU Network Object Model Environment (GNOME) project was announced in August 1997. GNOME is built with GTK+, a GUI toolkit originally developed as part of the popular GIMP image tool. There have been many heated debates over the licensing differences between GNOME (GTK+) and KDE (Qt). GTK+ uses the LGPL license, while Qt 1.X has a more restricted license. These issues were behind the initiation of the GNOME project. Now that licensing for KDE/Qt is becoming more open, GNOME's destiny as the desktop for free operating systems might be a little less secure. KDE clearly has a head start, having released KDE 1.1 in February while GNOME 1.0 was announced in March at the LinuxWorld Conference. GNOME, unlike the Harmony project, does have corporate support. Red Hat's Advanced Development Laboratories has a handful of people developing GTK+ and GNOME and has been very committed to the GNOME project.
Caldera became an early adopter of KDE by including it in OpenLinux 1.3 in September 1998, and plans to make it the default desktop for OpenLinux 2.0. Red Hat intends to use GNOME 1.0 for its default desktop and continues to use FVWM as its window manager in the meantime. Red Hat has made KDE available from its “Raw Hide” site which distributes developer releases, and will consider putting KDE into its main distribution when Qt 2.0 Free Edition and the corresponding version of KDE are available. Debian currently distributes KDE and Qt on their “non-free contrib” CD, but not the main distribution because it does not conform to the DFSG. It appears that the new QPL license will allow Debian to include KDE in their main distribution.
The full effect of Troll Tech's new QPL will not be known for quite some time. We'll need to wait for Troll Tech to release Qt 2.0 Free Edition and then for a new version of KDE based on Qt 2.0. Clearly, it will be a positive change for KDE, allowing it to be included in more Linux distributions. The effect on GNOME is less clear, but the QPL announcement does not appear to have affected GNOME development.