![]() |
| February 2000 | Get BSD | New to BSD? | Search BSD | Submit News | FAQ | Contact Us | Join Us |
|
As a network consultant, my clients often ask me which operating system they should run on their servers. I start by telling them why NT should be avoided, often referring to the Kirch document at http://www.unix-vs-nt.org. It doesn't take much convincing to get past this hurdle. It helps to tell the customer that many varieties of Unix can be acquired free of charge, compared to the high costs of Windows NT. Microsoft's products may be somewhat easier to administrate if you don't know what you're doing, but my clients don't care about that. They pay me to handle the administrative functions.
The big decision lies in choosing which Unix to use. There are a number of Unix-like operating systems available on the market today. As you probably know, the most popular one in recent years has been Linux. Available in a variety of distributions, Linux is technically a clone of Unix in that it uses no source code from the original Unix system. Originally created by Linus Torvalds (a Finnish student of Computer Science) in 1991, Linux is licensed according to the GNU General Public License, which makes its source code and its binaries freely available to anyone who wishes to download it. Thanks to the contributions of many developers, Linux has grown to become a powerful and well-supported operating system.
The second most popular free Unix is FreeBSD. BSD (Berkeley Software Distribution) originated at the University of California, Berkeley, as a modified version of AT&T's Unix. The Berkeley contributors pioneered many new features in Unix, including TCP/IP support and job control. By 1989, the group in charge of BSD development had re-written so much of the original Unix code that they decided to release the non-AT&T portions of the code to the public, as the Net/2 distribution. BSD development was stifled by a damaging lawsuit filed by the owners of Unix. Unix Systems Labs claimed that BSD contained copyrighted Unix code. The lawsuit was dropped following the sale of USL to Novell, and numerous parties began completing the missing portions of code in BSD's new 4.4BSD-Lite release. The 386BSD port to Intel-based systems, completed by Bill Jolitz, was adopted and maintained by the FreeBSD and NetBSD groups. BSDI sells their own commercial system, BSD/OS.
The modern FreeBSD operating system still stays true to its predecessors. The latest release has support for both Intel and Alpha processors. It supports Symmetric Multi-processing (SMP), has a robust TCP stack, and has a fully integrated build system. Whereas Linux development is fragmented, FreeBSD development is centralized. Linux systems tend to use tools which are maintained by different people (as well as many GNU tools). FreeBSD has a central CVS repository where developers work on the entire system. There are advantages to both styles of development. With FreeBSD you can easily sync your source code to the latest version using the CVSup tool, and then rebuild the full operating system with a single command. In fact, this is the standard method of upgrading a FreeBSD installation.
Another nice feature in FreeBSD is the ports system. Currently containing over 3,000 ports, the ports system simplifies the installation of software packages. Programs are organized in different categories. Each program's directory contains necessary patches and a Makefile. When you type make, the source code for the program is fetched from the Internet or from a FreeBSD CD-ROM. The ports system handles dependency checking and will recursively install any needed packages. I find the ports system easier to use and more convenient than Red Hat's rpm or Debian's dpkg (although dpkg itself is a very useful and convenient system). With the ports system, you can even install every single package in the ports system by typing "make install" in /usr/local/ports. Make sure you have a lot of spare disk space though!
A lot of the charm of FreeBSD is in its classic feel. A lot of people ( excluding myself) prefer the simple BSD-style initialization scripts to the more complex System V init. FreeBSD's installer is quick and easy, yet powerful. The base install is small. It doesn't clutter your hard drive with unneeded software. The userland programs are true to the original Unix versions, whereas Linux usually includes radically different versions (for example, Red Hat Linux comes with the vim editor instead of the standard vi). Linux also uses the GNU utilities, which often have many different options than the classic Unix versions. The differences between Linux and FreeBSD are all about freedom of choice.
What are the pros and cons of Linux and FreeBSD as servers? Both operating systems have been proven in mission critical settings. The largest FTP server on the Internet, ftp.cdrom.com, runs FreeBSD. So does Yahoo!, the most popular Internet search engine, and Hotmail, a large e-mail provider (ironically, Hotmail is owned by Microsoft). Linux is the force behind Deja.com, eBay, and many NASA servers. Both systems have robust TCP stacks. At one point, FreeBSD had much better networking performance. But with the 2.2 kernel, Linux has finally caught up. Which one should you choose for your own server? Try them both and decide.
About the author: Matthew Borowski does consulting work for businesses in the Washington, D.C. area through his company, WorldServe Consulting. He has been using Linux since 1996 and FreeBSD since 1998. In his spare time, he mountain bikes, listens to music and travels. (Contact Info)