KDE Strides Ahead While Gnome Stagnates

KDE vs. Gnome: With Age Comes Lard

April 5, 2009

A few weeks ago, Jack Wallen published a comparison of recent GNOME and KDE releases in which he claims that the desktop flame wars in GNU/Linux were about to reignite, and that KDE would emerge as the loser. It was not the most technically accurate of articles, and the claim of renewed desktop wars was news to me; in the mail forums for Debian, Fedora, and Ubuntu, the uproar over the changes in KDE 4 is over, except for a few die-hards who are sounding increasingly crankish.

The claim sounds like one of those overly dramatic statements that some journalists make in the hopes of creating controversy and increasing page hits.

Still, Wallen's blog entry and various recent episodes in my own quest for a perfect desktop got me thinking: How do GNOME and KDE compare in spring 2009?

Framing the KDE vs. GNOME Question

The question has never been a easy one to answer. The last time I tried to answer the question, I wimped out and said that the answer depended on what you were looking for.

In many ways, that answer still holds, even if it's not dramatic or very satisfying. Both GNOME and KDE are mature, fully-featured desktops, and the two projects cooperate on common interface standards via freedesktops.org, so the differences between them are often minor. At best, the answer tends to be a careful tallying of the balance sheet, with the victory going to one side or the other on the basis of points rather than any knockout blow.

More importantly, the most obvious difference between the two major free desktops is philosophical. When KDE 4.0 was released, the project showed itself willing to make revolutionary changes, breaking with the past to such an extent that even backwards compatibility was not guaranteed.

User complaints, often loud and abusive, did not so much shift KDE from the direction it was heading as encourage the creation of new mechanisms for gathering user feedback and a reconsideration of how subsequent releases were managed. This reaction might seem high-handed, especially by the egalitarian standards of free and open source software. But, over time, the project's determination seems to be outlasting the complaints about change.

By contrast, as Ryan Paul points out, GNOME has backed away from radical changes in favor of incremental changes. Instead of planning for a 3.0 release, GNOME is opting for a gradual, piece by piece updating that will culminate in a 2.30 release. The change in version numbers is significant: It indicates that, unlike with the KDE 4 series, there will be no major break with past releases. This philosophy was obvious long before it became official last summer, and has the obvious advantage of not alienating users.

These differences are not absolute, of course. For instance, the last two releases of KDE suggest that the project is content to implement usability in an incremental fashion. Similarly, when GNOME-centered distros like Fedora introduced PulseAudio last year, the uproar was a small echo of the complaints over KDE 4.0.

But, in general, the difference in approaches is obvious, and which you prefer says more about your own philosophy than about the advantages or disadvantages of either. With the majority of people tending toward conservatism, many are going to prefer GNOME's gradualism, but, for others, the radical innovation of KDE is always going to hold more appeal. In expressing their own preferences, people are apt to overlook that they are not saying anything objective -- that is, not referring to anything outside themselves. So long as the discussion stays on this level, it can never hope to produce useful answers.

For this reason, I prefer to make the question more specific -- not which desktop is subjectively better, but which developmental approach is likely to be most successful in the next few years?

With this reframing, a more useful answer is possible -- and I would say that, despite some necessary qualifications, the advantage lies with KDE.

The KDE Evolutionary Advantage

I base this statement largely on a single observation. Before KDE 4's release, both KDE and GNOME were struggling under the weight of legacy code and practice. As Andy Wingo wrote last year about GNOME, both desktops were in "a state of decadence."

For instance, Troy Unrau noted that "it got to the point where a simple KDE 'Hello, World!' application would ship 200kb of build system. This complexity made entry into the KDE programming world somewhat daunting for new programmers, and the build system for the core components of KDE was only really understood by a select handful of individuals." About the same time, GNOME developers started complaining about the limitations of the GTK+ toolkit with which the desktop is built, and looking for ways around those limitations.

In 2007, Wingo summed up the state of GNOME by saying, "we largely achieved what we set out to achieve, insofar as it was possible. Now our hands are full with dealing with entropic decay. . .it does not seem to me that GNOME is on a healthy evolutionary track. By that I mean to say that there is no way there from here, if 'there' is universal use of free software, and 'here' is our existing GNOME software stack."

Exactly the same thing could be said about KDE. Although fine-tuning for usability was still needed, both desktops had more or less caught up with their proprietary rivals, leaving them with no new goals beyond perfecting what already existed.

Now, in 2009, KDE has a new toolkit in QT 4.4, a new build system, a new multimedia system, a new extensible workspace, SVG graphics on the desktop, and the foundations for a semantic desktop. In addition, it has integrated widgets and applets so that they are usable on both the panel and the desktop, improved accessibility options, simplified configuration by making the process more visual, overhauled all its major applications, and created a new default look that compares favorably with any desktop you could name. What's more, it has accomplished these things while actually improving speed, because it started fresh.