Linus bashes Gnome
Analysis — It's no secret that Linus Torvalds, Linux's founder, dislikes the GNOME desktop. In 2005, for example, Torvalds posted on the GNOME-usability list that "I personally just encourage people to switch to KDE.".
This “users are idiots, and are confused by functionality” mentality of Gnome is a disease. If you think your users are idiots, only idiots will use it. I don't use Gnome, because in striving to be simple, it has long since reached the point where it simply doesn't do what I need it to do.
Oh, so true! I am a Gnome user since ancient times, but I have to agree Linus on the matter. I've watched Gnome how it went from a powerful and configurable desktop into a toy that's only good to help you see what time is it (well, metaphorically speaking).
Linus is complaining that Gnome developers reject patches and features (and many times even drop existing features) on the lame excuse that they are too confusing for end users. Let me add my own small story to this.
A long time back, when my hardware resources were very limited, I was an IceWM user. IceWM, you know, has this simple yet incredibly useful feature: it allows you to cycle the last two visited workspaces with a key press. I grown so used to it that I can't live without it. It's common to have, say, the editor in one workspace, and the browser in another, and using this keybinding you can switch between them to edit/test. It's like ALT-TAB (the common way to switch between opened windows) but applied to workspaces (desktops).
OK. After a while, when I had a more powerful computer, I thought I should check what's happening in the Gnome world. Version 2.0. Wow, font antialiasing. Looks cool. Wow, it's also a lot faster (but that may be because of my new hardware). Ouch, Metacity! Where's good old Sawmill?
In trying to customize Metacity, I noticed that it didn't have that simple and neat feature of IceWM. Turns out I had to remember in which workspace I was previously, if I wanted to return to it. With IceWM I didn't have to care, I could just switch anywhere and later press WIN-TAB to return.
How hard can it be? So I got the Metacity sources. I started looking into it. Written in plain C (as opposed to IceWM which was written in C++), the size of the source code was a few times bigger than IceWM's (yes, I been there too). Also less carefully designed, I would say.
After about 10 hours of hacking, building, testing, I was finally able to create my desired functionality. And I made it so that it wouldn't affect those who didn't need it. It simply couldn't hurt being there.
Naturally, I sent my patch to Havoc Pennington, hoping it would be included in future releases. You can still see it at RedHat's bugzilla. Havoc's response “promptly” came after 4 months and a half:
I think this adds too much complexity/confusion,
though I appreciate
the work to create the patch.
(remember what Linus was talking about?)
It was quite disappointing. I stopped using Metacity that very day and never came back. I'm now using Sawfish (previously Sawmill, which was once the default window manager in Gnome). Sawfish too didn't have this functionality by itself, but with help from the community I was able to add it in no time.
(Most of) Sawfish is written in a Lisp-like programming language called “rep”, which makes it extremely configurable and powerful. You can practically extend it indefinitely without having to change the core. This made it so easy to get the functionality I wanted. I'm not a Lisp guy, but I asked on the sawfish mailing list about “cycle workspaces” and in a matter of hours I received a 10 lines script that did just that. By contrast, the patch that I had to write for Metacity is a lot longer, it was a lot harder to write and it required recompiling the core (and acceptance from the maintainer, which was impossible to get).
Sawfish was written by John Harper, who now works at Apple. Sawfish is, I think, the second most stable piece of software I ever saw (first one being Emacs; interestingly, both are based on Lisp).
My Sawfish/Emacs config files are written years ago and they still work.