01 July 2005

What's wrong with GNU/Linux

I've been a fan of GNU/Linux (hereafter referred to as Linux for convenience) for about two years now. Compared to what I was used to before (an operating system specific to the x86 architecture from a company based near Seattle, if I remember correctly) Linux is immensely powerful and flexible, and a great learning tool. Before switching, my learning about computing had pretty much ground to a halt. Since then, however, I have learnt a huge amount about networking, security, graphics, processor architecture, system configuration and much more. Oh, and I've also learnt a lot about freedom, why it's important and how certain vested interests are trying to deny us any freedom that doesn't suit their business model, And of course I've learnt about many communities that exist online, and I've even had the pleasure of drinking beer with some of the members of these communities too.

When discussing the merits (or otherwise) of Linux with people who have either never tried it or have merely dabbled with it. there is a consistent complaint that I hear. Essentially people say that you require a lot of knowledge about the system before you can use it, its command line syntax is obscure and non-obvious and there are too many things that are just that much harder to do than on certain other operating systems that they may be familiar with. Certainly I cannot argue that historically the latter has been the case, as the ecosystem surrounding Linux is relatively young, and certain key parts of the software chain have only become available more recently. But the rate at which Free Software is being developed is absolutely astounding, and every time I have come across a "missing application", I don't have to wait long for 3 or 4 to come along to fill the gap. And they will be 3 or 4 very good applications too. That is not what is wrong with Linux.

But what does seem to be wrong with Linux is exactly the same as what is wrong with proprietary software - the best known distributions are produced by commercial companies that don't have the resources to do sufficient testing. As a Software Engineer writing proprietary software and delivering it to customers during my day job, I see this problem from the inside and it's a simple problem - testing costs money, and proper testing costs lots of money. You therefore do as little as you think you can get away with without damaging your reputation or losing your customers. That usually means merely ensuring that you are not significantly worse than your competitors.

Red Hat, Mandriva, Novell and the many smaller players suffer from exactly these problems. Fair enough, the fact that they are delivering Free Software means that some of their testing is external, which should at least give them a significant advantage over proprietary companies. But what cannot be external are the processes of configuring and packaging the software for each distribution. They are competing against each other totally in this respect. All too often using Suse I have found little configuration issues that cause me problems. As I'm now reasonably knowledgeable I can usually figure out how it should be configured, but it takes time, and to a business using the software, time equals money. The software itself almost always works brilliantly once configured correctly. So it's often merely the choice of default configuration that makes the difference between "It requires significant tweaking before you can use it" and "It just works".

Let's take a step out of the commercial Linux world for a moment to the distributions that are purely community based. I have been a keen Gentoo user for a while, and am now discovering the world of Debian and in particular KUbuntu, the KDE version of Ubuntu.

Gentoo has a well-deserved reputation for being hard to install, but once installed I have found that it's pretty easy to maintain. The community is large enough that most configuration problems, if they occur at all, get solved pretty quickly. If a package doesn't work, just wait a few hours then emerge the updated package that fixes the issue. Nine times out of 10 it really is this easy. Apart from the installation procedure there is only one major disadvantage to Gentoo - because all software is compiled locally, it can take a while to install. That's not a problem for many situations, but on my slow laptop it was the one reason I decided to investigate Debian and its derivatives as an alternative.

My experience of Debian itself is pretty limited, but I have now been using KUbuntu for a couple of months. With Debian, configuration issues are very rare just as they are in Gentoo. The main reason I am not so keen on Debian Stable is that the software is quite old (translation: nearly all the bugs have been flushed out now, so it's well suited to use on a server. My requirements are for a desktop, which is quite different). It was my hope in using KUbuntu that I would have all the advantages of Debian, combined with all the advantages of very up-to-date software, combined with all the advantages of a large community supporting it. So have I found this to be the case? In a nutshell, yes. True, it sometimes feels like the fairly young distribution that it really is (8 months old as I write this), but to be up there with the best so quickly is, quite frankly, amazing. If it carries on improving at this rate it should sweep the others aside in the next couple of years to become the de facto Linux distribution for the desktop.

On second thoughts, maybe it isn't so amazing how well it has done, when you look at how it's developed:

It's based on a long-standing, solid, community-based foundation (Debian)

It only uses Free Software so avoids all the various proprietary traps, but without precluding the use of non-Free software if that's what tickles your fancy

It uses the (now very large) community as an integral part of the process of debugging it so that everyone can benefit right from the start

The whole development process is totally open, so any problems are caught early.


Whilst I was writing this, it looks like another snapshot of Breezy Badger, the next release of Ubuntu has just been announced. I should probably start downloading it and finish this off.

Donald

No comments: