Posted by CmdrTaco on Wednesday July 15, @04:36AM
from the fear-the-flame dept.
Allright I know I said no more Gnome/KDE stuff, but Bruce Perens asked me to post this, and its worth reading. Now I'm going to be frank here guys, keep the comments under control. I know this is a hot issue, but think before you post. This issue is a major schism, and we need to solve it, not bicker amongst ourselves about it. Now hit the link below and read Bruce Perens rebuttal to Linus' opinions on the KDE/Gnome debate. Update I had to close the comments. Not because they were bad, but because we had 95% of the httpd processes on this machine serving up that story. 200+ comments in 6 hours was just too much. Anyone wanna swap a boatload a RAM for advertising? If we can get more RAM, this hopefully won't happen again.

The following is a feature written by Slashdot Reader Bruce Perens


Why KDE is Still a Bad Idea

Bruce Perens

bruce@opensource.org

Linus Torvalds is a nice guy, and I like him. Some days, though, he really misses the point. One of those Linus-in-space moments happened recently, when Linus allowed himself to be quoted saying:

Linus is really missing the point here. KDE's authors indeed have a right to choose any license they want. The problem is that they are pushin g KDE as a standard GUI for Linux. And that changes all of the rules. When something's promoted as a Linux standard while a critical component of it has a bad license, every free software developer who has contributed to Linux has a right to complain without being despised by Linus. Their complaints are not whining or flaming. There is a real problem and they sincerely want to see it solved.

I'm pretty familiar with standards. For example, I'm leading the Linux Standard Base development, which is meant to make all Linux distribut ions install and run third-party software compatibly. In that project, we've chosen to avoid the KDE-GNOME controversy by not including either system in the standard. However, we've also chosen for everything in the standard to be 100% Open Source, because the major strength of Linux is the fact that anyone can change it, redistribute it, and use it as they like. So, even though I won't be the person making the decision, I can still tell you why KDE must not become the standard GUI for Linux.

What's the Real Problem with KDE and Qt?

The KDE authors chose to use Troll Tech's Qt library, even though its license made it impossible for others to maintain it or port it to other window systems. That's right, you're not allowed to distribute modified versions of Qt, even to fix a bug, no matter how severe the problem is. That's one reason the KDE beta test was so long - they were waiting many months for Troll to accept simple patches into Qt for bugs that broke KDE. Think about how long this sort of thing could delay the next port of Linux to a new computer architecture. The Qt license also doesn't allow free use of Qt except under the X Window System. People are starting to realize that X won't live forever.

Of course, the reason for the license restrictions is that Troll Tech makes most of their money from Qt ports for other platforms, such as their expensive Microsoft Windows developer's package. They don't want the competitio n of an Open Source product in that market.

The Free License That Wasn't

All of the Qt license criticism was eventually half-responded-to with something called the KDE Free Qt License. Whenever I think about this, I wonder how well the phrase red herring translates into other languages. A red herring is something that isn't really what you are meant to take it for, something that's meant to distract you from the real problem. That's how I'd describe the KDE Free Qt license. Its license terms do not take effect unless Troll Tech stops maintaining Qt, or is bought, or goes out of business. Until then, you still can't modify Qt or port it away from X. So, should we hope that the Qt people are real nice to us and get bought or go out of business as soon as they can, so that we can have a good license on their software? I won't hold my breath.

The Rest of the Free Software World Should Clean Up After Us!

The KDE developers dismissed the problems with Qt, saying If people don't like Qt's license, they can just write a free clone of it! I read this as the rest of the free software world should clean up after us! If we want to make full use of Qt on an equal basis with the rest of Linux, we just have to clone about 100,000 lines of code and documentation, which happen to be owned by a company who can tie us up in an expensive lawsuit for copyright infringement the minute we're done. In fact, if we want to try to avoid that lawsuit, we have to do it as a clean room operation, because there is no Qt documentation that is not covered by Qt's license. One team has to document the Qt APIs, and the second "clean-room" team, who must not be allowed even a glance at the copyrighted code, must write the clone from the first team's documentati on. You must also be careful about what country each team of this clean-room operation works in - there are national laws against this kind of thing.

But look at the technical history of other cloning projects. WINE and Willows are both efforts to clone parts of Microsoft Windows. Their task is different from that of a Free Qt project, because they have published documentation on Windows and need not comply with a special license like the one that Troll places on Qt's documentation . Although Willows and WINE have made much progress, neither project shows any sign of being finished after years of effort, in part due to the moving-tar get nature of the software they are attempting to clone. A Free Qt project would suffer the same fate. Even Linux has only succeeded as a clone of Unix because the definition of Unix was stable, and clear written standards were available.

