On Sawfish, Metacity and Linus

Managed to get myself embroiled in a little email exchange with Linus about configurability options and GNOME. Seesm that little exchange even managed to hit Slashdot.
The misconception that I feel Linus have and a lot of the people posting on Slashdot is that patches that adds configuration options to GNOME would automatically get rejected. This is simply false.

At best this is an extrapolation of the quite strict policy of Metacity in particular and the general GNOME policy of ‘no GUI options before thinking’. This policy did come into effect with GNOME 2.x and it came about both due to UI design usability discussions, but also as a result of seeing our config menu’s get clogged with options which mostly where there due to bugs, missing features and a heterogen deployment environment below GNOME. It was decided to focus on actually trying to solve these lower level issues instead of offering config options to work around them. A talk by Jim Getty’s at GUADEC called ‘Draining the swamp’ being considered the call to arms on that issue. Projects such as HAL, the rejuvenated X.org effort and many other freedesktop projects came about almost as a direct consequence of this.

There was also some misconceptions on the Sawfish to Metacity switch that happened in this time period. It is not correct to say that Sawfish got replaced by Metacity due to it being deciding its high degree of configurability was bad, far from it. Sure there
where people who felt Sawfish went a bit overboard in that regard, but that was not the reason it got ditched as the default GNOME window manager. The reason for that was simply that after Eazel went backrupt and Sawfish maintainer John Harper had to find a new job, he ended up at Apple. And thus due to Apple corporate policy, and probably long hours at work, he couldn’t maintain Sawfish anymore. The troublesome thing about Sawfish was that it was written in its own Lisp dialect so as part of Sawfish you got both an extra lisp interpreter and GTK+ bindings for it. This meant that the C/C++ skills in the GNOME community didn’t lend themselves well to fixing bugs in Sawfish.
The two libraries and Sawsfish itself thus went unmaintained as John went away and nobody where interested/felt qualified to take it over. Thus the GNOME developers had to look around for a new window manager and it was decided that one should aim for one written in C like the rest of the desktop libraries to lessen the chance of future maintenance prolems. To answer this call Havoc Pennington stepped up with Metacity and it was quickly adopted by a lot of GNOME developers and users and subsequently chosen as the standard.

Metacity was philosophically very different from Sawfish and Havoc
was very strict about what he let into Metacity, due to an idea that requests for config options was usually a result of broken behaviour in the window manager and thus feeling the behaviour should be fixed instead of a config option added to work around the problem.
This was in line with the policy that do govern GNOME as mentioned above, but in the case of Metacity this was applied in a much sterner/hardcore fashion that for most other modules.
But due to Havoc’s high profile in the community and beyond it I think the policy he kept for metacity colored how people outside the project perceivedthe project as a whole which is the main reason I see for this hard killed perception to live on.

Anyway, back to Linus and his irritation with Metacity. I can’t not say if his patches will go in or not, its not my call. But I did at least add them properly to bugzilla for Linus to ensure they get reviewed and commented on at least.


#1 Ryan Paul on 02.18.07 at 06:45

I can’t condone Linus’s attitude, but if I was going to pick something about GNOME to complain about it would probably be Metacity. I still use Sawfish because Metacity’s lack of functionality is detrimental to my productivity.

The hostility towards Metacity from critics is due in large part to the hostility shown towards people whose needs don’t fit into the limited scope of the application’s functionality. Requests for much-needed features have been summarily dismissed and characterized as “crack.”

Innovation only transpires when experimentation is permitted. By rejecting outright anything even slightly progressive or creative, Metacity mires itself in a culture of anachronism and does a profound disservice to end users.

#2 Anonymous on 02.18.07 at 07:16

The comments on the various news sites (Slashdot, Linux.com, osnews) on this story appear like a stupidity contest. Christian, I hope that that stream of idiocy is not redirected to your blog commenting system now.

#3 Murray Cumming on 02.18.07 at 08:01

