What is linux?

According to the people who created and maintain linux:

Linux is a Unix clone written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX compliance.

It has all the features you would expect in a modern fully-fledged Unix, including true multitasking, virtual memory, shared libraries, demand loading, shared copy-on-write executables, proper memory management and TCP/IP networking.

It is distributed under the GNU General Public License - see the accompanying COPYING file for more details.

This definition presumes that you know what Unix is. Unix is an old operating system owned by AT&T. Unix was a powerful multi-user, text based operating system but it had some significant problems:

Linux overcomes these problems in three ways:

  1. Linux is free.
  2. Linux runs on cheap hardware,.
  3. Linux is open source.

These are the three properties of Linux which make it unique. These properties have some big advantages over traditional, commercial operating systems. The no-cost advantage is obvious. The cheap hardware advantage is obvious. How cheap? I have a linux system which uses an Intel 80386 with 8MB RAM, floppy drive and an old VGA monitor - total cost about $100. Less obvious are the benefits of having the source code. Because anyone can examine the source code, security violations are easier to find. And when security violations are found, it is easy to fix. Because it is easy to fix, it can be fixed quickly. And anyone can apply the patch and recompile their version of linux to make it as good as new. Because everyone has the complete source code for the operating system, anyone can write a device driver. Linux hardware support is excellent. You can do things with your hardware in Linux that you can't do in any other operating system - or at least it would cost you a lot of money. For instance, I can implement software RAID on my hard drive. I could implement an encrypted file system. I can create CD-ROMs that don't use the iso9660 filesystem. I can even generate AM radio transmissions from my monitor! The last advantage of having the source code is that you can adapt the code to different hardware. Originally linux ran on 80386 PCs. It has been ported to Sun Sparc, DEC Alpha, Motorola 68000 and PPC, ARM and Motorola 68328. The big thing right now is linux on embedded systems. For instance, this Palm computer runs a version of linux.

Another advantage of having free source code is that anyone can improve on it. You don't have to belong to the "linux crowd" to add your own code to linux. You can do whatever you want with it, and the only limitation is that you can't make linux not-free. For instance, I could create a version of linux to run on Microsoft X-Box, and I can sell my new version, but I have to distribute the source code for free, usually on the internet. One more great thing about open source software is the documentation - you don't need any. You don't need documentation because if you want know how it works you can just read the source. Of course, there is a huge amount of documentation available for free, because most people make write up their discoveries and post it on the internet.