By Jonathan Corbet
July 23, 2008
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.
(
Log in to post comments)