Linux - What is it, and Why Should I Care?

16th November 2002

Linux (or for the purists, "GNU/Linux") is a Unix-like operating system. Of course, if you don't know what an operating system is, or what Unix is, then that statement will leave you none the wiser.

A Bit of Compterese and History

An operating system is the underlying "program" on your computer which tells all the other programs how to run. Or, to put it another way, it's the "program" which is the (main) intermediary between you and the actual hardware, the "nuts and bolts" of the computer. When computers were first invented, there was only one operating system (O/S) for a particular kind of hardware, so people didn't particularly worry about them, since you had no choice. If you had a mainframe, you got the O/S for that hardware. Whoever built the machine, wrote the O/S. Even with Apple Mackintoshes, when they first came out, the only O/S available for that hardware was the one that came with it, (though of course it was far superior to anything else available at that time). Microsoft was ground-breaking when it first started, because it was interested in selling the O/S and not the actual hardware for the PCs (or to be precise, personal computers whose hardware was based on Intel *86 CPU chips or clones thereof). It may surprise you to know that there were actually competitors for Microsoft's Disk Operating System (MS-DOS, more commonly known as DOS) until Microsoft managed (by various pieces of corporate skulduggery) to put them out of business. I myself used DR-DOS at one point, and it was certainly nicer than MS-DOS. MS-Windows (aka Windows 3.1 and earlier) was, strictly speaking, not an O/S, because DOS was the real O/S running underneath. Then again, if you define Operating System as interface, then MS Windows 3.1 was an O/S. Whatever.

What is Unix, then? Unix was a bit of a revolution, long before Microsoft was a gleam in Bill Gates' eye. As I said, generally speaking, an Operating System was written for specific hardware. The interesting thing about Unix was that, though the original version of it was written for a specific kind of hardware, it was written in such a high-level and generalised way that it was easily "ported" to different hardware. To "port" a program means to revise it that it will still do the same thing, but work on different hardware or a different operating system. Yes, even if you have the same hardware, since the operating system is what talks to the hardware, you have to be able to talk to the operating system first -- and different operating systems speak different "languages". To take the language analogy further, what you get with Unix (or Unix-like) operating systems running on different hardware is that they are like different dialects of the same language. They are all very similar, but not exactly the same. For many things they may have "words" in common, and for other things they are mutually incomprehensible.

Unix was such a flexible and stable operating system that many hardware manufacturers used a version of Unix on their machines, sometimes as an alternative their own proprietary operating system, and sometimes not. Thus you get Hewlett-Packard with their MPE/V Operating System and their HP-UX version of Unix. I forget the name of IBM's proprietary O/S, but their Unix is called AIX. Then you get Sun's Solaris (they don't have a proprietary O/S, they just use their Unix). And DEC and Dell and so on.

Unix is what the Internet was built on, and is still the backbone of the Internet today, despite what Microsoft would like to tell you.

(For more information on the history of PC operating systems, put in a very entertaining way, look at Neal Stephenson's "In the Beginning Was the Command Line" at http://www.cryptonomicon.com/beginning.html . It's slightly out of date, I think it was written in 1998, and BeOS is now no more, but it's well worth a read anyway.)

Enter Linux

Linus Torvaldis is famous for inventing Linux, a version of Unix which would run on Intel *86 PCs. To be fair, what Linus did was put the last vital piece into place, the "kernel" of the operating system. If the utility programs hadn't already been mostly available, there wouldn't have been much his O/S could have actually done. This is where the "GNU" part comes in. GNU stands for "Gnu's Not Unix" which is sort of self-contradictory, because the initial collection of GNU programs were, in fact, Unix utility programs. I can't remember if they were just ports to DOS or not, but I certainly used them myself, very happily on my DOS computer before I got Linux myself. I was happy because most of my computing experience was on Unix systems, long before I got my first PC. (There, that's my bias revealed...)

Linux, naturally had its first proponents in the Comp. Sci. geek crowd who were experienced Unix users and wanted a Unix of their own. Now Linux is available not only for Intel *86 hardware, but for Apple Mackintoshes, for Sun hardware, for Alphas and I forget what else. (Why has it been ported to so many different machines? Maybe the simplest answer is "because it can be". Since it is Open Source, then that makes it possible for programmers to change the programs so that they work on different hardware.)

What's Open Source?

Before I can answer that, I'd better explain what "source" is! Source, or "source code" is the human-readable version of a computer program. Source is what programmers actually write. Then a compiler program takes the source file (or files) and translates it into the ones and zeros which the computer understands, the computer instructions, the "machine code". The result is called a binary file (from the binary numbers, the ones and zeros, which the file is made up of). The binary file is the actual program which gets run. And most programs are in the form of binary files. (The exception is "scripts" which are written in languages which are "interpreted" rather than "compiled". In this case, a program called an interpreter does the translation on the fly, and passes the translation directly to the computer, rather than putting the translated code into a binary file which can be run later).

The difficulty with binary files is that they aren't human-readable, they're only computer-readable. So when you run a binary-file program, you don't know what the programmer told the computer to do; which also means you don't know where the bugs are either.

With Open Source programs, the creator of the program makes the source code of the program available as well as the binary code. This means that any other programmer can look at the source code and see what the program does. The other thing that Open Source licences do is allow you to change the copy of the source code you have -- including being able to fix the bugs yourself -- with conditions which vary depending on the particular licence. Generally the conditions are along the lines of "you can't pretend that this was the original source code, you have to say who wrote the original code, and that you've changed it". And that if you distribute your changed program, you also have to make the source code available under the same licence you got it under yourself.

Another thing to keep in mind with Open Source software is that you can actually get "alpha" and "beta" versions of programs, because the way that Open Source works is that a program can well be available before it's stable, because having lots of people out there use it is part of the path to making it stable. If a version number is below 1.0, that tends to be a signal that the author does not consider it non-beta software. Caveat Emptor.

So Why Would I want Linux on my PC anyway?

With all the Fear, Uncertainty and Doubt (aka FUD) which Microsoft has been spreading in the press recently, if one believed their PR, then Open Source (and by corollary, Linux, since it is an Open Source project) is Anti-American, Subversive, Destructive, Communist; an Evil which must be stamped out by all Right-Thinking people. Actually, from their point of view, that's probably correct, if you define "Evil" as "anything which might threaten to decrease the rate of increase of Microsoft's profits".

So why is Microsoft so afraid?

Cost

Well, you can't get much cheaper than free. Linux itself costs nothing. That is part of the conditions of its distribution, its licence. One is allowed to charge a reasonable cost for the medium of distribution, and charge for supporting Linux, but the actual operating system is free. Thus, you can get official distributions of Linux for tens of dollars (which include limited support), or even cheaper if you get a home-burned CD which only cost $1 (or how cheap do CD-R discs come nowadays?). Or the cost of downloading it yourself off the Internet (which some people would count as "no cost" but most Internet connections aren't free...).

There are also lots of free programs that either come with Linux or can be downloaded from the Internet (check out http://freshmeat.net) Okay, so that's irrelevant if they're all programs you don't want to use, but there are many serious and sober programs as well as fun and frivolous ones. Everything from word-processing and databases through to web-servers and email programs all the way to games.

No, they aren't the same programs as you've been using on MS Windows. (see below for reflections on the downside of this)

Freedom of Choice

There are a number of ways which Linux supports freedom of choice. One is mentioned above, that there are lots of different programs available for Linux, and you are free to choose whatever ones you want to use. Some people find that array of choice bewildering, but many think it is a good thing.

For example, in MS Windows, you have a choice of one or two text editors -- Notepad, and Wordpad. On Linux there are two main editors, emacs and vi, but there are also variants of emacs (such as xemacs) and variants of vi (elvis, and of course the great vim and gvim) but there are also editors like jove, jed, pico and others I don't remember the names of. Likewise, there are multiple word-processors, two excellent SQL databases, at least three different web servers, at least four different email servers, more than half-a-dozen different mail readers, the list goes on. And all of those mentioned are free (as in beer) as well as free (as in speech).

You also get a choice of GUI (Graphical User Interface) with Linux, rather than having no choice at all. This confuses some people when they first encounter it, because the graphical stuff is set up differently in Linux than in MS Windows. In Linux, there is a separation between the graphical system (X-Windows), the Window Manager (that which manages the actual "windows" produced by the various applications) and the Desktop Manager (an application or applications which control things like taskbars, menus, desktop icons and so on). With MS Windows they are all in one, whereas with Linux the separation of these three tasks allows for greater flexibility -- and the opportunity for programmers to write user interfaces the way they think is cool. Some combine the Desktop Manager and the Window manager into one application (or suite of applications) whereas others separate them.

Which also leads me to the question of customisation -- Linux is very customisable. For the adventurous and savvy, Linux makes it very easy to go "under the hood" -- and for the not so adventurous, you can just leave it alone, or just customise things which you find easy to customise.

Stability

Despite the FUD of Microsoft, Linux is actually more bug-free than MS Windows. The nature of Open Source is that bugs are (a) found faster and (b) fixed faster than with closed-source code. This is because of the "many eyes" phenomenon of Open Source. Since there are thousands and thousands of tech-savvy people using the program, who all have access to the source code, then the chances of someone finding the cause of the problem, fixing it, and telling everyone about it, is very high. What Microsoft would have you believe is that because there are many reported bugs for Linux, then it must be unstable. They neglect to mention that Microsoft tends to treat bugs like state secrets -- they're always denied to exist.

Microsoft has trained people to expect their computers to crash regularly. Microsoft has trained people to expect that if they have a problem, then rebooting the computer will fix it -- or completely reinstalling the application.

Linux gives you freedom from all that. Not that I could truthfully say that programs on Linux never crash -- but if they do, they don't take the whole operating system down with them.

There are Linux (and Unix) systems out there whose up-time can be counted in years...

Security

Sick and tired of getting viruses in your email? Did you set up a web server only to have it infected by Code Red? Well, if you get Linux your troubles will be over! Well, those kind of troubles anyway.

There are a few reasons why Linux is more secure than MS Windows. Firstly, Linux is not popular with virus writers. Virus writers love exploiting the holes in MS Windows not only because MS Windows is much more common, but also, I suspect, because Linux security holes tend to get fixed faster. (See the Open Source effect)

Another reason is because Linux is inherently more secure by design. MS Windows has gotten better over the years, but it's still far too easy for a user infect themselves with an email virus on MS Windows than on Linux. Yes, both modern MS Windows versions and Linux have a separation between Administrative users and normal users (this separation is a Good Thing, because normal users don't have permission to change system settings or write on or destroy system files). Unfortunately, MS Windows makes it inconvenient to switch between Administrative and Normal user (log out, wait for gui to shut down, log back in, wait) and so many users are tempted to give themselves Administrative privileges in order to get anything done, and therefore the action of a virus or Trojan Horse can be catastrophic. On Linux, since it is much easier to temporarily switch to the Administrative user (called "root") and then back again, one is less tempted to stay as "root" all the time, and therefore any virus programs you might be tricked into running have less power and can do less damage.

The other reason related to this is that it is simply more difficult for a Linux user to accidentally or thoughtlessly run a program that they were sent by email, and the "double-extension" trick doesn't work at all. To explain: on MS Windows, the type of a file is defined by the extension, the ".EXT" last three letters of the filename. If the extension is of a type which MS Windows recognises as a program, it runs the file as a program if you double-click on it in a mailer or file manager. Unfortunately, the default setting in the file manager, and probably in Outlook Express also, is to hide the extension from the user. Therefore the virus writers trick the user into thinking that the file is a harmless file (which will just be opened when double-clicked on, rather than run as a program) by giving the filename a "double" extension, such as calling it "anacournikova.jpg.exe". The real extension ".exe" is hidden, and the filename is displayed as "anacournikova.jpg", and the user will double-click on it in the expectation that it is a JPEG picture, and their favourite picture viewer will pop up with the picture as its input data. Despite the thousands and thousands of dollars and man-hours wasted due to virus-writers exploiting this behaviour, Microsoft still has not changed this default setting.

This trick doesn't work on Linux for several reasons. One is that Linux doesn't use only filename extensions to determine the type of the file, but it actually examines the contents of the file to figure out what kind of file it is. It also doesn't hide extensions. The other thing is that in order for a program to be run, it has have it's "execution" permissions turned on. That of course will depend on the particular mailer as to whether one can execute a file by double-clicking on it. It is easier to be safe on Linux because there are a couple of extra hoops one has to run though before running a suspect program that someone sent you as an attachment.

Longevity

This comes in two ways. Longevity of hardware and longevity of software.

Every time a new version of MS Windows comes out, it requires a bigger and better computer to run on. Even though the existing hardware is still in perfect working order, it has to be thrown out. Also older hardware (such as peripherals) may no longer be supported in a later version of MS Windows. With Linux, later versions of Linux still work on old computers, though of course some particular new programs may be written with more modern computers in mind. Since Linux doesn't require a GUI (Graphical User Interface) in order to run, the range of machines it will run on is much greater, since GUIs require better and faster hardware to run on.

Longevity of software is related to the nature of Open Source software. If you have a favourite program, and it's closed source, then if the creator of that program decides they don't want to produce that program any more, then you're sunk. Maybe you could keep it running by leaving an old computer in the back corner still running the old version of MS Windows which the program was designed for, but eventually that computer will die, or probably sooner than that, the dialect of MS Windows which it speaks will differ so markedly from the current one that it won't be able to communicate. It is against the interests of Microsoft to keep backwards compatibility for more than a limited time. For example, every time they bring out a new version of MS Word, the file format of the document files it creates is different, so as to force everyone to buy a new version of the same software all over again, even though the old version was perfectly good for what it was being used for.

With Open Source software, if the original creator of the software is no longer interested in maintaining the software, then somebody else can take over -- the software stays alive instead of dying. And though file formats will change, there is less incentive for them to do so. Open Source software encourages open standards, cooperation and interoperability.

Morality

Well, you can skip this bit if you want to be merely pragmatic.

