A Window on the Desktop

The subject of Linux on the desktop is always a sticky one. One reason is that many people believe that Linux just plain does not belong on the desktop -- or at least on the mainstream desktop; they believe it will always be preferred as a server OS.

The subject of Linux on the desktop is always a sticky one. One reason is that many people believe that Linux just plain does not belong on the desktop — or at least on the mainstream desktop; they believe it will always be preferred as a server OS.

Then there are those who believe that Linux’s lack of success in the desktop market doesn’t matter, because the desktop is irrelevant. According to these people, Linux’s future lies with the next generation of handheld and various embedded devices that will be connected to the Internet.

And then there is the argument that having two feuding desktop standards, KDE and GNOME, makes it impossible for ISVs to port their applications to Linux. Until there is a single standard to write to, many ISVs would just as soon not bother with Linux’s still-tiny desktop market share.

The funny thing about all the pessimism regarding Linux on the desktop is that it contradicts why Linus created Linux in the first place. He wanted a Unix he could run on a desktop 386 machine, like the one he had at home.

It’s ironic that the very diversity and innovation inherent in the open source development model, the forces that led to the development of Linux in the first place, may also make it impossible for Linux to achieve critical mass on the commercial desktop.

Of course, it doesn’t have to be that way. There are lots of good ideas and great technologies underlying both GNOME and KDE and their respective GUI toolkits, GTK+ and Qt.

It would be wonderful if the GNOME developers and the KDE developers could find ways to integrate the best parts of their respective technologies and present the world with a unified desktop GUI API.

However, smarter people than I have traveled down that path and found that it leads to nothing more than endless philosophical arguments. So what can be done? Can two desktop standards co-exist indefinitely? I think the answer is yes, they can, but only if the community wants to shoot itself in the foot.

What I mean by that is this — both KDE/Qt and GNOME/GTK+ are viable desktop environments and both have a devoted group of users and developers. Even if the projects never find a way to work together, the technical communities that use them will always be able to support themselves and continue advancing the state-of-the-art in their own little world.

But if that’s the way it’s going to be, then Linux will never become a mainstream player on the desktop.

In my opinion, the community has a choice. We can continue to develop and support two divergent sets of technologies and continue to play in our own little sandbox. Alternatively, we can try to find ways to resolve the philosophical differences between the two groups and work on developing a common desktop GUI API. I think this would give commercial software vendors a greater sense of security and lead to more commercial desktop applications being ported to Linux.

Diversity is a good thing, and I would never want to see anything happen that might impinge upon the freedom of open source developers and users. But at the end of the day, standards have a place in this world too, and in some cases, adherence to a standard can allow a system to flourish, creating even more diversity than would have been possible otherwise.

And when it comes to Linux on the desktop, I think a little standardization might help more than it hurts.