Chapter 16. Qt and Licensing questions

16.1. What is Qt, by the way?
16.2. Why does TDE use Qt?
16.3. Why does TDE not use gtk, xforms, xlib, whatever?
16.4. But Qt isn't free, is it?
16.5. Can I write commercial software for TDE?
16.6. Isn't Qt3 obsolete and "dead" technology?
16.7. Are there plans to migrate TDE to Qt4 or Qt5?
16.1.

What is Qt, by the way?

Qt is a C++-based class library to build user interfaces. It also includes many utility classes like string classes and classes to handle input and output. It provides most of the widgets you will see in a TDE application: menus, buttons, sliders, etc. Qt is a cross-platform library that allows developers to write code that will compile on Unix-like systems as well as Windows and embedded devices. Learn more about Qt at http://www.trolltech.com.

16.2.

Why does TDE use Qt?

Qt is a sophisticated toolkit that provides everything that needed to build a modern user interface. Qt is written in C++, thus allowing object-oriented development which ensures efficiency and code reuse in a project the size and scope of TDE. In our opinion there is no better toolkit available for Unix-like systems and that it would have been a grave mistake to try to build TDE on anything but the best.

16.3.

Why does TDE not use gtk, xforms, xlib, whatever?

There are a number of toolkits available. To provide a consistent user interface and to keep used resources such as memory to a minimum, TDE can use only one of them. Qt was selected for the reasons mentioned above.

16.4.

But Qt isn't free, is it?

Qt is free/libre. Since September 4, 2000, version 2.2 of the Qt libraries are licensed under the GPL, thereby fulfiling all aspects of free/libre software.

16.5.

Can I write commercial software for TDE?

You can use the TDE libraries to write commercial and closed source as well as commercial and open source software. If you write open source software you can use the Qt free edition. If you write closed source software you may not use the Qt free edition; you need to obtain the Qt professional edition from Troll Tech. For more information, please contact Troll Tech directly.

16.6.

Isn't Qt3 obsolete and "dead" technology?

The definition for "obsolete" varies based upon who applies the term. Generally the term "obsolete" means something no longer is useful or no longer needed. In software circles the term often means antiquated or no longer shiny. Usefulness often is not part of the intended meaning of the word. The term is used as an emotional wedge more than a factual observation.

16.7.

Are there plans to migrate TDE to Qt4 or Qt5?

There are no such plans. Porting Trinity to Qt4 is 5 to 10 years of solid work with current project manpower. Indeed, the KDE4 team of developers needed several years to port KDE and they have many more developers.

A fundamental project goal for maintaining Trinity is to keep alive the spirit and functionality of the original KDE3 concepts. Porting to Qt4 does not support that goal. Qt4 functionality is different from Qt3 (now TQt). Those differences conflict with how users want Trinity to function. The Qt4 environment is too different in focus and functionality to be used as the base toolkit of Trinity.

The idea of integrating certain portions of the Qt4 code has not been abandoned. One of the original reasons for the TQt interface layer was to keep open the possibility of adapting portions of Trinity to Qt4. That has already been done. For example, with the qt4-tqt-theme-engine package for Trinity.

More information about the philosophical and design differences between Trinity and KDE4 are available in Q:2.10 of the FAQ introduction.