Sep 30, 2010

A love hate relationship with the Gnu/Linux desktop

I've been using Linux on the desktop for many years, but sometimes the state of the Gnu/Linux desktop really frustrates me and it seems that a rant like this is the only thing that I have the ability to do about it. So hopefully I'm not  just screaming into the wind and I actually have some valid points in here but I will leave that for  you to decide.

Now of course Gnu/Linux on its own is not a desktop so when I say "desktop" what I really mean is Gnome since that is the desktop I use. Perhaps this information can also be generalized for KDE but I'm only going to give specific examples for Gnome.

The problem with Gnome.

The problem is that the people setting the agenda for Gnome care more that an application has a big shiny "Gnome" logo attached to it than if their users actually use it.

You might remember the controversy surrounding the replacement of Pidgin with Empathy which happened about a year ago. It was said that the problem was that Gnome had adopted the Telepathy framework for instant messaging and that the Pidgin developers didn't plan to support the Telepathy framework so Gnome had to make a new chat client in order to use Telepathy.

That wasn't the real problem though because Telepathy could have been implemented as a plugin for Pidgin, and in fact in 2009 there was even a GSoC project specifically to implement a Telepathy plugin for Pidgin, but it looks like it only got about 90% finished before they ran out of time.The Gnome team could have made finishing that plugin one of their priorities, but they didn't.

The real problem was that the Gnome Team didn't like that they couldn't call the shots with regard to overall Pidgin development. So even though Pidgin had been a popular application on the Gnome desktop for many years the team decided calling the shots on a new project was a better idea than continuing to support an app run by someone else, even though it is what the majority of their users had been happily using.

The Epiphany Web Browser

You may not have even realized that Gnome has its own web browser but it does. Why does it have its own browser? Because every piece of "official" software in the Gnome project must have a big shiny "Gnome" label on it even if nobody ever uses it.

I am positive the majority of the Gnome user base would get behind the idea of retiring Epiphany and choosing one of the major open source browsers to become the "official" bowser. Certainly a lot could be done to make Firefox or Chromium work better and look better on Gnome, but even though they don't look perfect the vast majority of Gnome users are already happily using them and will continue to use them no  matter how much time Gnome spends polishing Epiphany.

If tomorrow the Gnome team decided to make it their priority to start writing "official" Gnome specific browser extensions and themes for Chromium and Firefox it would probably do a thousand times more to bring people over to the Gnome project and increase brand-loyalty among existing Gnome users than any amount of time spent on Epiphany ever has or ever will.

Would it be so hard to say this: "We, the Gnome team, are not the authors of Firefox but Firefox is our official browser, and we are committed to working closely with the Firefox team to making the Firefox experience in Gnome a world class experience."

Now before you tell me that the problem is that Firefox doesn't use Gtk-2 let me stop you and tell you why that doesn't matter, the reason that doesn't matter is because Firefox can be made to look exactly like a Gtk-2 application. If they look the same then users don't care what toolkit they are using. On the back end Gnome uses multiple languages because they all work equally well, and so equally on the front end they should start accepting multiple different toolkits as long as they look like acceptable Gnome apps.

The real reason why Firefox has never become the official browser is not the toolkit, it is because the Gnome team can't call the shots with regard to Firefox development, they would need to work with the Firefox team instead of run it.

Polishing a Turd in Hell

To summarize I guess you might say that, in my opinion, the single biggest flaw with the Gnu/Linux desktop is that the desktop development teams would rather polish a turd in hell than play second fiddle in heaven. Or to phrase it more politically correct, they prefer running their own software projects even if nobody uses them, rather than cooperating closely with the outside software projects which the majority of their users actually use. I think that is a really counter productive attitude which over time can only result in an inferior product.

The one ray of sun shine in all this is probably Gnome-Shell. There hasn't been any real innovation on any desktop in a very long time, but whether Gnome-Shell becomes an innovation which people will actually use or just a wasted effort remains to be seen. I just hope it doesn't turn out to be as bad as "spatial view" for Nautilus.

I will never stop using the Gnu/Linux desktop, not because Gnome and KDE are absolutely the best, but because Gnu/Linux offers me complete control over how my desktop looks feels and works and the software it uses is open source and free.

I just wish that the "official" desktop applications were the ones which the majority of users actually used, and I wish that the applications which the majority of users actually used were the ones that the desktop developers cared the most about.

Thanks for all the fish!

If anyone from a desktop team reads this I would personally like to say thank you for all your hard work over the years, I know software development isn't easy and that the majority of you are not paid for your strenuous efforts, and also I know that you fully have the best of intentions in what you are doing.

But I also think that your continued success is dependent upon you making the right decisions going forward.

I hope you are brave enough to make the right decisions.

5 comments:

Rob Sayers said...

Interesting post.

I agree that it seems like a great waste of time to develop new apps which mirror existing app's functionalities for the sake of branding or control.

I think this brings out what I absolutely love most about Linux however, the fact that it doesn't really matter. I use Ubuntu simply because its a more desktop centric version of Debian which I use for all servers/limited desktops I run. I use Gnome, but I also use Chrome to browse the web, mutt for mail, and Pidgin for IM. Sure it's not official, but it's a snap to install and integrates very well.

It reminds me of the whole drama between the Ruby community and Debian which has been in the news so often. While it's an important issue and both sides make a good case... none of that matters to me on a personal level, I am free to (and do) simply build Ruby from source and let my gems be managed the way they were intended.

Linux has it's problems, but the freedom it provides is where the magic is.

d.mounce said...

Good thoughts. But here is something you said, when speaking about why you'd never stop using Linux, that I think in particular is key: "because Gnu/Linux offers me complete control"

Ultimately, there's nothing "wrong" about proprietary software if it gets done what you need done. The theoretical ability to rewrite/modify any aspect of the software doesn't *really* matter.

But of course... tell that to an open source purist. :) I absolutely understand the ideal of free software, absolute control, etc., but also, it is simply an ideal, which is something entirely separated from practicality.

So, I do think it's the same attitude of free software in general that is permeating projects like Gnome. Granted, yes, Firefox is open source. But the Firefox team is the proprietor of it. So essentially the ideal is broken nonetheless.

I do suppose that is the ultimate freedom in free software though; the freedom of ideals. Not strictly practical, always, but it's there.

emmeff said...

This duplication of development efforts is almost entirely all about egos. The open source software community is chalk full of them. Instead of embracing an existing software project, these egos would rather start a (much inferior) project for the sake of calling it their own.

Your example of Epiphany is a good one. What a godforsaken piece of shit. What a waste of development time and resources.

But... To each their own. The Linux desktop environment will always be substandard because of this. I'll continue using my Mac for my desktop and Linux servers on the backend. The best of both worlds...

RBerenguel said...

I ranted a lot more in a post I titled Linux Is a Time Killer, although it was not my (complete) intention to do so, a lot of people almost took it personally as an attack against Linux, which was not the case.

I won't stop using Linux, but I am still waiting for it to have a good layer of "just works".

Cheers,

Ruben

stuaxo said...

I don't know about the browser situation, but the things driving the IM situation seem to be technical:

The wanted to build the telepathy framework to allow integration of IM with lots of other services.
I guess it was easy to build empathy at the same time (I think due to structural reasons, it's easier than integrating with Pidgin.

...However... theres an annoying intermittent bug in telepathy where I can't open chats, without restarting it - it's pretty annoying and if I could be bothered I would totally switch it out for pidgin.

Coming back to the browser - I guess they want one that follows their own UI conventions - still I only really use firefox.