[LWN Logo]

Date: Thu, 19 Nov 1998 02:52:29 -0500
From: Paul Iadonisi <iadonisi@colltech.com>
To: lwn@eklektix.com
Subject: The New QPL license

  I hope you will consider publishing this.  I'll be sending to a few
other places, but figured LWN was a good place to start.
---

            The new QPL license -- Good for Linux?

  I've rarely if ever spoken out publicly about the so-called KDE
vs. GNOME flame wars.  In most cases it has been because as soon as I
think of something, someone else posts it.  I've done my best to
remain unemotional about the whole thing, and I've done pretty good at
it.

  This editorial actually started out as two separate email messages
to a linux mailing list internal to my company.  Those who know me
know that I am a *rabid* advocate of the GPL.  Now that doesn't mean
that I oppose non-free software.  I use Applixware from Applix and
Xvscan from Tummy.com.  If I see an application that has no equivalent
free version that I believe is worth the price, I'll shell out for it.

  When the rumor started on Tuesday, November 17 (before the QPL was
actually) published, it had the sound of really good news.  I'd been
in the GNOME 'camp' for some time (but I still *use* KDE).  But one
thing still really gets on my nerves.  It's not with Troll Tech AS,
nor the QPL license, but it's with the comments on Slashdot and
elsewhere that imply that there was some hidden reason why those
against the KDE/QT license criticized it.  The discussions have been
categorically called flamewars to the point that you couldn't mention
your dislike or disagreement with the QT license without being branded
as a KDE-basher.  What gives?  I mean, as far as I'm concerned, we
'almost' won!  The controversy had the potential to have a positive
effect on Troll Tech AS's QT licensing policy, and it came real close.

  For the record, I've been using KDE for several month's -- since
Beta4 -- and I like it.  But I absolutely, 100% agree with Redhat's
statement, and later Debian's statement about each of their stances on
the QT license and why they wouldn't ship KDE.  No doubt, it'll now be
a no-win situation for both Redhat and Debian.  If GNOME gets better
than KDE before QT 2.0 comes out and they ship GNOME instead, they'll
be accused of being partisan and/or uncooperative.  If they ship KDE,
they'll be accused of flip-floping when it was Troll Tech AS that
changed its mind.

  *sigh*  Such is life on the Internet!

A Brief Recap of Some License Differences
-----------------------------------------

  There was an excellent article in the September, 1996 issue of Linux
Journal that compared and contrasted the GPL, LGPL, BSD, MIT-X, and
shareware licensing.  I highly recommend those who are interested
(re-)reading it.  Obtain a copy from a friend or order the back issue
from SSC.

  The question I usually ask when discussing the merits/demerits of
each license is, who do you want to protect?  There are basically
three groups to consider.  There is the original author who may or may
not want to be protected against his software being modified without
the benefit of being allowed to include the changes in his own next
release.

  The there is the 'other developers' group, i.e.: those that develop
derivative works of free software.  A license can be designed to
protect or not protect the 'intellectual property' (a whole other can
of worms -- IMO the instant you share any information, it no longer
belongs to just you, but to those with whom you shared it -- but, of
course, software is much more than just information, so the point may
be moot) of these subsequent developers.

  And then there is the largest group of all, the end users.  A
license can be designed to protect these users from per machine or per
user fees or from not being allowed to give it to friends or
co-workers to use.  It can also protect end users from evolutionary
dead ends -- the vendor goes away and so does the source for the
software any reasonable hope of it ever being updated.

  The GPL protects groups 1 (original developer) and 3 (end users),
while the BSD only protects group 2 (other developers) and only
marginally protects group 1.  With the BSD, someone can modify my
originally authored software, sell it for an exorbinant price and
force per user or per machine licensing.  All he has to do is give me
credit for the original work.  Although the credit would be
appreciated, it rubs me the wrong way, as I would likely intend that
the software always be freely redistributable and unencumberd by per
user or machine licensing fees even if someone else makes changes to
it.

  The GPL, unlike the BSD, ensures that my software, and any of its
derivatives will never be orphaned to the point that I can't ask (or
even hire for pay) someone to enhance it.  The BSD, because it allows
modified binary only redistributions, can be a dead end if the
modifier goes out of business and loses or otherwise does not publish
his changes to the original base BSD code.

  Although the GPL says that derivative works must be free, free
software libraries are usually covered by the Library GPL (LGPL).
This modified version of the GPL allows dynamic linking of non-free,
closed-source software.  But if you modify the source of an LGPLed
library, the same restrictions apply.  That does *not* however mean
that you must release your application's source code, just your
changes to the LGPLed library.

  It was my hope that the new QPL would alleviate the problems the
