Killring Rick Dillon's Weblog

Adopt Early, Adopt Often

I've written up some of my recent trials and tribulations with Ubuntu 11.10 on my ThinkPad. While that (not yet complete) saga is really about problems that are not easily solvable by the community, there are other problems that are, and it's getting a bit frustrating.

The major new desktop environments are influencing the Linux desktop in harmful ways. In particular, I'm thinking of Gnome 3 (Gnome Shell), Unity (both 3D and 2D) and KDE 4. Here's how they're eroding the Linux desktop through their "adopt early, adopt often" methodology. <!--more-->

  1. They are becoming increasingly inscrutable. Hacking together your own desktop environment was once quite easy. You could easily pick your own window manager and have it integrate well with a desktop environment. Now desktop environments are tied in with fundamental low-level functionality, like power management, and swapping a compositing window manager for something like Fluxbox may not even be possible. Modularity has decreased, coupling has increased.
  2. They are pushed out the door and made the default before they are meeting even a modicum of the functionality present in the older desktop environments (I blame KDE 4 for starting this trend)
    • Consider system monitors: Gnome 3 is already the default in some distributions, but it doesn't have a built-in way of monioring CPU, memory, network and disk activity. This has been a staple feature in Gnome for 10 years.
    • Consider screen size reporting. I wrote a tool that uses ffmpeg from within Emacs to record screencasts. Fluxbox, Openbox, Gnome 2.x and KDE 3.x all correctly report screen dimensions so this tool works. Gnome 3 and Unity don't.
    • Consider video stability. Applications like ScummVM and the Doomsday engine (free software than lets you play classic games) often request screen size changes. In Gnome 3, this is causing my entire session to abort and dumps me back to the login screen. In Fluxbox, it works perfectly.

In short, they are adopting the opposite philosophy that, say, Google does. Google is infamous for leaving products in Beta for years after they are in wide use across the world, and often vastly better than any competing product (GMail comes to mind). Linux desktop environments are doing the opposite: they are delivering low quality replacements for extremely mature, high quality environments. The fact that the software is low quality doesn't bother me: it's free, and it is a work in progress. All software starts out being low quality.

But I am frustrated that various distributions have chosen to make these environments the default, causing new users to run into problems that there is no need to expose them to. Gnome 2.x is still a very servicable desktop environment, and could remain the default while the new version is brought up to speed.

This "adopt early, adopt often" recklessness is part of the reason corporations stick with "enterprise" distributions like RHEL5, which runs software from the stone age. Case in point: Emacs on my corporate desktop is set at version 21.3. Release date? 18 March 2002.

Isn't there a middle ground somewhere here?