"I want my sane interfaces back," Linus Torvalds wrote on Google+ a couple of weeks ago. "I have yet to meet anybody who likes the unholy mess that is gnome-3."
The founder of the Linux kernel wasn't the first to disparage the new design of GNOME. Nor does his expertise lie in desktop design. But his position in free and open source software is such that his rejection of GNOME 3 has brought endless choruses of agreement -- and few opposing views.
Suddenly, many are saying loudly what they have been whispering for several months: GNOME 3 is a desktop that (to put it mildly), they don't want. For instance, for others in the same thread in which Torvalds held forth, GNOME 3 is "completely unusable," "a mess" a piece of "brokenness" that "finally pushed me over the edge" and "a killer of GNOME." You can find similar views wherever Torvalds' comments are mentioned, and no more than perhaps one comment in four that protests that GNOME 3 is not that bad when you learn it, or can be tweaked until it is tolerable. Only isolated comments show any enthusiasm for it.
In other words, a user's revolt has broken out that's very similar to the one that greeted KDE 4.0 in January 2011.
The parallel is not exact. Unlike KDE 4.0, GNOME 3 was not intended as a developer's release, so the reception cannot be blamed on distributions getting ahead of the developers in their eagerness to have an advantage over rivals. If anything, the reverse is true -- four months after GNOME 3's release, only Fedora has shipped with it by default, and other major distributions are debating alternative.
Still, the similarities are close enough so that the GNOME 3 revolt should have been predicted (in fact, I did predict something of the sort before the general release, an foresight that gives me no particular pleasure). In both cases, radical new desktops were introduced with few explanations, and reactions to beta releases indicated what was likely to happen.
But if anyone within GNOME foresaw what was likely to happen, they apparently thought that a marketing site and a clumsy slogan ("Made of Easy") for the new desktop would take care of the problem.
They didn't, though. Instead, in a situation that invites comparisons with Barbara Tuchman's classic The March of Folly, which explores why governments make decisions against their own best interests, GNOME reprised KDE actions of three years earlier in a release that showed an almost complete separation between the priorities of developers and users.
The Great Divorce
A decade ago, the idea that developers and users of free software could have different interests would have been unimaginable. Developers were users, which was often cited as one of the advantages of free software.
Today, that equation is no longer true. Although many projects are learning to consider technical writers, marketers, and evangelists as much contributors as developers -- at least, in theory -- the active project members in projects that are as important as GNOME are seriously outnumbered by end-users who make no contribution and who rarely have any connection to the project beyond using it.
One of the signs of this change is that complaints are less likely to be met with an invitation to submit a patch. However, that does not mean that relations between developers and users are smoother.
If anything, relations between developers and users are worse than they have ever been. Although software development in free software now resembles commercial development more than ever, the sense of obligation to users is much weaker in free software. The developers are used to being accountable only to themselves, and tend to respond hostilely to any criticism -- all the more so, naturally enough, when it is hostile.
These changes are particularly obvious in GNOME. For example, a couple of months ago, a user posted some rude comments about GNOME 3. The first response was a suggestion to "just use something else," the second a joke, and the third an admonition that "being upset is no excuse to flame a mailing list and trivialize thousands of hours of work by people." The thread never got past the fourth response, which was from the moderator, shutting down the discussion on the grounds of impoliteness.
The moderator's response was understandable, but I have referred to the thread because in a few hundred words, it encapsulates the standard responses that ordinary users are all too often likely to get when they venture a criticism to developers: indifference, deflection, accusations of ingratitude, and, finally, a refusal to discuss.
Such attitudes are very human. Free software developers like those in GNOME work long hours, often volunteering or putting in unpaid over-time, on projects like GNOME 3 that take years to complete. Under these circumstances, expecting patience with criticisms -- especially sarcastically worded ones -- from outsiders is too much to ask for most people.
All the same, a commercial company might have attempted to respond to the original complaint before dismissing it, or taken it as a symptom of larger problems. If nothing else, fear of bad publicity would have tempered the responses, and prevented anyone from answering in kind.
By contrast, in GNOME and some other free software projects, nothing creates any sense of obligation toward users, especially unsatisfied ones. Since users and developers are no longer synonymous, ignoring users and acting on pique becomes much easier. Instead of being colleagues or partners, users can easily become aliens to many developers -- and troublesome ones, at that, who are best ignored.
Just how extreme this attitude has become can be seen in the approach to usability in GNOME 3. To the uninitiated, usability might seem to imply polling users. Yet, if you look at how GNOME answered the FAQ "how do you know it's better?" contacting users was literally the last thing on developer's minds.
Instead, the design was shaped by "an extensive literature review" and personal expertise, followed by testing among the same people who were designing the interface. Only at the end was "a small usability study" done. And since that study was done nearly two years after development and four months before general release, rather than at the start of development, what were the odds that any major changes would result from it? Unsurprisingly, the study simply "confirmed the viability of the GNOME Shell design."
To all appearances, usability was a top-down experience in GNOME 3, with developers relying on the expertise of both themselves and others, and paying only token attention to users -- rather like a government development project that holds public hearings to rubber stamp what has already been decided.
Under the circumstances, the fact that GNOME 3 become the development equivalent of a nuclear meltdown is hardly surprising. Expecting anyone to change their workflow because strangers tell them to do so is simply unrealistic. The only surprising thing would have been if users had been generally satisfied when they were barely consulted.
A False Sense of Entitlement
However, if developers are faulted for working in isolation for end-users, then end-users must share some of the blame as well. If GNOME development is isolationist and elitist, it is equally true that users often have their own brand of arrogance.
Today, free software is more popular than ever, but that does not mean that most users have a clear sense of the purposes and traditions behind the software they are using. Although they are looking for an alternative to Windows, the alternative they have in mind is most often a technical one -- or perhaps one of price.
Generally, new users have no sense of the principles of free software, or of the norms within the community. They have no sense of the idealism or dedication that drives free software developers because they have little contact with it.
Consequently, they not only overlook all that developers do, but they retain the attitudes that they had to their old operating systems. To an earlier generation, free software developers and users were partners in building a better, freer alternative. But many of the new generation of users do not see themselves as partners, but as consumers at arm's length from the development process.
Overlooking the fact that they have not paid for their software, they continue to act as though they have, becoming indignant and impatient over every problem and every delay in fixing it.
The first post in the discussion thread already quoted is an example. "Gnome Shell is like hemorrhoids," it begins in the subject line "If one has it, one wants to get rid of it as soon as possible." The post goes on to compare GNOME 3 to the Soviet Union, as well as to Windows ME and Vista -- two notoriously bad Windows releases -- and to refer to it as "crap." There is little constructive to the post, and not the slightest sign that the writer thinks that such comments are high-handed.
This sense of entitlement, unsurprisingly, runs directly contrary to the developers' belief in meritocracy. When users assume they have the right to complain simply because they are using the software, developers see them as bike-shedders, wasting developers' time and assuming privileges that they have not earned through contributions and experience.
With such a difference in outlook, in retrospect the clash between developers and users over GNOME 3 was only to be expected. Add the natural conservatism of users focused on their tasks rather than the desktop, and the inflated expectations caused by the year delay in GNOME 3, and the conflict seems more or less inevitable.
The problem is not who is to blame. The problem is that the attitudes of developers and users have become so different that reconciling them requires far more effort than anybody has bothered to make.
Moving Beyond the Conflict
On a technical level, there is no reason why GNOME cannot survive the user revolt. After all, KDE did.
Some of the changes that people complain about can be fixed by turning a switch on or off in the code, and features and customization can be added by the installation of GNOME Shell Extensions. Should the complaints become too severe, then GNOME 3's fallback mode, which resembles earlier releases, can be used. Some distributions, perhaps, may bundle GNOME so that fallback mode becomes the default.
Other changes may come in the next releases. Just as KDE did, in four or five releases, GNOME 3 could be far more tolerant of alternate workflows.
But does the will exist within GNOME to make the changes in time to keep the project in its prominent position? Making major changes would amount to an admission that two years of work was partly misguided. In any project that admission would be difficult to make, let alone in one that seems divorced from its user base.
Nor is the user base, having already changed desktops at least once, likely to wait around for the improvements that it thinks it is entitled to get. With Torvalds' somewhat grudging endorsement of Xfce, unsatisfied GNOME users may follow his lead, or realize that, unlike other operating systems, Linux offers a choice of interfaces.
With these possibilities emerging, the future history of GNOME promises to be both interesting and painful.