Chapter 19. Licensing Issues

by Kurt Gramroth

In This Chapter

Perhaps the most common (and most commonly misunderstood) issue surrounding the KDE project is the licensing issue. The combination of licenses between KDE and Qt make the issue less than obvious, especially if you are using KDE/Qt to develop a closed-source or commercial application. These issues, for all their complexity, are manageable. This chapter will arm you with the information you need to sort through how the KDE licensing will affect your own software.

This chapter starts by giving a quick overview of the licenses and how they interact. Then it describes the individual KDE and Qt licenses in a little more detail. Finally, it provides a short history of the Qt licenses to give the licensing discussion (and the "flame wars" that invariably follow) a little context. The text of several of the licenses discussed (GPL, LGPL, QPL) may be found in Appendix A, "KDE-Related Licenses."

19.1. What Are the "Issues?"

In some cases the KDE project uses a different license than the one that Trolltech has chosen for Qt. These licenses have different goals and purposes and apply to software projects in different ways. As a quick example, you may freely use the KDE libraries in any sort of project, free or not. However, if your project is not free, you must pay for a Qt license.

19.1.1. What Licenses Are Involved?

The KDE project does not, as a policy, require code to conform to any specific license to be included in the base packages. However, the code is required to have a license and the license must be Open Source. That is the official policy.

The reality of the situation is that nearly all code in the KDE libraries is covered under the Library GNU Public License (LGPL) as defined by the Free Software Foundation (FSF). Nearly all code in the KDE applications is licensed under the GNU Public License (GPL), also defined by the FSF. Those bits of code that are not licensed under the LGPL or GPL (like the DCOP system, KWin, and Kicker) are usually licensed under a "public domain" style license (for example, BSD, X11, or MIT), which states that you may use the code however you like as long as you don't sue the author. The code that falls under those licenses is invariably that which we encourage developers to incorporate into commercial products (to make acceptance more universal, for instance).

The Qt library license varies depending on the version number. All versions prior to 2.0 are covered under the FreeQt license. All versions including and after 2.0 are covered under the Q Public License (QPL). Versions of Qt including and beyond 2.2 may also be covered under the GPL. To be a little more precise, this only refers to the "free" version. In all cases, commercial closed-source development requires a Qt "Commercial" license (explained later in the section "The FreeQt License").

19.1.2. How Do the Licenses Affect Me?

The interaction between the KDE and Qt licenses and your own project varies based on your project's licensing structure. This section lists various common setups. Find the one that matches your situation and you will see how the licenses affect you.

  • "My project is completely covered by an Open Source license."

  • This is the easiest (and most common) situation. In your case, you may use the KDE and Qt libraries to develop your application without having to pay any money to anybody. There are also no restrictions as to how you use the KDE libraries. Qt restrictions may apply, dependent on which version of Qt you are using (Qt 1.x or Qt 2.x).

  • "My project is completely closed source."

  • This is the second easiest (but much less common) situation. You may use and link to the KDE libraries but may not modify them. You must also contact Trolltech for a Qt Commercial license, and you will have to pay for that.

  • "My project is covered by an Open Source license, but I plan to sell it commercially."

  • In some ways, this is similar to the situation of the Linux distributors in that they take Open Source projects and package them up commercially. You may use and modify the KDE libraries in the standard way. You may also use the Qt license without having to buy the Commercial license.

  • "My project is not Open Source, but I give away the executables without charging for them."

  • This is similar to what Microsoft does with Internet Explorer. Unfortunately, just the fact that you give away the result does not make the project free—and that is what is used to determine the interaction between the KDE and Qt licenses. The end result is identical to the earlier closed-source situation: you may use but not modify the KDE libraries, and you must purchase a Commercial license from Troll Tech for the use of the Qt license.

  • "My project is for internal use only. My company does not plan to ever release the finished product."

  • At first glance, this situation seems ambiguous; it's really not. When the various licenses refer to distribution, they are not just talking about releases to "the outside world," they are also referring to releases within a closed system (for example, an internal company or division-wide release). Evaluating the licenses in this case is nearly identical to all the other cases examined.

  • Everything hinges on whether or not your company (and boss) allow you to license your project under an Open Source license. If so, then you may treat it like any other Open Source project, regardless of whether or not it is internal. Basically, if any user of your project (in this case, a "user" is another employee of your company) has the right to demand the source, modify it, and redistribute it for free, then you may use Qt like any other GPLed library. If doing so contradicts company policy, then you must contact Trolltech for a Commercial license.