It’s also important to note that regardless of any (significant, I believe) usability design concerns, Metacity has few options largely so that Metacity can concentrate on doing _something_ well. More options means more bugs and more work. It’s not just a matter or accepting a one-off patch to add a feature here and there. They combine.

And even with a small number of options, it’s really hard to get a window manager right. The Metacity maintainers work very hard, for little thanks. People can claim that it’s easy to get everything working right, but so far nobody actually has. Software remains difficult to develop even if it “should be straightforward”, particularly when confronted with human behaviour.

It’s hard to choose between angry rants from people demanding options and angry rants from people demanding basic functionality. Well, if you add the options, then you can delay people by telling them to try a few more options until it seems to work, until they tell you that that broke something else.

Obviously not everyone agrees with the strategy. Which is fine. What I don’t understand is that the very people who want these extra Metacity options are the people who are very comfortable with switching window managers, compared with me, for instance, who doesn’t want to bother with the knowledge that the window manager even exists. What is making these people feel forced?

More importantly, there’s certainly no excuse for the abusive language and wild accusations.

#4 Sneezey on 02.18.07 at 17:19

I just thought I would comment on one section:

“Anyway, back to Linus and his irritation with Metacity. I can’t not say if his patches will go in or not, its not my call. But I did at least add them properly to bugzilla for Linus to ensure they get reviewed and commented on at least.”

That is very big of you; taking the high road. Keep up the great attitude.

Personally, I would have liked to see Linus take the month long challenge before submitting patches. That is just my opinion. After using Gnome for a month; he may or may have not issued the same patches.

FYI: I am not a Gnome user any more; I know prefer WM’s as opposed to DE’s. Nothing wrong with Gnome; it was my DE of choice several years ago.

#5 Erich Schubert on 02.20.07 at 11:39

I used to be a sawfish user, independent of the current Gnome preferred WM choice.
I liked it for its configurability, but after all I *wasted* a lot of time of tweaking the window manager.

When I then tried Metacity, I was suprised by how much *faster* it was than sawfish. It was a huge difference.

I ended up at using openbox. I never even considered going back to metacity because of the huge speed difference. Openbox had the configurability I need, while still being somewhat more minimalistic than Metacity (and even a bit faster). I’m still at openbox, I tried compiz once for the effects, but if focus was lagging so much it was usually losing a few keystrokes of mine on desktop switch – that was not acceptable. Openbox has been completely reliable, so I’ll likely just stick with it.

As for Linux arguments – I’ve come to appreciate Galeon 2 and later on Epiphany. I definitely prefer them to Firefox or Kazehakase (that one is just plain crazy to configure. I’d probably spend a whole day to just get it configured!). And in many other situations, I *totally* appreciate the gnome efforts of keeping configuration options low. For one simple reason: I don’t lose time by trying to configure stuff differently. Usually I end up with the defaults anyway. Any day *not* configuring anything is a good day.

#6 Eddy Petrisor on 02.20.07 at 14:29

What I think that GNOME generally lacks is an “advanced” setting section/page.

I read through some of the bugs and saw that there was such an experiment with nautilus, but it failed. I think that if that “advanced” set was well burried (let’s say just path to get there in at least 2 level deep nested set, i.e. not directly in the menu, but on a second level) I think the experiment would be successful.

BTW, the *FIRST* thing I do in GNOME after an installation is to disable that spatial browsing.

Maybe the way to deal with this is to revisit the HIG and add a section on “second class options” which should deal with this kind of things.

About my desktop usage: I have recently switched back to GNOME for the second time from KDE after finding the later slow and bloated while the first lacking some apps that I needed. I dislike the fact that many KDE apps have their own settings (e.g fonts) which does not inherit the default KDE ones, implicitly.

#7 Simon Anderson on 02.20.07 at 15:31

it’s great that Linus is highlighting the major shortcomings in GNOME and, more importantly, the sociopathic attitudes common amongst the GNOME developer community that are stopping these shortcomings from being addressed.