Which is better -- to support a company with shady business practices (no matter how much they give to charity) (see "Boycott Microsoft" http://www.vcnet.com/bms/ for example), one which has been declared to be an illegal monopoly, and has repeatedly demonstrated that it considers itself to be above the law, a company who treats its customers like criminals -- or should one use software written by skilled volunteers whose main desire is to write good software?

I am never going to buy Windows XP myself, because I don't wish to be treated like a criminal -- but the registration practices of all recent Microsoft software requires you to re-register your legally purchased and legitimate software even if you move it from your old computer which is being sent to the dump, to your new replacement computer -- or even if you change the hardware too much, because Microsoft thinks that you have to repeatedly prove that you aren't an Evil Pirate. Well I'm bloody well not going to put up with that kind of treatment, thank you very much!

Other Reasons

Take a look at http://www.hevanet.com/peace/microsoft.htm for a calm article about how Windows XP is... a problem. Also look at http://www.linuxlinks.com/local/why.shtml for reasons to use Linux.

The Downside of Linux

There are a few notable reasons why someone shouldn't choose Linux.

  1. MS Windows programs don't run.

Naturelment, since Linux is a different operating system, the programs speak a different language. However, for many programs, there are equivalent programs which do run on Linux, and what is more, most of them are free! Also, there are projects out there such as Wine, Win4Lin, VMWare and Lindows, which do enable MS Windows programs to run on Linux.

  1. Less hardware is supported.

Due to the Microsoft monopoly, hardware manufacturers for Intel-based PCs always make sure they've written a MS Windows driver for their hardware, but they rarely write Linux drivers. (A driver is a sort of program which tells the operating system how to talk to that particular bit of hardware, such as the video card). Some hardware is unsupportable on Linux because the hardware manufacturers don't want to let anyone know how their hardware works, so Linux programmers can't write drivers for that hardware. But this is less and less of a problem nowadays. Even if a particular driver didn't come with your Linux, you can often download one from the net.

  1. Linux is too hard. I'll have to learn things!

The hardness of Linux is often an illusion. And you had to learn things when you got your first computer, didn't you? You're already ahead of the game -- you know how to use a mouse, and you know what menus are for, and you can probably type. Isn't that good? (smile)

  1. Specialist MS Windows programs don't have Linux equivalents.

That is really the only legitimate reason to stick with MS Windows. But it's a short-term reason even so. The more people who use Linux, the more likely it is (particularly if people make their desires known) that more software will be written for it as well as MS Windows.

Linux? Which Linux?

The thing which probably confuses Linux newbies the most when they first start investigating Linux is that there doesn't actually appear to be a Linux. There are lots of them! Which one is the "real" Linux? Of course, the answer to that is that they all are, or that none of them are.

The reason why the confusion arises is part of the nature of Linux not being controlled by one corporate entity. There is a community of Linux writers and users, or perhaps one should say, multiple overlapping communities, oriented around what are called "distributions" of Linux.

What is a distribution of Linux? Well, remember how I said that what Linus wrote was the "kernel" of the operating system? And how there were other utility programs which had been written by the GNU project? There are also lots of other programs which run on Linux which are written by lots of other people. Since you aren't going to get a full working system with just the kernel alone, what has happened is that various bunches of people have put together collections of kernel plus utilities plus other programs, and that collection is called a distribution. Some distributions are put together by commercial entities like Red Hat, others by groups of volunteers, such as for the Debian distribution.

Why isn't there a One True Distribution? Well, maybe if Linus had been interested in putting one together, there might have been, but he just wants to work on the next version of the kernel. And even if there had been a Linus Linux distribution, that doesn't mean that there wouldn't have been other distributions anyway.

This is actually where one runs into one of the fundamental differences between the Open Source movement and the closed-source corporate sector; freedom. Freedom of choice. Sure, having more than one choice can get kind of confusing, but how many of you are going to complain that choosing between different brands of shampoo is too confusing and you only want one State Brand of shampoo? No, I didn't think so.

So, which distribution should I choose?

It depends. Yeah, cop-out answer, but it's the truth. Unfortunately, if you grab a bunch of Linux users and ask each one of them, you are going to get contradictory answers -- and if they're in the same room, the debate can get quite heated, from people who don't realize that what suits them may not suit other people. There are different factors to take into account; for some people one thing is more important than another.

Here are some factors to keep in mind when evaluating Linux distributions -- some are better in one area and weak in another area (and some factors are almost mutually exclusive).

  1. Ease of getting the distribution
  2. can you get it on CDs?
  3. Where can you get them?
  4. Is it downloadble from the Internet?
  5. Is it only downloadable from the Internet?
  6. Ease of installation
  7. start the install and follow the instructions?
  8. manual?
  9. documentation on the Internet?
  10. Installation support?
  11. Stability
  12. does the system crash or hang or corrupt data?
  13. are the versions of programs with the distribution well-tested?
  14. Security
  15. does the system have good security defaults out of the box? Of course, if one is an experienced administrator, any Linux can be made secure; it's a question of how much work you have to do to do so.
  16. does it use versions of programs which are known to be secure?
  17. are security bugs fixed fast?
  18. Games
  19. what sort of games come with the distribution? How many?
  20. Latest versions of software
  21. are the versions recent? This can be both good and bad, because older versions of software may be more stable, because they have been around longer, or less stable (or less secure) because certain bug fixes have not been incorporated.
  22. Frequency of updates
  23. how often does a new version come out?
  24. Ease of upgrades
  25. how easy is it to upgrade (a) the whole distribution or (b) particular programs? (Of course, most MS Windows users don't even think in terms of upgrading the operating system -- they just wait until they get a new computer (because ten to one, the new version will be so bloated that it won't be able to run on the old computer anyway).)
  26. What sort of package management system does it have? A package is an archive file which contains all the files needed for a particular program, and may contain extra information about what other programs it depends on or replaces. A package management system installs packages and keeps track of package information.
  27. Availability of packages
  28. how easy is it to get particular programs in the package format for this distribution?
  29. Ease of administration
  30. This is a tricky thing to assess, because some people consider that if a distribution offers specialized graphical interface tools to access the administrative stuff, that is a Good Thing, because it makes it easier, while others consider it a Bad Thing because tools that are only available on one distribution and not another make it harder to switch distributions, and thus curtail your Freedom.

