The GNOME project at 15

The GNOME project at 15

Posted Aug 15, 2012 2:00 UTC (Wed) by(guest, #5220)Parent article: The GNOME project at 15

I think outsiders perceive some of GNOME's history in a fundamentally different way. Maybe it's time to try to write it down the way I remember it.

(All current developers will know this, but for bystanders, I haven't had a hand in GNOME in many years, so don't blame them for my opinion.)

Here's what was happening in the GNOME 1.x period according to me.

People perceived GNOME like this (note that 5 years later, that was reversed)

GNOME 1.x sucked in almost all ways (go try it sometime for a reality check)

the major distributions were a hairs-breadth from dropping GNOME entirely

the GNOME team, post dot-com-disaster, was small

I was maintaining Sawfish (the 1.x window manager) and other GNOME components at Red Hat and at gnome.org upstream. We were getting a firehose of feedback from both free and paying customers. We even had some user studies.

The feedback said that GNOME 1.x sucked. Among those issues was the window manager; Sawfish was not maintained after John Harper went to Apple, and basically not fixable. One reason Sawfish was buggy is that it was so configurable it 1) could not be tested and 2) certain behaviors were _unimplementable_ (at least in practical amounts of time), due to the configurability. The fact that it was written in elisp didn't help when finding maintainers, either.

So what we did: completely overhauled GNOME to address the firehose of feedback, as perceived by the team receiving it. And guess what? This overhaul in the big picture was on-target. GNOME was not dropped from the distributions as it was about to be, and instead became the dominant Linux desktop. Bug reports and complaints about the window manager went way down, for example, from 1.x to 2.x. I know because most of them were going straight to me.

GNOME 1.x to 2.x was a _big_ win based on changes in the bugzilla firehose and talking to customers, even if you saw a lot of loud people flaming in forums.

There were some bugs and regressions in 2.0. The team building it was tiny. The work needed was huge. The big problems got fixed in later 2.x releases.

My belief about the big picture is that from 1.x to 2.x GNOME got fixed and became popular (within the Linux world), when it was widely seen as doomed a year or two earlier. People were cranky about some aspects and it wasn't perfect. It's called the real world.

This is the difference between making real, pragmatic decisions when actually doing the work, and sniping from the sidelines. People in the thick of things have to say "this matters more and this does not as much."

Crack

Part of overhauling GNOME was getting the community on the same page that we needed to focus on defaults that addressed most of our users, instead of responding to every corner-case and wishlist item that someone was going to be vocal about. This had to be done in public forums and with total clarity. That's what the stuff about "crack" was about; it was about making it clear that GNOME stood for one direction and not another one. Specifically, not the previous 1.x one. It _worked_. The culture of the project _flipped_ from http://inmyholyopinion.com/2007/05/11/gnome-vs-kde/ to the opposite.

It's the nature of open source development that users can eavesdrop on the sausage-making. Open source projects that stop communicating to avoid controversy can get in trouble.

Would I be more diplomatic and not say "crack" now that I'm older? I would think so, but I'm not sure it would be the right decision. That we were clear and memorable instead of wishy-washy seems to have worked. GNOME 2.x successfully overhauled the project.

Some respected developers (Linus is one poster child) continue to make a point of clarity rather than preserving everyone's feelings, despite their age. I don't think "your window manager option is crack" remotely competes with some of the flames on the kernel list.

For the record, 1.x to 2.x was not a "focus on removing options whenever possible" (which is _never_ what anyone said, nor what they did). I personally spent many many weeks for example on freedesktop.org and helping with the EWMH spec _just to preserve_ the ability for people to choose multiple window managers. This was NOT a given. KDE and GNOME 1.x had "innovated" window management in all kinds of nonstandard ways such that you effectively could not choose your WM or even your desktop. Those of us who worked on EWMH ensured that to this day people are running things like xmonad.

What 1.x to 2.x _was_: a fight for survival in the face of overwhelming negative reviews of 1.x from most of the _existing_ Linux userbase, who were voting with their feet. And a fight that pretty much succeeded, with many more users of 2.x than 1.x, and _far_ fewer severe bugs (based on seeing the bug traffic every day, not based on anecdotes).

We spent a ton of effort on "minority" features and config options over the years, perhaps prioritizing the ones with maybe 5-15% usage, not the ones with 1% usage, and perhaps avoiding the ones that were really truly hard to implement.

Are flamers always wrong? Absolutely not. Sometimes one needs to listen. If you're a professional developer, deciding when to listen is called "your job." I've been wrong a million times but if I were never wrong I'd never be right, either.

Keep in mind that GNOME 2.x was one big admission that according to what the world was saying, we got 1.x wrong. The "crack" talk was solidly aimed at our own previous work which we (at least, many of us) had come to believe was misguided. There are plenty of posts from me in the late 90s saying exactly the opposite of what I came to believe once I had actual knowledge and experience as a maintainer on the receiving end of the bug tracker.

Reflecting

I'm happy that GNOME has had millions of users on Linux and was inspired to see it on the big screen in the Mars control room the other day.

I'm disappointed that GNOME didn't get far in the big picture of Mac and Windows and iOS and Android, but in the end, contrary to popular belief, GNOME has always focused on the needs of its existing users. Blog posts (including mine) about other goals have ended in so much vapor.

I'm disappointed that we probably lost far more users to OS X than to KDE or any other competing Linux desktop. (Was that because OS X had more configuration options?)

I'm disappointed that people continue to flame about how their cheese was moved, while ignoring 99% of what the developers work on and rarely saying thank you.

By the way. I would argue that back in the day, KDE saw the flames GNOME was getting and said "oh, we'll be nice and do what these people are asking for, and everyone will flock to KDE." And I think they shot themselves in the foot by doing that. They ended up spending lots of time and energy working for fewer loud people instead of the quieter mainstream. And I think most GNOME forks and alternatives and what-have-you failed in part for the same reason. They believed that the flames reflected the bulk of users and they were wrong. Reacting to whoever yells loudest does not work. Trying to make everyone happy with the same software product does not work. Taking all feedback verbatim instead of having a consistent goal in mind does not work.

Now that I don't work on the Linux desktop I can be up-front about that sort of opinion!

Give GNOME 3 time

I've had no involvement in GNOME 3, and I don't know the thoughts of the main developers, or have a sense of what developers are hearing from customers and users. But I'm damn glad those guys have a vision and are proceeding with it. They are kicking ass. I've been amazed at slick little details all over the place.

For me, Fedora 17 with GNOME 3 is the best Linux desktop I've used in ~16 years of Linux.