Can Diversity Be a Bad Thing?

By Deane Barker on April 12, 2004

vs. Linux GUI: Owen found an interview that really, really hits the nail on the head about a big problem with Linux.

Right now, the Linux community values “diversity” too highly to ever get a single, consistent GUI, let alone a good one. At the same time, it holds on doggedly to its (often ancient) Unix-rooted traditions and conventions.

Finally, it’s hard to get a really large group of Linux developers to do much of anything beyond a single “project.” A GUI is not a “project.” It’s the whole OS from the user’s perspective, and it must be from the creators’ perspective too or it will fail.

This is so true. One thing that has always bothered me about Linux is the lack of a consistent file structure. One distribution puts certain files in one place, and another puts them somewhere else.

This was such a big problem, in fact, that the United Linux consoritum was put together specifically to define a common file system. However, Red Hat didn’t play ball, and that really marginalized any chance of success.

As for the GUI problem discussed above: Gnome or KDE? Why? Why don’t they get together and build the GUI to end all GUIs and just make life simpler for everyone? The different Linux distributions and GUI essentially create multiple “virtual OSs.” You’re running Fedora and KDE, or SuSE and Gnome, or Slackware and something else.

You also see this when installing software. I’m using Red Hat Fedora, so I need to find an RPM specifically for my distribution. This isn’t the same thing that will run in SuSE or other distributions. In fact, they may not use RPMs at all. You may need to compile them from source, etc.

About 18 months ago, I made a concerted effort at using Linux on the desktop. I posted here about the lack of consistency:

While I appreciate the cowboy, wild-west, open-source attitude as much as the next guy, I also appreciate not having to relearn an interface for every new app. With Linux apps, Lord only knows what the menu commands are going to be. Right-clicking on the workspace may reboot the machine for all you know. CTRL-A works in some apps, not in others. Double-clicking has all sorts of different behaviors as well.

Let me say that I haven’t found this issue to be the case with Fedora, but the premise holds true. Linux developers look at their one little corner of the OS. They are tactical. No one is looking at the big picture — the strategic picture.

Perhaps the best thing to happen to Linux would be for Red Hat to destroy all competitors and become the Microsoft of Linux. If everyone was using Red Hat, and there was one monolithic entity working on developing the platform, maybe this would provide the cohesion the OS needs to make real inroads on the desktop.

