GNU's Bulletin						 July, 1997


Replacing Qt
************

The GNU Project is looking for volunteers to work on developing a free
compatible replacement for the Qt GUI toolkit.

Qt is not free software because its distribution terms are too restrictive.
Users do not have the freedom to make changes, or the freedom to release
their changes for the community to use--freedoms which are a crucial part of
the meaning of free software.  Even developing an application program which
uses unmodified Qt carries, in some cases, an unacceptable requirement--to
notify the owners of Qt.

A secondary consequence of the restrictions on Qt is that linking Qt together
with code covered by the GNU GPL violates the GNU GPL, because the combined
program is not free software.  (It makes no difference whether the linking is
done statically or dynamically; either way is creating a combined program
which the GPL applies to.)

But Qt is available to run at no charge, and some developers of free
applications are starting to make their programs use it.

This a serious problem for developing completely free operating systems.  Qt
cannot be included in a free operating system, because any system which
contains Qt is, by consequence, no longer entirely free software.

If a free application needs Qt in order to run, free operating systems cannot
use that application either.  We would be legally permitted to use the
application itself, and the system could still be free--but including the
application without Qt won't be any use.

The only feasible way to make these applications run on free systems is to
develop a free substitute for Qt.  Hence this project.

To make the goal precise, the new GUI toolkit needs to be mostly compatible
with Qt in regard to API.  How compatible must it be?  Compatible enough that
it is easy to make the free applications use it.  In other words, this
library should be compatible enough to do the job of making the applications
run.

This new toolkit does not need to have each and every feature that Qt has.
It just needs to have the features that the free applications use and cannot
easily do without.

The screen appearance and behavior of the replacement package do not
necessarily have to be compatible with Qt.  If they are convenient and work
well with the applications that use the library, that is good enough.

Please send email to `gnu@prep.ai.mit.edu' if you would like to help with
this project.

This project will take some time.  In the mean time, if you are developing a
free application, please do not use Qt.	 Please use a free GUI toolkit
instead.