Skip over navigation

The Lost continent of

You've found a bug on my site!

Little fly,
Thy summer's play
My thoughtless hand
Has brushed away.

Am not I
A fly like thee?
Or art not thou
A man like me?

For I dance
And drink and sing,
Till some blind hand
Shall brush my wing.

William Blake, 'The Fly' (1795)

Linux & The GNU Project

An Operating System, and a Phenomenon...

Linux is a kernel which is usually combined with free software from the GNU project to create a complete, free, operating system. An operating system is what allows your computer to do more than just sit there with a blank screen. Mac OS X, Windows, UNIX, BeOS, and Linux are all operating systems.

Free, as in Freedom

Much attention recently has focused on the fact that Linux is free. Many people, especially business people, have trouble understanding why anybody would spend untold hours of their lives creating software that is just given away for free.

The point is philosophical, rather than financial. The freedom that opensource programmers work so hard to create has nothing to do with price you pay (or don't pay) for it. It is about the freedom to share the software with others, make changes to it, and share those changes with others.

Free Consumer Level Computing at Last!

For a long time GNU/Linux systems were obviously written by programmers, for programmers. Their mass-market appeal was virtually nil, except perhaps as file or webservers. The last couple of years has seen huge improvements in this area, with GNU/Linux systems now seen as viable alternatives to commercial systems, even for novice users. We use Linux extensively at my place of work.

Linux in console mode

The bad old days? My servers all still look like this, and I'm comfortable with it, but it scares the bejeesus out of new users...

A user friendly graphical interface

My computer's desktop while working on this page. A modern graphical user interface running 100% free software.

My Experiences

After leaving 8-bit computing behind at school, I had learnt DOS, then Windows. I started my professional career in computing as a professional Windows trouble-shooter. Later I did contract programming, again for Windows.

I installed an early version of Debian linux (v1.3.1 from the Nov. 1997 issue of 'Boot Magazine') onto an old machine, just to learn more about it — the more I learnt, the more things just seemed to make sense. Although it was sometimes difficult, it was always logical. Completely absent were the random behaviours and frustratingly terse error messages I was used to from Windows.

Since then I have spent more and more time with Linux and less and less time with Windows. I now own and run my own web application design and hosting business, something I could never have been able to do using commercial software.

Software Quality

For me, a large part of the appeal of free software is it's quality. Often the quality of free software vastly outstrips that of commercial offerings, especially when it comes to unsexy things like security and stability. I suspect that it is a question of motivation.

Commercial software ventures are there to make money. They do this by finishing quickly and having lots of bells and whistles to attract customers. Often projects are rushed out the door by management before the programmers working on them consider them finished.

Free software projects are usually developed by various individuals scattered around the Internet, forming an online community of developers. Often they get involved because they themselves want to use the program. Usually one person is in charge of the project and various contributors submit changes to that person. If a change is not considered worthy, it is publicly discarded. There is strong social pressure to submit quality material — your position in the community is determined by the material you submit. It is a modern example of a gift economy.


As I hinted in the introduction to this article, an operating system consists of numerous pieces of cooperating software. In the free software world these are all individual projects. There are very many ways of assembling these various software components into a complete system. You could either do it yourself, or simply use a pre-assembled collection, a so-called 'distribution'. These are all compatible nowadays — a program written for Linux will run on any of them.

There are very many distributions of Linux. Some are commercial, many more are free. Each has it's own focus and it's own strengths. It's like having different models of car. All cars are made up of various parts, but some are good for long-distance family travel, others are best for just going really fast...

I currently use three different free Linux distributions. A feature common to all of them is superb version control. In most cases you can upgrade all the software on your computer (not just the operating system) with a single command.

Continuing with the vehicle analogy, I'll give each a quick run down here to (hopefully) convey that this array of choices is actually a good thing...

Ubuntu Linux logo

Ubuntu Linux

The family sedan. This is what I use on my mother-in-laws computer. It's extremely easy to use and install, and quite um... novice proof. The distribution's byline is: 'Linux for human beings' (I guess computer geeks aren't even human...).
Gentoo Linux Logo

Gentoo Linux

The hot-rod. I use this on my personal machine. The focus is more on power and flexibility than ease of use. You can configure your installation to an alarming degree. It's great for programmers or power users who are seeking a little more 'street cred'.
Debian Linux Logo


The tank. This is what all my servers run on. Debian has a very strong focus on stability. Automated security updates and very well tested versions of programs are it's main strengths.

You could of course just find a distribution you like and use the same distribution for your servers, secretaries, and engineers — like Windows users have to.