GNOME advocates (including myself) had with KDE.  But, sadly, I have
to agree with some of the Slashdot posters.  The new QPL, solves one
problem (modification is now allowed) but ignores a much more crucial
problem.  Put yourself in a the position of ISV who wants to develop
closed-source software for Linux.  Before the QPL, you purchase
Caldera OpenLinux or SuSE Linux, (KDE bundled with it) and you look at
the possible bundled X toolkits you could use to develop your
application.  You stumble across QT when looking at how KDE is built
(you are presumably looking at the details of KDE because you would
like to integrate your application with the desktop 'experience' as
much as possible).  You then find out that you must pay exorbinant
(for a small ISV, at least) fees to a company that you never heard of
called Troll Tech.  'Wait a minute, now!  I bought my OS from Caldera
(or SuSE).  Who do these guys at Troll Tech AS think they are!  Never
mind that, Caldera can go fly a kite, now, for selling me an OS that I
can't develop for without paying some other company.'  This would
reflect badly on Caldera -- who can blame Redhat for not shipping it?

  Now, with the QPL, Troll Tech AS came up with a simple solution.
Instead, design a license that basically says you *can't* develop
software using QT that you charge money for.  So, now, instead of
charging developer fees to those writing non-free software, they've
decide that you can't develop non-free software with QT at all.
Brilliant.  The QPL is rather close to the GPL (or closer the MPL),
which is *not* good for libraries.  That's why the LGPL exists.  The
LGPL allows linking (dynamically) for non-free, closed-source
software.

  Sure, you can get the Professional Edition of QT and pay Troll Tech
AS to develop with it -- your software will then run with QT Free
Edition.  But, then you are back to the same situation of paying 'some
other company' that somehow snuck between you and your OS vendor.

  Don't get me wrong -- Troll Tech AS has every right to protect their
revenue stream.  And that's why I still believe going with QT was a
bad choice.  QT does not suck.  KDE does not suck.  But using a
library from a company that (rightfully) wants to continue to make
money off of it was a bad choice.  It was a bad choice for a fully
free desktop that should have allowed development of both free and
non-free applications that are well integrated with the desktop
without paying some third party any fees.  Because GNOME uses GTK+
which is covered under the LGPL, there are no issues (other than the
fact that you must link dynamically, which is the default on most
systems, anyhow) whether you are developing free or non-free software.
I've argued with Brett Glass publicly on the Infoworld forums on an
occasion or two (as have many others) about the serious problems he
has with the GPL.  All of the objections Brett has about the (IMO,
unsubstantated and/or unjustified, especially if you take the LGPL
into account) GPL are embodied in the new up coming KDE/QT[QPLed]
pair.  (No ill will towards Brett, though.  I value his contribution
to those forums and my occasional visit to www.ymmv.com.)

  This whole thing really stinks.  Troll Tech AS has presented this as
solving a controversial problem with KDE (and Linus agrees!  proof
positive that he is not God ;-)), when, IMO, the situation is now
worse.  Why?  Because, if my guess is correct, Redhat will see this as
I've explained above and *still* not ship KDE because of the potential
problems with non-free software development by their customers.  If
Redhat doesn't ship KDE/QT, it will probably keep the friends and
supporters it has had regarding this issue (Donnie Barns mentioned at
the January, 1998 meeting of Boston Linux & Unix that a good chunk of
its customers said they would switch to another distribution if Redhat
shipped with [pre-QPL] QT), but those who didn't understand Redhat's
position will hate them even more, seeing them us uncooperative.  If
it still doesn't ship QT, I will admire the company for its
consistency of purpose.

  Curiously, the QPL may be acceptable to Debian.  Debian seems more
rabidly GPL (almost Stallman-like) than any other distribution.  Under
that RMS-like philosophy, there is little to no rejoicing when
non-free software becomes available for Linux.  So since non-free
software is frowned upon and the QPL restricts only non-free software,
who cares?  Ship KDE and screw the non-free software developers.  I
don't necessarily think this entirely bad, but I just think that
Redhat doesn't see it that way.

  I can only hope now that either GNOME surpises KDE by surpasing it
in functionality, seamlessnes, and stability; that Harmony makes
significant progress in replacing all of the QT functionality with
LGPL software; or both.

  So I encourage the GNOME developers to persevere and don't see it as
pointless to continue development of this great network desktop
environment.  I also encourage those working on Harmony, the LGPLed QT
clone, to keep up the good work.  It appears to be too late to
encourage KDE to switch tookits, given the amount of work already
done, so I can only encourage you to keep up the great work and
support Harmony as a QT replacement in any way you can.

Copyright, Paul Iadonisi, 1998
You may freely copy this article, provide this copyright is left in tact.