In 1991 a student at the University of Helsinki in Finland, Linus Torvalds, started what became the heart of the Linux kernel. Linus posted the source code for the kernel for anyone to look at, modify and, most importantly, add to. Linus became the filter, the center where people would mail their changes, improvements and additional drivers for the Linux kernel while at the same time he too was adding core services. This synergy developed into version 1.0 of the Linux kernel which was released in 1994. Since the release of version 1.0 Linux has undergone another major version release -- Version 2.0 -- which has been widely used for many months now.
The kernel is the part of an operating system that provides the core services other applications are built upon. For example, when you use a Web browser it talks to the kernel in order to make requests to the network. Without the kernel, every application would have to speak in esoteric networking languages -- or protocols -- which are very complex. It's the kernel's job to manage memory, operations which access the hard disk, and network traffic.
The Linux kernel is almost unique in that it is "open source software". This simply means that the kernel source code is distributed along with the binary image of the kernel that you actually boot. Because of this open nature it is within any developer's power to track down bugs in the kernel and submit patches to Linus to fix problems. Because of this the Linux kernel has become very robust over the years out-classing many commercial operating systems.
However, it takes more than just a kernel to make a usable operating system.
The utilities and libraries which surround the kernel are what developers use to write applications. Because of this, Linux users and businesses formed what are collectively called "Linux distributions". Some of the modern distributions include Red Hat Linux -- distributed by Red Hat Software, Caldera OpenLinux - by Caldera and the Debian GNU/Linux distribution. These distributions include all the utilities needed to do software development and a full range of productive applications.
At their heart, Linux distributions are very much like Unix but the distinction here is important. Linux is not Unix. Unix is a brand name which is given to commercial Unix vendors. Linux does not carry this brand and is therefore not Unix. However, for all intents and purposes Linux looks, feels and acts just like any other commercial Unix system. Most applications that are written for Unix systems simply need to be compiled on a Linux system to work. Because of the heritage of Unix this means that you can expect the same from Linux that you would from other commercial Unix systems. This includes high reliability, fast networking and excellent scalability for Intel systems.
These full distributions are generally sold cheaply -- less than £50 in many cases -- or are free and usually available on the Internet. Because of the licensing of the Linux kernel and, in most cases, the utilities and libraries that surround them, full source code is generally also provided with these Linux distributions.
Because running Linux does not require you to purchase or register your software, it's difficult to guess the number of Linux users world wide. Best guess is around six million users. To put that number in perspective, there are nine million registered copies of all commercial Unix versions combined.
Because of the sheer size of the installed base, businesses and corporations are beginning to take notice. Increasingly, you will find Linux systems in business as print servers, file servers and most widely as web servers. Also, Linux has started to find its way onto the desktop often replacing more expensive NT systems and proprietary commercial Unix systems.
Linux runs on commodity Intel x86 hardware which means for the cost of sub-$1,000 US dollar PC you can build a reasonably powered Web, file, or print server. Compared with the cost of a Windows NT server which can cost over £400 for the software alone, the Linux-based server is a low-cost alternative for cash strapped IT departments. Also, as a direct result of Linux' open development model it has excellent reliability and low maintenance costs to boot. Software management of Linux distributions has also improved enormously.
On the downside, almost all of Linux distributions are lacking in a single interface to do system administration. This means that you still need to get down into configuration files and make manual changes. There are concerted efforts in the Linux community to change this but currently there are very few options. The most recent version of Red Hat Linux -- version 5.1 -- is one of the first to ship with a single tool that will allow you to manage users, network configuration, file systems, and system services. That means that Linux has a rather large learning curve for people who don't already know Unix or don't have the time to learn it.
Because of Linux' open nature there is the perceived issue of support. It wasn't written by a single vendor so a single number to call when you're in trouble is not available.
In spite of this, both Caldera and Red Hat offer support packages -- email and phone -- to people who purchase their Linux distributions. If you are having problems with individual drivers both companies will work with the people who have written the drivers to try to solve your problems. The names and email addresses of the programmers are included with the source code -- handy when things go wrong.
Another option for support for Linux is the Internet. There is such a tremendous amount of information available about Linux particularly on newsgroups, mailing lists and the web itself. I've personally heard dozens of stories about how quickly you can get an answer by asking a simple question on a newsgroup from individuals who have experienced and fixed the same problem you may be having. However, if you need "official" technical support for Linux, there are options available to businesses and individuals.
So now that you know about what Linux is and what it does and some of the issues that you may face by running Linux, how does it affect your business decisions?