There are two real desktop environments for Linux: KDE and GNOME. Yes XFCE and others, I’m completely leaving you out. There are always people that defy convention or want to try something out there. I love BeOS and Haiku but I doubt I will ever push it as a viable option.

Having more than one desktop environment is stupid. It stems from KDE starting out with the QT framework which was not open source. That is why GNOME started. But QT long ago changed licenses and now there’s no “this one is more open” element of the debate. What has changed is that GNOME is completely dominant. I program for neither so I can’t speak to how easy one is over the other. But in general, industry has backed GNOME. I think that stems from the aforementioned open/closed dynamic that used to exist. Companies backed the more open one and gradually that made that an easier and easier choice because of so much investment in it. I think there was more of a push to get GNOME “business-ready” with usability work too.

Up till about a month ago, I would have said that KDE should be scrapped. I have always preferred GNOME. I have even have a Ximian hat. I am not one who thinks that Linux needs choices within it. I think Linux is the choice. It shouldn’t be the first choice in a gauntlet of other important decisions. That’s why distros have default setups instead of asking users to choose every single app they want to use. It’s crazy! Then there’s our community’s most precious resource: developer time. For every duplication that exists between apps we lose time that we could have spent making something new and wonderful, or refining what we had. Example: GTK engines for GNOME. That’s what draws the buttons and widgets you see in GNOME apps. Why are there so many engines? I don’t mean themes (don’t get me started), but the engines- I have about 10 installed! That’s 10 projects, who knows how many developers, that are duplicating what’s been done. Maybe pruning a bit, adding on a bit. But primarily duplicating.

In a project as huge as a desktop environment, the duplication is staggering. Underlying services, APIs, those little apps no one would ever write except as part of a desktop environment. So instead of having two desktops- why not just have one? The problem is that there’s no common base code there. You’d have one environment ‘win’ and the other have to rewrite apps if they wanted to integrate. And let’s face it, no developer that I know would just say “You’re right, that app is better so I’ll stop working on mine.” So my hope for a GNOME-KDE wedding seem hopeless. So barring that I want one of them to just go away. 🙂 Since I’m a GNOME user, naturally I’d prefer that KDE went away.

However, I installed KDE 4.3 and really liked it. Not loved I think. But I really liked it. Enough that I’ve been using it for several days now. In an effort to clear it up in my own mind, I’m going to see if I can compare some things about the two- things that really matter:

Point GNOME KDE
Name Gnome is fine. It’s people that insist on pronouncing it GUH-nome that I have a problem with. That’s stupid.Yes, the G stands for GNU which is an acronym for GNUs Not Unix. Why the emphasis? The best acronyms are the ones you can just say. And doesn’t GNOME run on Unix? It could be that I just hate the letter K. But I hate the name KDE and the K everywhere. I think my trial only succeeded because in openSUSE the K menu in the corner has the openSUSE geeko on it instead. Yes, rebranding’s a nightmare. But that isn’t a name!
Core Programming Language C (I would be embarassed to be coding with something this old) C++ (Really nothing to brag about here)
Polish Reasonable, but focused on being simple and easy to use. Obviously various theme combinations can make it fairly slick. While GNOME has reasonable polish, KDE has polish oozing out of the screen. As a former Mac user, I liked that. I have no desire to skin- KDE looks excellent as-is. Window movements, alerts, everything shows a degree of thought not seen in GNOME.
Icons Good consistent icons based on the Tango icon project or everywhere. They’re simple, but beautiful in the high-resolutions when available. Great in smaller sizes. Beautiful icons but they don’t seem to downgrade the detail for smaller sizes. I don’t need a tiny hi-res icon for the configure button! Smaller icons should show less detail. Kind of the opposite problem from GNOME.
Apps A plethora of apps and for me personally, all the apps I use are GNOME apps. Integration is often lacking and it seems to be more of a loose confederation of apps living in the same neighborhood. While I know there are lots of KDE apps, I like that there seems to be a core group of apps that are standard. There seems to be a little bit more integration and intentionality in what KDE does. A tightly-knit group of apps.
Usability GNOME is very easy to use, but having been a long-time GNOME users I don’t think I’m objective enough to score this. But GNOME is simple and works “as expected” I am an expert computer user so it’s hard for me to judge, but to me KDE is first and foremost configurable but with that changeability lies problems. There are just too many options. I prefer the GNOME (and Apple) way of hiding a lot of options in configuration files. Power users can find them, but they’re not in your face.
Distribution Default Red Hat, Novell, Ubuntu openSUSE (now), Mandriva
Speed I used to say GNOME was faster but I think they’ve bulked up? The GNOME philosophy is more load-as-needed which means it can load quicker. KDE is more monolithic with a slower startup for all the underlying pieces to load and stand in readiness for when you need them.

And does anyone else see a KDE/Europe, GNOME/Elsewhere slant to this debate?

I want to recognize and congratulate Back in Time and any other app that go to the trouble of making both a KDE and GNOME front end for their app. We shouldn’t need to do that. Again, it’s a waste of resources. But thank you.

For me, I’m still a GNOME user. I really like what I see in KDE, but I will be working for ways to improve GNOME. I see it as not just a frontrunner but the right direction for Linux to become mainstream. But I will not seek KDE’s destruction. Power users can and maybe should use it. At the least it’s valuable as an option, or even a target. GNOME should be as cool but it shouldn’t sacrifice usability to get there. I wish the two would work harder to integrate so that if you’re running one, the apps from the other are skinned well.