GNOME 3.0 worries

Did you know...? LWN.net is a subscriber-supported publication; we rely on subscribers to keep the entire operation going. Please help out by buying a subscription and keeping LWN on the net.

The mood on some GNOME mailing lists in the weeks prior to the recently-concluded GUADEC conference was somewhat somber; some members of the community were clearly feeling that GNOME development had slowed down, that the project lacked vision, and that GNOME was threatening to lose its relevance with users. GNOME subsequently emerged from GUADEC with a new executive director, plans for a 3.0 release, and a new burst of enthusiasm. It's amazing what a week in an exotic city with large amounts of beer can achieve. Since then, however, the enthusiasm has dropped a bit, and work on a proposed 3.0 press release appears to have stalled. GNOME is now faced with some big decisions, and it's not clear what the project will do.

The initial driving force behind this effort appears to be a plan by the developers of the GTK+ toolkit to move to a new ABI without concerning themselves with backward compatibility. Years of enforced ABI stability have left GTK+ with a large pile of compatibility cruft which the developers would like to leave behind; in addition, there are major changes planned which would be hard to do in a backward-compatible mode. So the GTK+ developers would like to start over with a 3.0 release. Lots of planning is being done to make the transition easy; among other things, care will be taken to ensure that GTK+ 3.0 will coexist nicely with older installations. But, in the end, it's an incompatible ABI change.

At this point, the loudest objections seem to come from Miguel de Icaza. He fears that a new version of GTK+ will leave independent system vendors behind and, perhaps, lead to a series of ABI-breakage events. In particular, Miguel takes issue with the plan to make the ABI changes for the GTK+ 3.0 release, and only add the new features (which, like much of the GNOME 3.0 plan are somewhat fuzzy at the moment) later. The needed new features, he says, should be driving the whole process. And, if at all possible, those features should be added in a way which does not require an ABI flag day.

It would appear that the GTK+ developers are determined to make this change, though, so expect it to go forward. But a GTK+ change is not the same as a GNOME change; there is no particular need for GNOME to make a major release just because an important library it uses has done so. Anybody who has looked at the linkage of a GNOME application knows that GNOME uses a lot of libraries; they cannot all drive major GNOME releases. So, one might ask, what is happening with GNOME in particular that warrants a 3.0 release?

This question was, arguably, most eloquently asked by Luis Villa, who has described GNOME 3.0 as "a terrible idea." Luis's point is that an ABI change is not enough to motivate a major release; instead, there must be a fundamental vision of a better way to do things. That vision, he says, is not there now. This is not an unprecedented situation in the GNOME community:

2.0 almost failed for this exact reason- before there was a clear vision about doing usability/simplicity-centered design, the new version number was a huge invitation to insert $VISION here, leading to all kinds of crack.

A 3.0 process without a clearly-articulated vision will invite the same sort of "crack." It will also throw away the rare public relations opportunity that comes with a major update:

Finally, from a media perspective: the reason GNOME 2.0 was a success in the Linux media, and the reason KDE 4.0 has been a failure, is that GNOME 2.0 had a clear, persuasive story around it: simplification and usability. No one in the media cared that we had a new toolkit, except where it had specific features (mainly i18n) that had user benefits. Writers ate up our usability story- they could tell their readers the story we put out there, and it made sense to them. KDE 4 has no coherent user-focused story, so this incredible opportunity to reach out to the press has been squandered.

There are, certainly, interesting ideas to be found in the GNOME community. The online desktop ideas, Document-centric GNOME, and the mobile initiatives are examples. But it is true that nobody has, yet, put together a concept of GNOME 3.0 which is broad enough to unify and direct all that work while simultaneously being concise enough to fit onto a bumper sticker. Chances are good that most GNOME developers do not know what GNOME 3.0 really means; those outside of the development community will have even less of a clue.

The KDE 4.0 experience should be on the GNOME project's collective mind as it ponders a possible 3.0 release. Future KDE users may see KDE 4.0 as the turning point where their desktop started becoming truly great, but, for now, it does not look like a whole lot of fun for the KDE development community. GNOME developers, one assumes, would prefer not to have a similar experience.

GNOME 2.x has been around for some time; it may well be true that it is time to make a big jump. It would be gratifying to see some new energy and directions from the highly creative GNOME development community. If the project can come up with a set of overall goals which can inspire that community toward a set of common ends, GNOME 3.0 could be a spectacular success. But those goals, if they exist, have not been communicated to the community yet, and that is making some GNOME developers nervous.