Far be it for me to agree with Owen about anything, but this interview is right on the money.



  1. “Perhaps the best thing to happen to Linux would be for Red Hat to destroy all competitors and become the Microsoft of Linux.”


  2. It’s funny, but this is exactly the situation as I remember it about fourteen years ago with different versions of DOS, and new Windows-like OS’s. Nothing worked the same across all of them, you occasionally ended up with software that only ran on one version of DOS, it was a complete pain in the butt. For all the bitching about Microsoft, they’ve tried to support legacy apps because people want old software to work on new machines, and they’ve, in a general sense, tried to create OS’s that are everything to everybody. I know they haven’t done some things well, but overall, I like and use Microsoft products.

  3. This article brings up a few valid arguments, but I mostly disagree with it (big surprise, right?):

    — I don’t think that you can look at GNOME or KDE and say that Linux doesn’t have a consistent GUI. In fact, it has a choice of two consistent GUI’s. Vendors are free to choose which one to implement, althought most of the non-business targeted distros include them both. Pop in KNOPPIX or the Lindows LiveCD and tell me that Linux has no GUI designed on a large scale.

    — While I agree that there’s a gap between the OS and the desktop, I don’t think the solution is to call a do-over on the OS, but rather to include more ‘glue’ to connect these together. The GNOME, Ximian and RedHat folks are doing this with Project Utopia. This is one of the big gaps that is being closed in the renewed efforts towards the desktop.

    — I don’t think Linux needs ‘an iron fist’ approach to get it up to speed. The best solutions seem to be coming forward in an evolutionary way. The good ones get more mindshare, more development, more funding, and eventually become ‘the way it’s done’. Stuff that doesn’t work falls by the wayside. The job that’s left is for the major desktop projects to tie these things together in intuitive ways, and by and large, that’s happening.

  4. I’ve never been an opponent of Linux in a general sense – I use it both at work and at home – I just take issue with zealots who eschew Windows because “Microsoft is evil” then point to Linux as the godsend that will save us while failing to notice that Linux is just not pervasive or complete enough to replace the millions of installed Windows desktops. This is why Linux functions well in server scenarios, because it’s only the savvy users who need to tweak it. It’s nice to see Linux users who are ardent about their platform speak intelligently about its flaws.

    Having a consistent GUI has nothing to do with the widgets that the GUI presents. As an example, having menu widgets that are consistent across applications doesn’t imply that all programs maintain consistent menu options. The mildest transgressors use different accelerator keys from the universally accepted ones. The worst applications don’t bother to use menus, or create their own widgets to implement them. (This is what drives me nuts about Apple software on PC -see: iTunes – but that’s another story.) The failing here is that if there is a GUI standards reference for KDE or Gnome, nobody bothers with it.

    An even deeper problem is the GUI/OS link. Why on Earth does every Linux program use a different format for their configuration files and store them all in different places? Because each of these files is different, you can’t easily write a generic (this generic-ness is important to GUI design) interface to modify them. Instead, you end up with the Control Panel, which is a hacked conglomeration of applets that work with varying consistency.

    Granted, Windows still has some problems in this regard, but at least all of the hardware management interfaces are in one place and consistent. Will Project Utopia solve this for Linux? Maybe, but it’s amazing to me that developers are sometimes so blind in their own amusement that they can’t see what good things others are doing and emulate it. “If you know yourself but not the enemy, for every victory gained you will also suffer a defeat.” – Sun Tzu

    I agree that an evolutionary approach might yield better results than Red Hat (or someone) mandating a design, but I think the evolution needs to be coordinated. The nature of Linux (everyone able to do their own thing) is the downfall of Linux (everyone doing what they think will work best right now). Imagine how powerful a force Linux could be if a majority first agreed on what to do, perhaps coordinated by a guiding entity like Red Hat, then did it.

  5. I’d say that Owen’s closer to the mark regarding the flaws that Linux needs to cover before it’s a full desktop system than the article was, IMHO. A lot of these have either recently been squashed or are actively being squashed, though. I’ll use GNOME as an example desktop here:

    — I have to disagree with the statement that Linux software doesn’t comply to standards. The GNOME project is practically religious about the Human Interface Guidelines (the HIG), and you can more or less build a complete desktop using apps that comply (or attempt to comply) with the HIG. Most of the GNOME/GTK apps that don’t comply are in the process of being ‘HIG-ified’. The HIG is putting forth standards like verb-based dialogs (instead of ‘OK-Cancel’) and instant-action preference tabs. At least two apps, Rhythmbox(music) and Evolution(email) were voluntarily pulled from the latest release by their project leads because the developers of those apps felt that they should better comply with the HIG first. That’s a quality step that would have likely not been allowed on a commercial project.

    — GConf acts as a central repository for the configuration of GNOME apps, most apps do use it, and the format is the same for everything. They’ve done a good job of creating something like the Windows Registry, but without most of the downsides (lack of documented options, monster binary file). This is one thing that KDE has yet to achieve, I think. Could be wrong there.

    I don’t know if Linux is ready for the desktop, but I’d say that it’s certainly ready for the workstation. If I were a CTO faced with the prospect of paying to upgrade all of my workstations to Windows XP, I’d be giving Linux an awfully hard look right now.

    GNOME will have 3 or 4 more releases before Longhorn is released near the end of 2006 (if it stays on schedule – a big if). I don’t know what KDE does for release planning, but I imagine they’ll get at least one significant update in as well. I think that by then we’ll be looking at a very capable desktop system. Linux developers are keeping a very close watch on Longhorn, as well as innovating in their own directions (see the Dashboard project for a good example: )

    The nice thing is that as end users, the competition is only going to make things better for everyone. MS has been able to rest on their laurels somewhat given their position in the market, but if they view open source as a threat, they’ll have to start competing on features and quality, since they will find it much harder to buy open source out of existence.

Comments are closed. If you have something you really want to say, email and we‘ll get it added for you.