Problems with the Qt Free Edition License

6 August 1998

Marc Ewing CTO, Red Hat Software

The Qt widget library, published by Troll Tech [1] has been the topic of much current debate in the Open Source(R) community. This paper sets forth Red Hat Software's position with regard to Qt, and to illustrate the rationale behind our decisions.

The Qt widget library has been used in many software projects, including the Kool Desktop Environment [2], an effort to produce a free high quality graphical desktop environment for UNIX-like operating systems. Although it is the existence of KDE that has initiated the current discussions, it is important to emphasize that it is the license of Qt, not KDE, that the discussion is about. The KDE license is the GNU GPL [3], while the Qt license is purpose-written by Troll Tech to allow use "free of charge for developing free software" [4]. In fact, this license poses restrictions on authors of Open Source software that are contrary to the Open Source Definition [5], and restrictions on authors of non-Open Source software that would not exist if Qt were licensed with the GNU LGPL [6].

Before continuing it is important to acknowledge that it is of course Troll Tech's right to distribute Qt under any license terms they see fit. Troll Tech's Qt license is simply problematic for Open Source software developers and distributors.

PROBLEMS WITH THE QT LICENSE VIS-A-VIS OPEN SOURCE SOFTWARE

The Qt license prohibits modifications to Qt. Specifically, it states "You may use the Qt Free Edition to create application programs provided that ... Your software does not require modifications to Qt Free Edition". This clause is contrary to the Open Source definition's clause allowing modifications and derived works. As a practical matter, this means you are not allowed to fix bugs in Qt, even if they are so serious as to cause security problems. You are not allowed to make improvements to Qt. These improvements and bug fixes by the community are an important step in the Open Source development cycle, and are the driving force behind the quality and feature set of the Linux operating system.

In contrast to the LGPL, the Qt license requires you to pay substantial license fees if you develop and sell commercial applications that dynamically link against Qt. Specifically, if you link your software with Qt, your software must be distributed under the GPL or LGPL, or it must allow free modification and distribution of the source. This effectively says "your software must be Open Source even though ours is not", and curiously means that if you distributed your software under the Qt license you would not be able to link with Qt!

There is a final important issue concerning developing GPLed code that uses Qt. The GPL certainly satisfies all the requirements of the Qt license. However, the terms and conditions of the GPL, section 3, state that:

  1. The source code to your program must be distributed with the program (or be made readily available).
  2. The source code means "all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable"
  3. The source code must be distributable under the terms of sections 1 and 2 of the GPL.
  4. The only exception is that source code does not need to be distributed for "anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system".

Since Qt is not part of any operating system, to ship a GPLed application using Qt, you must also ship or make available the source to Qt under the terms of the GPL. Since this is not possible under the term of the Qt license, the logical result is that you may not use Qt in any GPLed applications.

While this analysis is the subject of some debate, it may in fact be illegal to distribute Qt-based code under the GPL at all.

CONCLUSIONS

These are the fundamental problems with the Qt license when writing Open Source software. But there is another problem that exacerbates the situation, and is in some sense the real problem. To the Open Source developer who is not fully educated in the details and rationale behind the Open Source Definition, the Qt license may seem "free enough", and they may unknowingly write software that depends on a non-free component.

This, in fact, happened with KDE and continues to occur. KDE is very nice software, and it is gaining popularity as a desktop. Should Qt become widely adopted by Linux users as part of the Linux operating system standard, it would be a serious setback to the benefits that true Open Source software provides.

According to Bruce Perens, principal author of the Open Source Definition, "it's not important that everything on your favorite Linux distribution be Open Source, but any standard part of Linux must be Open Source. If it isn't, we are discarding the main strength of Linux ... the freedom for anyone to change it, redistribute it, and use it as they like. That freedom is the sole reason for all of the innovation in Linux and all of its success." [7]

After fully considering all the issues, including the questionable legality of linking GPLed software with Qt, and the restrictions its license places on our users, we have decided that we will not include Qt as part of our standard Open Source based Linux operating system as long as it is distributed under its current non-Open Source license. To ship Qt would be a breach of our responsibility to our users, who trust us to ship only Open Source software in our core Linux operating system product and who could unknowingly become subject to Qt licensing fees in the process of developing Linux software. It would also show a lack of commitment to the Open Source community and principles that have proven themselves over and over and are a large part of our success. Without Free software, Open Source, and the development community, there would be no Linux.

REFERENCES

[1] http://www.troll.no
[2] http://www.kde.org
[3] http://www.gnu.org/copyleft/gpl.html
[4] http://www.troll.no/free-license.html
[5] http://www.opensource.org/osd.html
[6] http://www.gnu.org/copyleft/lgpl.html
[7] http://slashdot.org/features/9807150935248.shtml

"Open Source" is a registered certification mark of Software in the Public Interest. "Qt" is a trademark of Troll Tech AS. "Red Hat" is a trademark of Red Hat Software, Inc.

 

Copyright (c) 1998 Red Hat Software