news.samba.org

Jeremy Allison Column Archives

The Low Point — a View from the Valley — Column 12

“We are the champions...”

The sporadic Linux desktop wars erupted again recently. The first skirmish was a report criticizing my my own employer, Novell, saying they were “dropping support” for one of the favorite varieties of Linux desktop software, KDE (standing for “the Kool-Desktop Environment” in favor of GNOME (the “GNU Object Model Environment”). That was quickly followed by a retraction from Novell that KDE supporters hailed as a victory. The second ambush was from Linus Torvalds himself, claiming on the GNOME usability list that GNOME developers thought users were “idiots” and people should just “switch to KDE”. Whereupon the GNOME supporters invaded the pitch and a brisk battle with broken bottles occurred until the referee had to abandon the game. Sorry, wrong sport. But very similar supporters.

Why are there two competing Linux desktop environments, both based on the underlying X Window System ? The answer lies in the split between the “Open Source” and “Free Software” philosophies. KDE was started first, in 1996 and made the mistake (to Free Software advocates) of selecting an initially non-Free Software toolkit technology called “Qt” created by a Norwegian company called TrollTech to base their desktop environment on. The fact that Qt wasn't Free Software wasn't a concern to the KDE developers, they just picked the best technology available at the time, damn the freedom of their users. This caused the Free Software camp to respond by creating GNOME, with a particular arrogance of their own. Usually, when software is mainly free and only dependent on one non-free component Free Software developers will work diligently to replace that non-free component with a compatible Free Software replacement. That isn't what they did with Qt. After an initial half-hearted attempt to replace Qt they decided to ignore all the amazing work already done by the KDE developers and instead thought they could quickly replace it by picking a Free Software toolkit called GTK (the “Gimp Toolkit”, originally created from scratch for the GIMP graphical manipulation tool). The KDE supporters kept coding, so did the GNOME people and after a long period of not talking we've reached the current situation today. Even after TrollTech eventually released the Qt toolkit under the GPL license the momentum behind the two software camps was too large to stop.

This reminds me of something. Let's look back in time to 1994. I'd just arrived here in the Bay Area to work for Sun Microsystems on an exiting new grpahical toolkit called “OLIT”; the Open Look Interface Toolkit. At the time Sun and AT&T (who owned UNIX) were competing with a competing consortium of vendors called the OSF (Open Software Foundation, which included IBM and HP). One of the ways they were competing was with a choice of UNIX desktop environments. Sun and AT&T were backing “Open Look”. OSF had developed a competing technology called “Motif”. Both were based on the underlying X Windows System, the arguments were about what application API's that software vendors would use. Both systems, like KDE and GNOME, looked different to the users. This wasn't a Open Source/Free Software split, both systems were proprietary software, the argument was really about who would attract the most third party software to “win” the desktop war.

I was fairly agnostic over this. Even though I was working on an Open Look toolkit, I was busily learning Motif (the “other” one) in my spare time. What really opened my eyes was going to a “X Windows” conference in San Jose, where all aspects of X Windows technology were being discussed. Both camps were there in force of course. My abiding memory is listening to one of the architects of the X Windows System (who I'll not name here for obvious reasons) answering questions from application developers. One question was from a developer working for Lotus Corporation, at that time the leading spreadsheet vendor (the “Lotus 123” product, if anyone can remember any non-Microsoft Office applications). She explained to him she was porting code over from Microsoft Windows, and wanted to know how she could make the printing code work, as on Windows you could just redirect the graphical commands to a printer object and you'd get the same output on paper as you did on screen. He fixed her with a steely glare and replied sternly “X is a Windowing system. It's not my job to tell you how to talk to your printer !”. I remember actually slapping my forehead on hearing that response. The Lotus developer walked out vowing never to develop on Motif or OpenLook again. Thus I can introduce the famous joke of the time.

At this point, asking the KDE and GNOME people to merge has as much chance as asking OpenLook and Motif to bury their differences did. About as useful as the “Can't we all just get along” appeal from Rodney King as Los Angeles rioted after the trial that acquitted the LAPD officers filmed beating him up. But I'm willing to stick my neck out and predict a long-term winner in the KDE/GNOME wars, but probably not for the reasons you might think. Technically they're both wonderful, I use both myself. What will cause the long term victory of GNOME is licensing.

Most KDE applications are GPL licensed, as are most GNOME applications. The difference is in the licensing of the underlying toolkit. Qt is still owned by TrollTech who practice a successful Open Source business by dual licensing their product. It's available under the GPL for other GPL applications like KDE, but if you want to create a proprietary application you have to buy a developer license from TrollTech. The toolkit used in GNOME on the other hand is licensed under the LGPL. This allows use by proprietary applications without them having to be also under the GPL (and ship source code). There is no extra step of buying a developer license needed. This one crucial difference means the dominance of GNOME in the long term. Proprietary application vendors are lazy and cheap. I know as I used to do this for a living. One of the first things I did when coming into a new company was to switch out proprietary compilers for the Free Software GCC compiler. Not because it was better (although it was), but because it meant the developers didn't have to jump through one extra step to get licensing approval to buy a compiler to write code. That small extra step isn't really small. It means getting a purchase order and going through the purchasing approval department, as opposed to just downloading the compiler (or toolkit) and starting work.

The Linux desktop is coming, and even though I'm a Free Software person I know that proprietary applications will be a big part of it. Increasingly those applications will be written to use GNOME, as the developers don't want to talk to purchasing. It's the little things that make a big difference in the end. I'll leave you with a song both the KDE and GNOME camps can sing along to.