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.
In comparison, what has GNOME offered in the last two years? A move away from Bonobo component model to the D-Bus communication system (which is inspired by KDE’s DCOP), an overhaul of notifications to make them less obtrusive, plans for transforming GTK+ and maturing infrastructure such as PackageKit, PolicyKit and Vala — and relatively little else, and even less that is visible to the user.
You can see the differences in the current states of the two desktops from the reviews.
Reviews about KDE are not always positive, but they are about large issues and shifts in the desktop paradigm.
Reading them, you cannot help but come away with the impression that KDE developers are headed in a definite direction, even if you disagree with some or all of the details.
By comparison, reviews of new GNOME releases are a description of a random collection of applications.
The reviews might as well be written in bullet points (and often they are), because no unified vision seems to underlie the selection of new applications.
Or, if there is a vision, it is not being communicated to users. The impression is that GNOME has become like the Big Three Automakers, making minor changes to the body and upholstery, while the important innovations are being introduced by their rivals.
Of course, this situation won’t last. As the KDE 4 series of releases matures, much of the excitement over them will diminish.
Moreover, should the GNOME project carry out its plans, the 2.30 release should generate its own excitement when released a year from now.
But that’s the point: by the time GNOME is modernized, KDE will have had two years to perfect the 4.x releases.
And, even when GNOME 2.3 finally arrives, it sounds like more of an overhaul than a complete rewriting, which makes its competitiveness questionable.
In the short term, GNOME’s gradualism seems sensible. It doesn’t confuse users, and it doesn’t accumulate bad reviews from writers with an aversion to change.
But, in the long-term, it could very well mean continuing to be dragged down by support for legacy sub-systems. It means being reduced to an imitator rather than innovator.
By contrast, you could say that KDE has done what’s necessary and ripped the bandage off the scab.
In the short term, the result has been a lot of screaming, but, in the long-term, it has done what was necessary to thrive.
KDE Vision, GNOME Maintenance
This prediction does not mean that KDE managed the release of 4.0 well.
If anything, from a management perspective, the project bungled the release — especially since reviews of beta releases should have provided clues about what the reactions could be.
A transition guide, and clearer communication to distributions that 4.0 was not intended for the average user, might have eliminated many of the complaints.
But how the project dealt with expectations has nothing to do with the software engineering.
Nor am I suggesting that every change in the KDE 4.0 releases was a successful one.
Personally, I have nursed a grievance against the default Kickoff menu since I first saw it in an early beta. But experiments by definition are not always successful.
Considering that alternatives are available, who cares about a few failures? The chances are, they cost less in terms of usability and developers’ time than maintaining continuity with the past at all costs.
In all the controversies — both the real ones and those imagined by journalists — what has been lost is the exact nature of what KDE has been doing.
When the free desktop quietly came to match the functionality of its rivals, the GNOME team decided to be content with maintenance and minor additions.
However, the KDE team decided to try to take the lead in desktop development. KDE became a project with vision — a vision that has gone largely unnoticed, but one that GNOME so far has been unable to match.
It is this vision, as flawed as it sometimes seems, that gives KDE the evolutionary advantage for the next few years.
Far from reducing KDE’s competitiveness, as Jack Wallen suggests, the 4.x series may be exactly what the desktop needs to restore its market share.