Tuesday, October 16, 2012

Dear Linux: after twenty years, it’s time to stop sucking

My wish was to install the latest iteration of my GIS package, the inestimable Grass-GIS, and take a look.

My intention was to do so in a virtual machine, so that I don’t risk breaking anything on my production setup.

My conclusion: fifteen years after I first installed a flavour of Linux, from an installation and get-started point of view, it still sucks. Like a Hoover. Like a planetary-scale Hoover – think of something that the Vogons might install on a sky-obscuring spaceship to scoop up the leftover bits of a planet they’ve just blown up.

That kind of Hoover.

Before anyone accuses me of being a newbie or Linux-hater, I say this. My first install was a Red Hat in the late 1990s. Since then I’ve variously used Mandriva, Debian, CentOS, OpenSUSE, Ubuntu and Puppy Linux. I’ve also compiled code from source on Mac OSX. Not only that: because Linux is the very best underlying platform for Grass-GIS, at least in my experience, I will continue doing so.

In spite of its chronic, hostile, passive-aggressive, "if you don't love every tweak you're not really one of our people" time-wasting.

I write this on a Linux box that’s currently screen-sharing an iMac using vncviewer (mostly because the lame laptop running Linux is lacking in disk space, and I don’t feel like laying out dollars on a new one).

Even though it sucks.

I may have missed a disto or two in that list, because I don’t commit to memory the installs that have failed to boot.

The very simplest thing – the first hurdle – is to get a machine that can actually do something after it boots. Every disto I’ve mentioned will boot. Then it will put you through a complex and dispiriting set of initiation ceremonies before it will actually let you do anything.

Take, for example, the most basic requirement: you have a computer, now you need to install software. To do that, you’ll probably need a compile/make kit – or you’ll need to be able to download and install binaries using a package manager.

Let’s look at a virgin install, completed today, of Debian. From the ISO.

No compiler. So I have to download and install a compiler – apt-get instal build-essential should do. Here’s what Debian had to say:

Media change: please insert the disc labeled
‘Debian GNU/Linux [skipping the rest of the label]
in the drive /media/cdrom/’ and press enter

Did I mention I was running this under a VM? I think so. Does that hint, just a teeny, tiny, itsy-bitsy bit, that I installed Debian from an ISO sitting in a convenient location on my machine? That I didn’t burn a CD?

Anyhow: I’ve installed the damn operating system. This is not the world of Windows or Mac, where you have to prove that you came by a legitimate license key, before you start. This is the free-as-in-speech world of GNU/Linux.

What brain-dead, bound-by-habit, inflexible deadbeat demands that the presence of a valid-and-correct CD ROM be made a dependency to install software that’s so important, it’s right there in the name?

Get this, distribution designers: there’s this great, big, cheap, fat network called “The Internet” out there. I can download most of your trivial sub-megabit libraries and packages in seconds, even you’re fattest fat-dumb-happy bloatware in-memory-of-your-training-on-Visual-Basic will download in a reasonable time.

But no. Because you’re a complete and utter idiot, a moron without hope of education, a solipsistic twit without a shred of imagination, you decide that installing software requires the original CD in the appropriate drive.

Why in heaven’s name should I write your precious free distribution of an operating system to a CD or DVD and, just like it were a Windows or OSX install, pack it away somewhere precious so that it never comes to harm. Why?

And Debian isn’t the only offender – not by a long chalk. To be blunt, the people packaging up Linux distributions are idiots with a user hostility that explains why it doesn’t to anywhere.

OK. But I’m pigheaded. So I can download and install subversion, perhaps?

Not without libsvn1. Will that install?

No, because we’re now in dependency hell.

Oh, I’ll start again in the morning, scratch the VM, and get it working.

But if you want to know why Linux is bouncing along the bottom of the market like a dead cat on a bit of elastic, this is why: because eye-candy ranks ahead of usability. I don’t want a shiny new desktop. I want to get a distribution that’s ready for what I want from the get-go. You know: ready to install software.

Isn’t that what computers are meant to do?