# &Qt; and Licensing questions

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; systems as well as &Windows; and embedded devices. Learn more about &Qt; at http://www.trolltech.com.

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; systems and that it would have been a grave mistake to try to build &tde; on anything but the best.

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.

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.

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.

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.

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 trinity-vs-kde4 of the FAQ introduction.