It is not often that a straightforward software release announcement
generates over 100 comments on LWN, so the recent GTK+ 2.8.0 announcement
is special. One might
think that the commenters were excited about the new GTK+ features,
including Cairo graphics, composite extension support, or that sexy new
file browser widget. But no such luck. It would seem that what people
really want to talk about is key bindings, which are unchanged in 2.8.0.
Certain users see GNOME as moving steadily away from its initial user base,
and away from the traditions of Unix as a whole, and they are vocal about
their discontent with this state of affairs.
Certainly, the GNOME desktop offers enough annoyances to make just about
any user grumpy. Your editor is burned daily by the metacity "a new window
gets the keyboard focus regardless of the pointer position" policy; having
the focus yanked away in the middle of a sentence does not seem like the
most user-friendly policy. Why can't gthumb's forms do the right thing
when the user hits "enter," rather than forcing another trip back to the
mouse? Where, exactly, is the little option to get emacs key bindings?
Clicking on a window does not mean the window should be raised; there is a
separate combination for that. The new, "electron cloud" busy-cursor
behavior in the Rawhide version of GNOME 2.12 is distracting and annoying,
requiring a trip to an external site
for a new cursor theme. Dia's aggressive use of "tool tips" makes a nice
drawing application almost unusable. Why is there no easy way to move
settings from one system to another? And so on.
Annoyances are part of using a computer, however. It is hard to imagine
that a desktop as complex and featureful as GNOME would be free of
glitches. These things can be smoothed out over time to make room for new
bits of obnoxious behavior. The GNOME debate goes beyond the current set
of misfeatures, however, and into a couple of fundamental issues which are
worth a look.
One of these is: to what extent is GNOME a "Unix" desktop, and to what
extent should it preserve the traditional Unix way of doing things,
whatever that might be? At the 2000 Ottawa Linux Symposium, Miguel de
Icaza delivered his famous "Unix sucks"
talk. Unix, he said, had gone stale and had not been the source of any
significant innovation for quite some time. The GNOME project intended to
move beyond hidebound Unix ways and deliver something new. Miguel's
vision, which seemed to involve switching over to hidebound Microsoft ways,
does not appear to be driving the GNOME project at this time, but the
project does appear willing to break from the past - even its own past - if
that offers hope of a better desktop.
And that is how it should be. The Unix way of doing things worked well in
a different era, when users were clueful, systems were small (in
capability, if not in actual size), and an
ADM 3 terminal in one's office seemed like a major step up. How do
many of the fundamental Unix ideas - writing programs as small,
text-oriented filters, for example - fit into the creation of a modern,
graphical desktop? Clearly, developers wishing to pull Linux forward into
a larger world with a broader user community have to be willing to do some
things differently. One may not agree with everything that the GNOME project
has done, but the GNOME hackers are (like their counterparts at KDE and
elsewhere) trying to change the world for the better.
It would be surprising indeed if there were a consensus on what "better"
is, especially before it has been implemented and pounded on. The GNOME
idea of "better" may or may not win out in the end, but, because the
developers are working at it, we will have the opportunity find out. And
that is a good thing.
The other issue which comes up with some regularity is a perceived
arrogance from some in the GNOME camp. Experimentation with the desktop
will go best when accompanied by careful attention to the resulting cries
of agony from the user community. Users have often been heard to complain,
however, that the GNOME hackers Know Too Much to listen to those cries as
they follow the One True Course. A tendency by some developers to describe
user requests as "crack" probably has not helped in this regard. Recent
posters have complained about the refusal by the Evolution maintainers to
accept a patch enabling the use of external editors.
There is a hard line to follow here; the maintainer of any successful free
software project must learn to say "no" to features and requests much of
the time, or that project will likely collapse under its own weight. Say
"no" too often, however, and both users and developers will leave for a
more accommodating environment. The GNOME developers may well be guilty of
occasionally erring on the "no" side of that line, however. The project
probably hit its low point early in the 2.x series, when configuration
options were being jettisoned in a seemingly indiscriminate manner and few
apologies were forthcoming. The situation seems to have improved, however,
even if work remains to be done; chances are that 2.12 will be the best
GNOME release yet.
The nice thing about all this is that we are dealing with free software.
Using GNOME is not required to get the most out of Linux. The KDE project
is out there, and several other desktops as well; it should not be hard to
find one to suit the needs of any particular user. One can even still
operate a Linux system via an ADM 3 terminal, using the traditional
key bindings. The GNOME hackers are doing the right thing in a general
sense by pushing toward their vision of a better desktop. If they fail to
meet the needs of the user community - or to listen to that community's
feedback - there are plenty of alternatives to choose from. Or even the
option of forking the project, should that seem like the best course. For
the time being, however, this project has made major progress in the
creation of a powerful Linux desktop, and the whole thing is free
software. There are limits to how much one should complain about that.
[As a footnote, it's worth noting that long-time GNOME release manager Jeff
Waugh is stepping down; his replacement
will likely be Elijah Newren. Congratulations are due to Jeff for heading
up several smooth, on-time GNOME releases.]
to post comments)