
Linux
Last updated: December 7, 2009.
Could a bunch of ordinary people get
together to design and build
a space rocket that would take them to
the moon? It sounds like
a crazy idea, doesn't it? How could amateurs possibly cooperate to pull
off something so intricate and complex? A few years ago, if you'd
suggested thousands of amateurs could work together to build a rival to
Microsoft's mighty Windows operating system, people would have thought
you crazy too. But that's exactly what's happened with Linux, a freely
available alternative to Windows developed mostly by brilliant young
computer programmers in their spare time. Let's take a closer look at
the miracle of Linux!
Photo: Tux the penguin is the mascot
of the Linux operating system. Tux image published under
a Creative Commons Licence.
What is an operating system?
Most people don't think too much about how their computers
work. They just click on the desktop icons and run the email program,
word processor, Web browser, or MP3 player. It doesn't matter
how the
computer does what it's doing; all they care about is that it helps
them send an email, write a letter, do a Google Web search, or download
a song.
Programs that run on our computers doing useful jobs like this
are called applications (or application
programs)—but they're
only part of the story. Underneath the applications, there's a more
basic program running that helps all the applications to do their work.
It's called the operating system.
The operating system's job is manage all the computer's basic
operations, by doing things like displaying characters on the screen,
figuring out which keys you're pressing on the keyboard, turning on the
fan when the processor chip in your computer gets too hot, and storing
data (information) on the hard drive.
Because the operating
system worries about all these mundane chores, the applications don't
have to: they can simply concentrate on the jobs they have to do. If
there were no operating system, every application program would have to
do all these things too—which would be a huge duplicated effort.
Think of a computer as an office block where all the people inside
are journalists busily putting together a newspaper. The journalists
are trained to gather and publish news; they don't want to have to
worry about running the canteen, hiring
security guards, cleaning the windows and so on. So they employ (or
"contract out") these basic jobs to another company that specializes
in what's known as "facilities management" (looking after the
building). An operating system is just like facilities management: it
does the dirty jobs for application programs so they can concentrate on
the more interesting stuff that they're really good at.
How did Windows become so popular?
Windows (and its predecessor DOS, Disk
Operating System) became the
world's favorite operating system in the early 1980s. Before that time,
small personal computers (which were then known as microcomputers or
micros) had no operating system. Each machine worked in its own unique
way. If you wanted a really good arcade game for your computer, often
you had to write it yourself. And, because there was no operating
system, you had to write it in machine language—the
raw code of
the computer's processor. Even if you were developing a game, you had
to know how to make characters appear on
the screen, operate the disk drive, and do all that other nitty gritty
as well.
Because each computer worked differently, programs written on one
machine wouldn't work on anything else. Every machine was totally
different and it was a nightmare to get machines to talk to one another
or exchange information.
An early operating system called CP/M changed all that. Once
microcomputers started to use CP/M, they could suddenly all use the
same programs. The idea was simple. The companies who made the
computers ensured that they could run the CP/M operating system. Once
they'd achieved that, their machines could run any and every program
already written for CP/M—the programs didn't need to be rewritten, as
they would have had to have been if CP/M hadn't existed.
When IBM launched its hugely popular personal computer in the early
1980s, it tried to buy the rights to CP/M—and failed. Instead, it
arranged for an unknown boy-genius programmer to write an alternative
operating system of its own: DOS. The boy genius was Bill Gates and DOS
gradually evolved into Windows, a product so
successful that it made
Gates the world's richest man. The great thing about Windows was that
it made the world's personal computers talk the same language,
so it was suddenly possible for different machines to run the same
programs and
exchange information very easily. People often say that ever-shrinking,
ever-more-powerful microchips caused the computer revolution—but the
success of Windows in making computers more uniform, compatible, and
easy-to-use was hugely important too. You can read more about this in
our article
on the history of computers.