I will look at the four main distributions of Linux: RedHat, Mandrake, Slackware and Debian (though since I have only used RedHat and Debian recently, Slackware a long time ago, and not used Mandrake, take what I say accordingly).

RedHat

This is the most popular distribution, or has been. It is a commercial distribution, and that has advantages and disadvantages.

  1. Ease of getting the distribution -- easy.

You can buy CDs direct from RedHat on the web, or from various dealers that deal with Linux that have a web presence.

  1. Ease of installation -- easy.

Just pop the CD in and follow the directions. It's much easier than it used to be. If you buy the Official CD pack it comes with an installation manual, and there is installation support. If you bought cheaper unofficial CDs, then there is no support.

  1. Stability -- not so good.

I changed over from RedHat 7.2 to Debian because the system did not work as well as I had come to expect from Linux (or indeed from RedHat). It may be that version 7.2 was a particularly buggy version, but they should have tested it more.

  1. Security -- improving.

Now when you install, you can set the security features to have better defaults than you used to be able to.

  1. Games -- a fair few on the level of Solitare and so on, come with the distribution. As with any distribution of Linux, more games can be downloaded from the Internet if one feels so inclined, but that takes more effort.
  1. Latest versions of software -- middling.
  1. Frequency of updates -- middling.
  1. Ease of upgrades -- good.

The RedHat Package Manager (RPM) enables newer versions of the distribution to be installed over the top of the old system without having to wipe the disk clean and re-install afresh.

  1. Availability of packages -- good.

Since RedHat is a popular distribution, many program writers create RedHat packages (RPMs). The tricky thing is that since other distributions also use the RPM format, it isn't just the case of checking whether the package is an RPM, but checking whether it is an RPM produced for your particular version of RedHat. Check out http://rpmfind.net and http://freshrpms.net.

  1. Ease of administration -- fine. There are GUI tools.

Mandrake

Mandrake is a commercial distribution originally based on RedHat, so they use RPMs and are similar in other ways.

  1. Ease of getting the distribution -- easy.

As with RedHat, one can get official CDs from the Mandrake web-page or unofficial CDs from elsewhere.

  1. Ease of installation -- apparently easier than RedHat.
  1. Stability -- unknown
  1. Security -- unknown
  1. Games -- tons and tons.

If one gets the 8-CD set, it apparently comes with lots of games.

  1. Latest versions of software -- probably similar to RedHat
  1. Frequency of updates -- similar to RedHat
  1. Ease of upgrades -- similar to RedHat, since it uses RPMs

9. Availability of packages -- similar to RedHat, but again check the versions. Check out http://rpmfind.net.

  1. Ease of administration -- there are apparently some very nice tools which are supposedly more friendly than RedHat's tools.

Slackware

