You might have the feeling that Linux is a real good OS.
In this article I will pit some of Linux' features against those of some competing *nix's, and thus identify some of Linux's relative strengths and weaknesses.
Linux and it's competitors
Not so long ago a frequent Linux question was "Is it really useful or is it just another geeks only OS". Now most insightful people consider Linux as being on par with the best, and the interesting question is "when is it best to use Linux and when should some other *nix be preferred".
To help people identify Linux' place in the market, I've made a comparison of ten different OS's eight of them *nix's, where each OS's capabilities in a number of specific areas, are pitted against each other.
The comparison is available as an interactive chart at: http://www.falconweb.com/~linuxrx/WS_Linux/OS_comparison.html .
It's part of a bigger Linux-page called "The Linux Resource Exchange" that holds a lot of other Linux-info such as a searchable HOWTO-mirror, guides to both unofficial and official patches to the 2.0.* and 2.1.* kernels, Linux on workstation hardware pointers, and much more. Take a look at it at http://www.falconweb.com/~linuxrx .
It will be noted that the emphasis of the Comparison Chart as well as this article is on usability and suitability for "real-world-usage" rather than the more technically features of the kernels.
In this article I will present a summary of the information for Linux 2.0, Solaris 2.6, SGI Irix 6.2/6.4 and Digital Unix 4.0 and discuss it. The web-site has more info, and holds information for BSDI 3.0, Freebsd 2.2, MacOS 8, OS/2 4, UnixWare 2.1 and OpenServer 5.0 as well. While this article is fixed in time, I intent to keep the web-site up-to-date in a long time from now.
A small extract of the OS Comparison Chart
|SGI Irix 6.2/6.4
|SUN Solaris 2.6
|DIGITAL Unix 4.0
|Runnable foreign binaries
|DOS, Windows 3.1, Macintosh, some SysV
|Dos and Windows 3.1
|Macintosh, Windows 3.1
|Mountable foreign filesystems
|FAT, VFAT, UFS ro, SysV, HPFS ro, MAC
|Designed to comply, but only a hacked version has been certified.
|XPG4 base 95
|Pay per release
|Pay per release or 2 year subscriptions
|Pay per release
Linux and the OS standards
The days of the great Unix wars are sort of gone. It has always been part of the Unix-philosophy that a program written for Unix should not need anything more than a recompile to work on any vendors *nix. In reality there have always been many minor and major differences, making the task of writing applications runnable on a vide selection of *nix'n a challenging one.
During the 90' the vendors have agreed to write down and follow a set of common standards for *nix behavior. The first one to gain big following was the Posix.1 standard. In the last couple of years this standard have been enchanged by standards such as Unix 95 and Unix98, the newer standards including up-to-date versions of the older standards as well as standardizing additional areas of Unix. It seems that after a quarter of a century Unix can finally live up to the "Unix-box" metaphor, e.g. a generic square box with some flavor of *nix capable of running every random Unix-program you care to use.
It's as if OS's are becoming less important from now on. People want a box with 100 % standard Unix behavor so they can run all ther applications, and buy equipment and OS from whichever vendor has the best offer at the day of purchase.
The versions of *nix made before Linux consisted of many niveaus of revorkings of code that stemmed back from the earliest versions. This was necessary in order for a *nix version to behave to applications like it's counterparts so applications could run everywhere.
When Linus turned his Linux-development into a quest for a complete OS, the Posix.1 standard was his guideline. Having the OS <-> application interface ready, allowed him and the other developers to build all the internal parts of the OS without using any old code. Ideas fostered and experience gained since the original Unix could be freely used in the development of Linux, since none of the code from older *nix's had to be used.
This is one of the main factors that allowed Linux to be so much better than the competition. All the innards are brand new modern OS code, taking full advantage of modern hardware.
As can be seen in the chart above, Linux haven't got the official "I am Posix.1 compliant" stamp. A German company named Unifix has hacked on Linux and gotten their versions of both 1.2 and 2.0 certified. Their work have more or less been included in the main Linux-code. This doesn't make Linux Posix.1 certified, but it ensures that it's very close, probably as close as it's certified counterparts non-certified patchlevels and minor releases.
It's important that work is done to keep Linux in sync with recent standards, or it will turn into a non-standard *nix only suited for certain niche purposes, like we are currently seing various BSD derived *nix's do.
Linux does only have a cost of zero if your time is worthless
The fact that Linux' price tag says zero is not as interesting as it might seem.
Most of the cost of owning and using a computersystem, is the cost of time spent on learning how to use the system, time spent on installation and maintaining it over it's lifetime, and the initial cost of purchase of computer, applications and OS.
If Linux is a cheap OS then it's because it can do more with less hardware than many of it's competitors, or because it comes preinstalled with many hundreds of apps., saving installation time, or since it gives it's users the ability to work smarter, rather than by the OS itself being obtainable without expense
Linux has better documentation than most OS's, and all of it is on-line, so it keeps itself current and is search-able, unlike shelves full of expensive vendor supplied paper manuals. The newsgroups and mailing-lists provide a rapid help and support forum, that beats every phone-support system I have ever used. This ensures more rapid problem fixing than most other OS's even when the local gurus are out of luck, and can be used as a learning tool, thus helping all Linux users work smarter than people using some other *nix.
Linux can make a PC do most of the tricks an ordinary workstation-user makes his workstation do. A workgroup with workstations can be renewed to a few high-end workstations as shared CPU servers and a Linux PC on every table. This costs less, and the really speedy CPU servers ensures that the users gets more power than before.
What makes Linux an economically OS isn't so much it's own cost of zero, but all the related savings and improvements it gives it's users.
Linux speaks many tongues
One of the first business support purposes Linux was widely put to was to act as a multipurpose network device and server. It's capable of handling most of the purposes needed to keep a modern LAN or WAN running. It can be both router, firewall, bridge, gateway, modem and ISDN dial-up server, nameserver and many other network task imaginable. It's also really good at server jobs like mail, ftp and web.
Having the same OS with the same tools doing all these very different jobs, instead of having to use a different device for every task, is saving people a lot of time, gives more flexibility, and ties up a lot less money in equipment purchases or leases.
Other *nix'n have somewhat similar abilities, but most require expensive workstations and really expensive network peripherals, and those that does run on PC's doesn't support an equally huge amount of cheap peripherals and software as does Linux.