Photo: Spot the difference! To a computer user, a
Windows system (left) and Linux system (right) look virtually identical
and work in a similar way. You can customize the way your Linux
desktop appears to make it look virtually identical to Windows, if you
wish. Once your Linux system is up and running, it's as easy to use as Windows and you won't notice the difference.
This is the Suse 10.2 Linux distro running the KDE desktop (see below).
From Windows to GNU/Linux
If Windows is so good, why would anyone want an alternative? Many
people—especially more technically savvy ones—don't like certain
aspects of Windows and the Microsoft "culture" that goes with it. They
don't like Microsoft's domination of the computer industry and the
strong-arm tactics it has allegedly sometimes used against its
competitors. They
don't even think Windows is a particularly good product. One obvious
risk is that if everyone uses the same software, harmful programs like computer
viruses and "worms" can spread more easily. Apart from that, not
everyone agrees that we should all do things the same way. Henry Ford
once reputedly said to his customers that they could have his famously
successful Model-T in any color, "so long as it's black." Some people
just like to do things differently.
Linus Torvalds is one of those people. During the 1990s, this
Finnish computer programming student thought he'd have a go at writing
his own operating system, loosely based on a well-known system called
UNIX. He shut himself away in a bedroom in his mother's house, lived
off her pasta, and eventually posted a message on an Internet bulletin
board telling the world what he was up to: "I'm doing a (free)
operating system (just a hobby, won't be big and professional...)"
Soon, thousands of other amateur programmers had joined in the
effort—and the Linux operating system was born. The core of Linux is a
basic operating system called the kernel. On
top of this,
people run applications written for the Linux kernel, many of them
also developed by amateur programmers. This collective of people who
write
"free software" was originally inspired by another maverick programmer,
Richard Stallman, and a project he started named GNU. Now, more than a
decade later, GNU/Linux is such a credible alternative to Windows that
companies like IBM and Dell are shipping it on their machines. Linux
may not have started out "big and professional", but it's quickly ended
up that way.
How Linux works in practice

Linux is a bit more nebulous than Windows and it can be slightly harder to get your head around
the concept to start off with. When people talk about "Linux," they don't always
necessarily mean the same thing! If I say "I use Linux," it means
I have both the operating system kernel and some applications that run
on top of it. If you decide you want to run Linux on your
computer, you usually get it in the form of a convenient package called a distribution
or "distro." This is typically one or more CD-ROMs or DVDs that installs
onto your computer the basic operating system kernel and a
collection of application programs. Slimline distros (like Puppy Linux) come with
just a small set of applications; others (like Suse) have hundreds or thousands.
Photo: Linux comes in different flavors or distros. These two are OpenSuse (left) and Kubuntu (right), and there are literally dozens of others.
KDE and Gnome
A given distro will have a certain version of the Kernel and a certain selection
of applications to go with it. Unlike Windows, which has one basic desktop layout
you can customize, Linux has two very different desktops you can choose from:
one's called KDE and the other's called Gnome.
Some distros oblige you to use either one or the other of these desktops.
Ubuntu, one of the more popular distros for Linux newbies, is based on Gnome;
it's sister distro, Kubuntu, is much the same but based on KDE.
Big distros like Suse let you choose between KDE and Gnome when you first install.
Both have good and bad points and which you go for is a matter of personal preference.

Photo: Ubuntu: One of the simplest and most popular distros. Here it's using the Gnome desktop. If you prefer KDE, it's best to run an Ubuntu variant distro called Kubuntu.
What's Linux actually like?
I'm writing this article now using a version of Linux distributed by a
German company called Suse. When I bought my laptop, I bought a Suse
Linux package at the same time: a set of several CDs and a manual. To
get Linux working, I simply inserted the CDs into the drive and booted
(started up) the machine. The Suse Linux installation program
partitioned my hard drive (split it into two) and moved Windows to one
side in one partition. In the other partition, it installed the Linux
kernel and dozens of free application programs. For virtually every
program you can think of that runs on Windows, you can find a similar
equivalent that will run on Linux. Thus, there's a comprehensive office
suite called OpenOffice that runs a word-processor, spreadsheet, and
slideshow that are almost completely compatible with Microsoft's Word,
Excel, and Powerpoint. There's the Firefox web browser for sending emails and
surfing the Net. There's an MP3 player called XMMS and a movie player
called Kaffeine. There's even a complete graphics program called The
Gimp. Windows is still on my computer too and
runs just like it always did in the other partition; I simply choose
which system I want to
use when I boot my machine. An arrangement like this is called dual-booting,
because I can make the computer start in Windows or Linux, as I wish. I
now have two machines for the price of one!
Drawbacks
It all sounds easy—but there are some drawbacks. Setting up
Linux to start with can be a simple, half-hour task—or it can have you
tearing your hair out for days and weeks if your system is unusual. One
of the biggest problems is that Linux isn't
nearly so comprehensive as Windows in the way it handles peripherals
(the add-ons like USB modems and inkjet
printers that you plug into your
machine). Even if you have a perfectly ordinary printer or scanner, you
might find that Linux doesn't support it: it might not have a small
program called a driver that tells your
computer how to use it. In practice, there are three
solutions to this. Either you can wait until one of those helpful
amateur programmers sorts out the problem and modifies the Linux kernel
or writes a driver so it does what you need, or you can buy replacement
peripherals that
Linux does support, or you can run Windows each time you want to use
that troublesome bit of kit.
Advantages
Why bother with Linux? There are no viruses, worms, or security
scares to worry about. It typically runs faster than Windows. And it's
mostly "free" in both senses of the word: programs written for Linux
are copyright free, so you can share them easily, and they are often
given away at little or no cost. You can download most Linux
distributions, with the kernel and all the programs you need,
absolutely free (though you can buy them prepackaged on CD or DVD if you prefer). Compare that to the price of
Windows, and all the expensive software that comes with it, and you'll
see what an amazing deal Linux really is.
How do you get started with Linux?
The best way to try Linux is to get a Linux-friendly friend to demonstrate it. But if you're
moderately clued up, try it for yourself by getting hold of a
live CD: a version of
a Linux distro that boots and runs from a CD and RAM without affecting your existing Windows setup.
You can download live-CD versions of most distros and burn them onto CDs easily enough.
(Ubuntu is a good distro to start off with and you can find it
on the Get Ubuntu page.)
Once you've got your live CD, just pop it in your CD-ROM player, make your computer boot from the CD
(consult your manual if you're not sure how to do this), and Linux will run
(probably rather slowly) in a kind of demonstration mode. Remember that in reality
it will generally boot and run much faster.