Despite these problems, I proposed for SPI to fund a FreeQt project about a year ago. SPI would have gone ahead with it except for just one thing. I asked the KDE folks to promise that they'd use FreeQt when it was done, and they would not agree.

What's the Next Bad Decision Going to Be?

Let's say we do clean up after the KDE team by writing a free Qt, we clear all of the legal hurdles, and we eventually persuade the KDE team to use it. Can we trust them not to make another decision just as bad as the one to use Qt? Would we end up re-implementing another commercial product later on? Perhaps it would be better to direct our efforts toward helping people with a better track record of making good decisions.

But Must It Be Open Source?

Some people will tell you it isn't really important that Qt is not Open Source. They are ignoring the fact that the major difference between Linux and Microsoft Windows is not a technical one, it's that Linux is Open Source and can be freely modified and redistributed by anyone. It's not important that everything on your favorite Linux distribution be Open Source, but any standard part of Linux must be Open Source. If it isn't, we are discarding the main strength of Linux against proprietary software, the freedom for anyone to change it, redistribute it, and use it as they like. That freedom is the sole reason for all of the innovation in Linux and all of its success. By making the decision to give up that freedom for a critical component like the GUI, we simply substitute a new set of masters for Bill Gates.

What about GNOME?

The people who are working on GNOME didn't want to see KDE, with its dependency on Qt, become the standard GUI for Linux. They complained about this as soon as the KDE project was started, when KDE's developers had lots of time to change their mind. But nobody on the KDE team listened, and those developers founded the GNOME project.

What kind of people are the GNOME developers? I recently had an opportunity to find out. I spent a day with them at the GNOME summit, at RHAD labs, the day after Linux Expo. What I found out is that they are smart. I'll tell you my benchmark for smart. I work at Pixar Animation Studios, the computer-graphics facility where we wrote and animated Toy Story, and where we're now finishing A Bug's Life. You can imagine that there are lots of smart people there. My day with the GNOME developers convinced me that, as a group, they are at least as smart as my colleagues at Pixar.

But what should convince you that the GNOME folks are smart is the care that they are taking to get the details right that KDE's developers got wrong. For example, they took the trouble to develop the Open Source GTK+ library to the point that it was usable for their project, rather than accept the already-done Qt with its poor license. The chose an Object Request Broker library that was technically OK, with an Open Source license, and then when they felt they could improve it, they started to write their own ORB, also Open Source. They attracted the most brilliant developers, including Alan Cox, the primary architect of Linux networking, and Rasterman, developer of the Enlightenment window manager. They persuaded Red Hat to put six salaried people on GNOME development , so that we are assured that GNOME will be developed quickly and will soon surpass KDE. There are no show-stoppers like the Qt license in GNOME that would prevent it from being accepted as the standard GUI of Linux. The GNOME developers simply would not tolerate that kind of problem. They put the same sort of care into the technical decisions they make about GNOME.

GNOME Will Become The Standard GUI of Linux

Because it is 100% Open Source, because it is technically quite good, and because of the wisdom of its development team, GNOME will become the standard GUI for Linux. A large portion of the free software community will simply not accept KDE because of the Qt license. The only chance left for KDE to reach that goal is for them to drop what they are doing and rush to finish the a Free Qt now. However, the KDE developers themselves admit that they are too familiar with the internals of Troll's code for them to write a Free Qt themselves without infringing on Troll Tech's copyright. So, who will write the Free Qt? One of the two main developers of Harvest just got a job (at Red Hat), so I'm not sure it will be him. I'm pretty confident now that before a Free Qt can be done, GNOME will be in 1.0 or some higher release and will have established itself as the standard GUI of Linux. KDE will stay around as a good desktop with a faithful, though slowly diminishing, user community, but it won't grab the brass ring.

He's Linus, and He is Your God

Let's get back to Linus, since it was his ill-considered statement that inspired this editorial. Linus recently introduced himself at his Linus Expo this way: Yes, I'm Linus Torvalds, and I am Your God. Having embraced his own god-hood, Linus must now learn that gods must behave more responsibly than the people around them. He could start by thinking a lot harder before he publicly announces that someone is a despicable whiner.
 

Copyright 1998 Bruce Perens.