It’s disheartening to see the spluttering denial from Schaller, Cumming, Pennington and friends, no doubt with the surreptitious encouragement of the Ximian fifth-column behind the scenes. Why won’t they listen? Even with Linus championing the down-trodden majority of GNOME users, these clowns persist in their devotion to the concept of “users are idiots.”

GNOME is an irredeemable project, It’s time for a development fork and/or a userbase switch to an alternative and for all of those arrogant GNOME developers mentioned above to join David Dawes in obscurity, where they can contemplate the cost of their slavish devotion to impractical ideals.

#8 Dudly on 02.21.07 at 08:45

I could care less about Gnome, KDE, or Linus (although I do think it’s pretty cool that he threw code in your face the very next morning after you challenged him). I use Windows, and absolutely love it.

You get what you pay for.

#9 Mihai Bazon on 02.25.07 at 06:37

> “The Metacity maintainers work very hard, for little thanks”

Could they just stop working instead, that would be a great win for all of us.

I hate Metacity, I’m telling you, I’m using Linux exclusively for the last 10 years or so and I have yet to see a WM that’s so limited. What’s the point of using (desktop) Linux if I get a WM that’s even less featured than Windows?

I wrote my 2 cents — http://mihai.bazon.net/blog/linus-bashes-gnome — after reading the desktoplinux.com entry, and even if I didn’t read this blog previously, it seems the problem was the same: Metacity. :-) Print it, burn it and shut it down!

Long live Sawfish.

#10 Uri David Akavia on 02.26.07 at 03:12

To Murray – the abusive language isn’t necessary.

Was it necessary when Federico Mena-Quintero finally fixed the file selector (bug 136541), which has been giving GNOME a bad name since GNOME 2.3 (and had a bug opened that long)? His blog entry really gave me motivation to file bugs.
Sorry, I wrote bug earlier, but evidently, the complete lack of location bar, in strict contradiction with what the GNOME accesability team was saying was some kind of feature. Some kind of feature that I was “too busy whining” (ala Federico) to get.

Metacity is great. The GTK framework is great. Gstreamer is impressive.
The applications are amazing (some of them can give OpenOffice a good run for its money).

The Nautilus team (and the rest of the desktop team) need to realize that people want to use their software, but can’t. Maybe all GNOME hackers are like me – I use Gnome Terminal for copying files, Gnome Terminal for opening files (Debian is not putting the version that actually has the fixed file selector into testing yet), Gnome Terminal for creating/moving directories. See a trend here?

So if someone can explain why my 6 year old dataloss bugs (bug 47893 – yes, 6 years) in Nautilus are getting Zero attention (I’d settle for an explanation why it can’t be fixed), I’ll change my mind about the “let’s minimize the desktop to one button” crowd, which seems to be running rampant.

Right now, I don’t necessarily think that Christian or you deserve the yells, but someone in the GNOME community sure does. You two are being visible.


Uri David

#11 Pedro Lobo on 02.26.07 at 21:51

I was a late commer to linux. I tried KDE, I tried Gnome, I even tried one or two WM’s. I ended up sticking to and liking Gnome.
Don’t get me wrong… It’s missing a few things that I find usefull that others have such as being able to define key bindings for just about anything and not just a few pre selected things (just a minor irratation). However, I think that Gnome has found (in my humble opinion) the right balance. With KDE, if you want on application, you get about ten more that have to be installed… This is just bad!
But enough about that… The one thing that I love most about Linux, and that is the corner stone of any argument why somebody should move from windows to linux (my case :) ) is the fact that you are free to CHOOSE!!! If you dont like one DE, then use another. If you prefer a diferent WM then go ahead and use it. Nobody forces anybody to use a specefic piece of software, so I cannot understand why the hate war and bashing. If you have valid sugestions or comments, constructive critiscm then thats fine, but don’t openly attack poeple that work hard to provide a decent piece of software!

My thanks and congratulations to all involved!!!