Slackware is one of the oldest (if not the oldest) Linux distribution around. While there are a few programmers who are paid to work full-time on Slackware, I don't think it's a "commercial" distribution.

  1. Ease of getting the distribution -- easy. One can buy it direct from Slackware, or from dealers. One can also download it (see http://www.slackware.com/)
  2. Ease of installation -- apparently easier than it used to be.
  3. Stability -- apparently very stable.
  4. Security -- unknown.
  5. Games -- unknown.
  6. Latest versions of software -- unknown.
  7. Frequency of updates -- since it isn't marketing-driven, the next release is ready when it's ready.
  8. Ease of upgrades -- uncertain.

Upgrades used to be very hard, that's why I switched to RedHat, back when RedHat was about version 5 or so. You used to have to back up all your volatile files, wipe the disk clean, and install again from scratch every time you got a new version, but apparently things are better now, with a package manager called pkgtool.

  1. Availability of packages -- uncertain.

The format for Slackware packages is a simple unix archive, a .tgz file (or .tar.gz) which is readable with standard unix tools, but I'm not sure what the contents are required to be, not what sort of dependency tracking there is. 10. Ease of administration. This is a very "unix-like" Linux, which means that it's easy to go under the hood, but I'm not so sure about GUI tools. Mind you, there's one GUI tool that is available to all Linux distributions upon which one can run a web-browser (though one may have to go off and download it from the net), and that's Webmin, which uses a browser interface as its GUI.

Debian

Debian is a non-commercial distribution run by volunteers. It is, strictly speaking, three distributions in one, the "stable" distribution, the "testing" distribution, and the "unstable" distribution. This can lead to confusion when people talk about "Debian" because one doesn't know which of the three are being referred to. The pattern with Debian is that when a new version of a program comes out, it's first put into "unstable". If it passes certain tests, it goes into "testing". When the "testing" distribution as a whole is considered to be bug free, it is frozen, there is an official release, and what was testing becomes "stable" and the old "stable" is retired. (No, the current "unstable" never becomes "testing")

Another thing of note with Debian is the way its packages are organized. With Redhat, the core packages are made by the RedHat company, and for other packages it is generally up to the programmer (or scattered volunteers) to make RPMs for RedHat. With Debian, there is a community of volunteer package maintainers whose job is to create one or more Debian packages for a program or programs they are interested in, conforming to the Debian standards. This has two effects: (a) there are a huge number of Debian packages, and (b) Debian packages tend to be more stable than random RPMs. (The Debian package format is also somewhat better at handling dependencies than the RPM format is, which helps.)

STABLE

  1. Ease of getting the distribution -- easy.

There are official CDs which dealers sell, and one can download it from the Internet also.

  1. Ease of installation -- not as easy as RedHat.

More questions need to be answered, and more documentation needs to be read.

  1. Stability - very.
  2. Security - very.
  3. Games - a fair few.

More than with RedHat, anyway. (See "Availability of packages")

  1. Latest versions of software - depends how recently the stable release was released. Not very recent.
  1. Frequency of updates -- infrequent.

The core programs remain at the same version, but security bug-fix updates are as frequent as they need to be.

  1. Ease of upgrades -- easy, once you get the hang of it.

The core of the upgrade system on Debian is "apt-get", which is a program which, once it is configured properly, will download the latest versions of packages for the current distribution, and also download all packages upon which a given package depends.

  1. Availability of packages -- huge numbers, but not the latest versions.
  1. Ease of administration -- use webmin.

TESTING

  1. Ease of getting the distribution -- only feasible if you have an internet connection with unlimited downloads. This is because there are no official CDs for "testing" because "testing" changes too frequently. There are snapshot iso images, and some dealers sell these, but one still probably needs to do downloading if one wants to keep up to date.
  1. Ease of installation -- not as easy as RedHat.

More questions need to be answered, and more documentation needs to be read.

  1. Stability -- reasonably good.

Bugs tend to be fixed fast. But don't expect things to be completely stable -- this is, after all, the "testing" distribution.

  1. Security -- average.
  1. Games -- a fair few.
  1. Latest versions of software -- leading edge; new versions tend to arrive in testing fairly soon after they come out.
  1. Frequency of updates -- daily
  1. Ease of upgrades -- easy, once you get the hang of it. (See note in "stable")
  1. Availability of packages -- huge numbers.
  2. Ease of administration -- use webmin.

UNSTABLE

First, let me say that it's called "unstable" for good reason. Nothing at all is guaranteed to work properly with "unstable", and you'd really be crazy to use "unstable" as your distribution of choice. However, people may take particular packages from "unstable" to put with their mainly-stable-or-testing systems, if they really want the latest version of a program.

  1. Ease of getting the distribution -- only feasible if you have an internet connection with unlimited downloads.
  1. Ease of installation -- requires more tweaking of config files than the other two.
  1. Stability -- you gotta be joking!
  1. Security -- all bets are off
  1. Games -- latest versions.
  1. Latest versions of software -- bleeding edge
  1. Frequency of updates -- daily
  1. Ease of upgrades -- requires tweaking
  1. Availability of packages -- even more than testing and stable
  1. Ease of administration -- use webmin.

Summary

Debian and Slackware tend to be loved by experienced Linux/Unix users. Newbies tend to like RedHat and Mandrake better, as they are initially more flashy and pretty and hide things from the user.

Other References