The Qt issue
KDE has been attacked for the use of the Qt crossplatform GUI toolkit.
A lot of misinformation has been spread about
Qt and its role and position in the KDE project. We would like to take
this opportunity to explain our point of view.
Read what Linus Torvalds, the creator of Linux, has to say about the licensing
issue.
Why did KDE choose Qt?
-
Qt is the best GUI toolkit available for the UNIX platform. It would have
been a grave mistake to build a project of the size and scope of KDE
with anything else but the best. This is particularly true for a
Desktop project whose success depends critically on the availability
of many great applications. It is imperative for the designers of the
desktop to make application development as easy as possible.
-
Qt is available free of charge to anyone, including its source, for
free software development. Furthermore Qt can be freely distributed.
-
We actively encourage commercial software companies to develop applications
for KDE. Those companies need a mature, high quality toolkit and technical
support. None of the GPL'ed toolkits would have been able to meet these
stringent requirements.
-
While most member's of the KDE project would probably agree that it would
be good to have a LGPL'ed version of the Qt toolkit, if it were of the same
quality as Troll Tech's implementation, we feel a real sense
of urgency and a strong need for building a usable desktop today as
opposed to 2-5 years from now. From a strategic point of view it would
make absolutely no sense to build our own toolkit before starting actual
KDE development. We feel that it is our mandate to build a usable, free,
open desktop first. Once that is accomplished we can rewrite
some of the tools we used. Strategy and timing are important.
-
The KDE Free Qt foundation was founded. This foundation guarantees the continued
free availablility of Qt for free software development as well as the continued
developement of Qt now and in the future. The founding of the KDE Free Qt
Foundation addresses and renders void fears by parts
of the free software community that Qt one day may no longer be available
for free software development or no longer be actively developed.
I don't understand the Qt issue. Please explain.
Don't worry you are not alone ....
KDE uses the Qt C++ crossplatform GUI
toolkit for KDE development. Qt is available for free in source code form
for free software development and can be freely distributed. In particular
there is nothing that prevents a CDROM distributor from legally pressing
copies of Qt on their CD's. You can use Qt to write applications as long as you make the source
code of your applications available for free and you can even sell your application
that you wrote with Qt as long as you make the source code of your application
available for anyone to download. However, if you wish to sell your applications
that you wrote with the freely available Qt toolkit and insist on
not making the source code of your application available for anyone
to download, then you are obliged to buy a license from the creators of
Qt, Troll Tech AS.
Furthermore if you wish to improve the Qt toolkit then you will have
to submit your improvements to Troll Tech who will then merge your changes
with the Qt source tree if your 'improvement' makes sense.
You are not allowed to distribute a
modified version of Qt on your own.
This might have been a bit compilicated, so let us recapitulate:
-
If you want to sell your applications that you wrote using Qt and do not
wish to make your source code available for anyone to download, then you
need to buy a license from Troll Tech.
-
If you want to improve Qt then you need to send your improvements to the
makers of Qt . If your changes make sense they will incorporate them and
make the improved Qt available to anyone through their next weekly snapshot.
Some vocal purists in the free software community object to this
sort of license. This might be hard to believe for a newcomer to the free
software world, after all Qt is available for free to anyone committed to
free software development, but this is the way it is.
The main points of critique are:
-
If you want to sell applications that you wrote with Qt and do not wish
to make your source code available for free then you need to buy a Qt licence.
We believe this point of critique to be unjustified. The most widely used
licence within the free software community is the GPL. The GPL is the de
facto standard and the vast majority of all programs in the free software
community are published under the GPL. However, the GPL license does not
permit you to sell applications derived from sources published under the
GPL if you do not wish to make the source code available for free. This
means that the GPL is a much more prohibitive license than the Qt license
in this respect. With the Qt license you can always buy a commerical license
and this gives you a way out if you want to sell your applications. If
you build on GPL'ed code you don't have this option. You are stuck.
-
If you want to make improvements to Qt you need to send your improvements
to Troll Tech. You can not simply distribute the modified version of Qt
yourself.
In our view it only makes sense that there is one centralized authority
that is in charge of looking after Qt. This is the case with most
free software projects and is widely regarded as a good thing. Otherwise
so called 'fork offs' are a real possiblilty and this sort of branching
is not seen to be a good thing by any group. Some like to argue that you
couldn't fix a security hole that might have snuck into Qt because you
need to send your fixes to Troll Tech first. Clearly, Troll Tech has every
incentive to fix such problems immediately, should they ever occur. Given
the fact that Qt snapshots are published weekly there is no reason to belive
that the fix will not be available almost instantly. Another point often brought
forth against Qt is that Qt doesn't have a certain feature X, say
pluggable styles, and that since one is not allowed to distribute modified
copies of Qt we won't get that feature X. The fact is that Troll
Tech has put all its resources behind the development of Qt. Qt is being
constantly developed and improves at a speed unmatched by any GPL toolkit.
Pluggable styles for example are under development and will most certainly
be finished and usable before an implementation of pluggable styles
is really usable in any of the half-finished GPL toolkits.
The astute reader will have noticed that we have made two critical assumptions
in the above discussion, namely that:
-
Qt will always improve through active continued developement
-
Troll Tech will never cease to make Qt available for free software development
for any reason, be it a buy out, merger, bankrupcy, you name it ...
This problem is addressed by the KDE Free Qt Foundation:
The KDE Free Qt Foundation
The KDE project and Troll Tech, the makers, of Qt have founded the
KDE Free Qt Foundation.
The purpose of this foundation is to guarantee the availabiliy
of Qt for free sofware development now and in the future. Should continued
development of Qt stop or should Troll Tech choose to no longer make Qt
available for free for free software development the latest version of
Qt will be released under a BSD style license, a license much less restrictive
than either GPL or LGPL. The members of the board of the KDE Free Qt Foundation
will assess whether Qt development has stopped in which case Qt will be
made available under a BSD style license. The board of the KDE Free Qt foundation
consists of 2 member of Troll Tech as well as 2 member of the KDE project
who are not affiliated with Troll Tech. In case of a tie, the KDE vote
will prevail.
Harmony
Lastly, there is the Harmony Project. The Harmony project is writing a LGPL'ed
clone of the Qt toolkit. Given the fact that Qt is about 80,000 lines of
code and the fact that Harmony has already written about 25,000 lines within
the last 3 months there is a real chance that a usable Qt clone will be
availabe within a year's time. Just to put things into perspective,
recall that KDE is about 800,000 lines of code today.
( Incidentally,
the i386 version of Linux 2.0.31 consists of about 600,000 lines of code.)
This shows clearly, that if you do not agree with the use of Qt for KDE,
the solution doesn't lie in writing a new desktop from scratch but in
writing an LGPL'ed Qt clone. This is what the Harmony Project does.
Even for GPL purists there is no viable reason to refuse KDE
since a Qt clone will be available in
the not so far future.
We believe that we have made the right decision by first building
a desktop rather than first building a Qt clone. There would have
been a good chance that we would have suffered the same fate that the
GnuStep project had to endure if we had acted otherwise.
The bottom line is, that if you
feel that we should use an LGPL'ed GUI tookit, then participate in
the Harmony Project.
References
|