Introduction
One of the most visible trends in computing in the last few years has been the rise in popularity of the Free Unices. These are clones or descendants of the original Unix developed in the late 1960's.
A Brief History
Unix was designed to work on large, networked computers with many accounts and many simultaneous users. It allows different users to have different privileges and allows users to work across the network as if they were sitting at the console of the other machine.
Unix machines are designed to be on a network, whether that network is small or large. As a consequence of this, Unix has many functions which work across the network and facilitate communication of files and information. These functions include email, remote logins and file sharing. File sharing includes the World Wide Web as well as the more technical FTP (file transfer protocol.)
It will surprise many people to hear this, but email has been around since the 1970's. It had nothing to do with Microsoft, AOL or Netscape. (For more information, see: A history of email.)
Today
Today, there are several major players in the Unix arena.
Some companies like Sun and HP, have their own proprietary Unices (Solaris and HP-UX, respectively).
FreeBSD, Open BSD and NetBSD are descendants of the BSD Unix developed in Berkeley, California. The BSDs use the BSD license which permits modification of the software and closure of further developments.
Linus Torvalds developed a Linux Kernel for his 386 in 1991 and now, ten years later, an OS based on the Linux Kernel can be considered almost industrial strength. Linux uses the GNU utilities on top of the kernel to turn it into a complete OS. Some people feel that is should really be called GNU/Linux. Linux (and the GNU utilities) use the GPL or GNU Public License. This license requires that the source could be given away to anyone who asks and that any modifications to the software must be kept under the GPL.
The GPL is one of the reasons that Linux has evolved from a hobbyist project to an industrial strength OS. Hundreds of thousands of people improve on the OS in their free time and all those improvements are fed back into the community. The result is a very stable, very solid OS.
Where's Microsoft?, you may ask. Well, Microsoft try to compete against Linux with Windows NT and now Windows 2000. Neither of this has the stability of Linux, or any Unix. although Win2000 comes close. Windows is also very dependent on graphical tools for system administration and tends to require very powerful machines to run.
Linux and the BSDs, while they do have graphical administration tools available, do not need to run them or the graphical user interface. The system requirements are substantially lower and it is quite feasible to use old 486's as mail or print servers, something completely impossible with Windows NT or 2000.
But the first real kicker is...
Security
Security, security, security. Windows just can't cut it. Too much stuff is installed and running behind your back, difficult to shut down and full of holes. As I write (August 2001), there have just been two Code Red attacks in which compromised Windows PCs running IIS (Microsoft's webserver) and caused them to attack other PCs. My firewall was getting pummeled by compromised machines whenever it was online.
Some comments here might be construed as anti-Microsoft. They probably shouldn't be taken this way, but it does get inevitable that, when you get used to a Unix-based system, you get annoyed at Microsoft for the odd way they do things sometimes.
I could see these attacks (more like probes, really) by looking at the logs from my free web-server, Apache. This brings me neatly onto the second kicker about Free Unix systems.
They're FREE!
That's right, FREE! You can download them from the web, or install them over the web in the case of FreeBSD, all for the cost of your download. Of course you can also buy CDs from the companies, but you can copy those CDs, install them somewhere else, whatever. The license is not very restrictive. The one thing you can't do is make changes to the software and distribute it without making those changes public.