This FAQ is under construction.
Table of Contents
- At first, Harmony is a free replacement of the GUI library Qt by
Troll Tech AS. But Harmony is more than just a clone. It will provide
additional features such as multithreading and themeing.
- Qt is a C++ class library which - among other projects, proprietary
as well as free - serves as the base for the K Desktop Environment.
Unfortunately, the library isn't
free software . The main reason is that you cannot redistribute
a modified version of the library.
The Harmony project was launched to make it possible to include
KDE (and any other free programs that were unfortunately designed
to use Qt) in wholly free
operating systems such as GNU and
Debian GNU/Linux.
Harmony will be released under the GNU Library General Public License (LGPL).
- Joel Dillon chose the name. It's meant to help bring together
the KDE developers and those of us who believe that an operating
system should be entirely free software.
- It will be under the LGPL (GNU Library General Public License). With this license copying, distribution and
modification is allowed.
- 1. Gtk is not threadsafe, whereas Harmony has been designed from the ground up to be.
- 2. It would be complicated to write a gtk wrapper that is able to
handle the more esoteric event-handling Qt functions, to the extent
where it would be nearly as simple to start from scratch.
- 3. There are many skilled Qt widget writers who will hopefully
join the project as soon as the infrastructure is usable. There are fewer people
having knowledge about both gtk and Qt necessary to write a Qt-compatible
interface to gtk.
- 4. It would require having the gtk library present to use KDE.
This would be unnecessary bloat for those not also running gtk applications.
- 5. It would be less efficient.
- In most toolkits, you normally have to separate the GUI part from
the non-GUI part of an application, because only one thread can access
the toolkit. Otherwise, you would have to cope with the synchronisation of
toolkit calls yourself. Harmony is different. It allows several threads
to access the screen, and it allows several threads to manage events.
- Of course. It will be even better than the trolls' Qt.
- Be sure. Since it will be absolutely compatible with Qt. Binary
support could not be implemented.
- It will support themes, so it will be able to look as Qt, windows,
mac, gtk, or whatever way. Themes are not hardcoded in the library. Instead,
the widget drawing is done by abstract classes which can at run time be set
to different implementations. So it is possible to put themes in shared libraries and load them without recompiling Harmony itself.
- The aim is to do a X window compatible toolkit. It should be
useful in any Unix box (including Linux).
- We don't know. Be patient.
- Have a look at the mailing list archive. (Sorry, no available yet)
Return to GNU's home page.
FSF & GNU inquiries & questions to
gnu@gnu.org.
Other ways to contact the FSF.
Comments on these web pages to
webmasters@www.gnu.org,
send other questions to
gnu@gnu.org.
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111, USA
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
Updated:
24 Oct 1998 jonas