Index
Introduction
Why FreeBSD Rather than Linux?
Why FreeBSD Rather than Windows?
There are many reasons why we chose to use FreeBSD vs. Linux or Windows for this workshop. The next few sections will give some of the reasoning, but here we touch upon the larger issue of why we chose FreeBSD over Linux at this time. The argument goes like this:
What are your reasonable "free" choices in the Linux world at this time?
RedHat?
Fedora Core?
Debian?
Gentoo?
Mandrake, SuSE, Turbolinux, etc.?
Others?
Each of these choices has its own issues, the popular our opinion being that, Debian and Fedora Core are the best alternatives at this time in the Linux world.
We are using FreeBSD 5.3. Here are some more specific features why it was chosen over Linux for use in an ISP environment:
Very stable, especially under load as shown by long-term use in large service providers.
FreeBSD is a community-supported project which you can be pretty confident is not going to 'go commercial' or start charging any license fees.
A single source tree which contains both the kernel and all the rest of the code needed to build a complete base system. Contrast with Linux that has one kernel but hundreds of distributions to choose from, and which may come and go over time.
Scalability features as standard: e.g. pwd.db (indexed password database), which give you much better performance and scales well for very large sites.
And, in case you missed this, FreeBSD is extremely stable, particularly under heavy load.
Sometimes it's obviously the right tool for a particular application.
Maintaing a large number of differently configured boxes at approximately the same software revision is relatively trivial on FreeBSD, slightly harder on debian, and kind of a pain in the ass on fedora/rhes/suse/mandrake (though keeping them all current between major releases is easy enough).
Knowing a real non-gnu UNIX has served most of your instructors well.
A few more reasons...
Superior TCP/IP stack (so much so that Microsoft used it for Windows 2000).
Optional "soft updates"
filesystem combines crash-safety of BSD filesystem with speed of
Linux filesystem - see Soft-Updates
Handbook entry
The GEOM modular disk I/O request transformation framework in FreeBSD allows for impressive use of storage attached devices of all kinds (SAN, RAID, USB, etc.). See the FreeBSD 5.3 release notes and the GEOM man pages for more information.
Similarities to other "industrial strength" Unixes.
see http://www.freebsd.org/features.html for more discussion.
To be honest, all your instructors are not fans of Windows, particularly as an operating system in an ISP production environment. Most instructors have extensive experience with how Windows performs in the real world under heavy workloads (remember, as a server), and we are frankly not impressed. With that said, here are, hopefully, some more objective reasons why we use FreeBSD vs. Windows:
Windows design has been driven by market forces, which has led to many dubious design decisions.
Windows does not scale. Windows Server still breaks down under heavy process load.
An extremely poor history of security flaws. Windows boxes are unsafe to put on the open Internet, even after they have been patched.
An almost complete lack of remote management and scripting features.
A few more reasons...
Microsoft has spent 10 years, so far, trying to fix the original design of Windows to make it work better, and they have been somewhat successful, but the core OS still has fundamental and broken design flaws, these include:
Dynamic Link Libraries
User and System registry. Attempts to separate these fail. The registry is your OS and it's a binary file. Corruption leads to OS meltdown. A very weak link.
Lack of adherence to open standards. For example: Active Directory is based upon LDAP, but adds extensions that cause it to fail with open standard LDAP servers. This lack of adherence to open standards means that you must use Microsoft-only methods to solve your problems. You have no escape route.
Incorrect Digital Certificate signing methods
Dependent code. Many services must run other services to work. (examples: Telephony is needed to do NAT, and you still cannot turn off RPC and have a useful server running.)
Corruptible memory space. (improved in 2000 and XP)
Default configurations are consistently insecure and broken (same can be said for many Linux distributions).
Unclear division between bundled software and OS features. Consider IE.
And, as you know, Windows costs money to buy, on a per seat basis.
Microsoft probably runs its services on UNIX boxes ;o) at least a few years ago. (Google Unix vs Microsoft).
Open Source and "free" operating system costs money as well, but, at least you are paying for your time and energy. Very few independent studies have been done an what it costs to run Windows vs. Linux or Unix in a business. The few independent studies that have been done consistently show Windows to be more expensive to run.
Here are some additional links you can consider:
Another "subtle" breaking of protocols by Microsoft (2001). IE WPAD issues.
Linux has far fewer flaws from ZDNET (2004)
We could go on, but really this is an issue of experience. If you look around you'll see that the majority of Web servers and larger email servers are not running under Microsoft Windows, and there are many reasons for this.