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.