Why Did We Choose FreeBSD?
Please Note: this material quickly becomes dated. Last update was February 13, 2007.
Why FreeBSD in General?
Why FreeBSD Rather than Linux?
Why FreeBSD Rather than Windows?
Why Did we Choose FreeBSD in General?
are using FreeBSD version 6.1. Here are some more specific features which make
it appropriate for use in an ISP environment:
And, in case you missed this, FreeBSD is extremely stable, particularly under heavy load.
- 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 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.
- Superior TCP/IP stack that responds well to extremely heavy load.
- Multiple firewall packages built in to the base system (IPF, IPFW, PF).
- High-end debugging and tracing tools, including the announced port of the Sun Dynamic Tracing tool, DTrace, to FreeBSD.
- Ability to gather fine-grained statistics on system performance using many included utilities like systat, gstat, iostat, di, swapinfo, disklabel, etc.
- Items such as software RAID are supported using multiple utilities (ata, ccd. vinum, geom). RAID-1 using GEOM Mirror (see gmirror) supports identical disk sets, or identical disk slieces.
- Take a look at the most stable web sites according to NetCraft (http://news.netcraft.com/archives/2006/06/06/six_hosting_companies_most_reliable_hoster_in_may.html). FreeBSD sites are listed at #1, 3, 4 and 5.
- FreeBSD has an excellent distribution system. Possibly one of the best around:
- You can purchase FreeBSD media on CD or DVD from FreeBSD Mall, BSD Mall, or this list of publishers.
- You can obtain FreeBSD for free via an extensive set of ftp mirrors, or by
- Using Bittorrent
- Instead of RPM or apt-get FreeBSD uses the pkg facility. This facility can resolve dependencies when packages are missing, unlike RPM.
- You can install from source using the Ports collection. Currently there are over 16,300 ported applications available for FreeBSD.
- You can update your entire ports tree using the newly released portsnap facility in FreeBSD 6.
- You can synchronize your FreeBSD source and even upgrade an entire release using the FreeBSD CVSup facilities. You can run local CVS servers to make FreeBSD source and applications available locally.
- You can run Linux applications under FreeBSD by using the Linux Binary Compatibility feature of FreeBSD with almost no hit in performance.
- You can run older FreeBSD binaries if necessary using the FreeBSD 4.x and 5.x compatibility libraries.
Why FreeBSD Rather Than Linux?
Here we touch upon the larger issue of why we chose FreeBSD over Linux at this time (February 2007). In summary the issue has been the lack of a reliable, "free" (i.e. you don't pay for the OS) version. In addition, there are so many choices, each with their quirks, that anything we teach is quite likely not going to be what you will use in your own shop.
Recently there have been some hopeful developments in the Linux world. SuSE (now Novell) has made a version of their up-to-date Linux distribution available for free download. In addition, Ubuntu has released Ubuntu 6.06 LTS (Long Term Support), which is aimed as a server operating system including simple LAMP installation, IBM DB2 certfied, and Ubuntu uses the Debian Package Manager for software updating and distribution. Finally, Gentoo Linux has excellent package management system (Portage) as well that resolves dependencies.
With that said, here is our list of caveats for the major "free" versions of Linux currently available:
What are your reasonable "free" choices in the Linux world at this time?
openSUSE (now Novell)
Mandriva (Mandrake), Turbolinux, etc.?
When Red Hat decided to no longer offered a free version of their Linux Distribution people had to start looking at other options. This has been an issue for Linux users over the years. Linux is a perfectly viable choice, but from experience we know FreeBSD is a rock-solid, reliable choice as a server operating system.
- Fedora Core: This is not a bad choice, and you can overcome the RPM package system with the automatically installed YUM package manager that comes with Fedora Core. Two issues are that Fedora Core is a cutting edge system, thus you may find some bits and pieces that are not as reliable as something that's been tested over a long
period of time, and Fedora Core updates to a new version approximately every 6 to 9 months. After about 18 months (this can
be less or more), your installed Fedora Core system may need to be updated in order to guarrantee the availability of
further updates to your software. You can see the Fedora Core release schedule at http://fedoraproject.org/wiki/Core/Schedule.
Note: As of December 12, 2007 the Fedora Legacy project http://www.fedoralegacy.org/ has announced a significant reduction in support for older Fedora Core versions. Currently no versions prior to Fedora Core 5 are under support.
- openSUSE: Novell (the owner of SUSE products) has kept this free version of the SuSE Linux OS updated and available now for quite some
time, thus this is looking like it may be a reliable option for long-term use. Otherwise, this is a reasonable choice for a server OS. The major reported issue has been the substandard packaging system.
Update, Feb. 2007: SuSE's agreement with Microsoft to indemnize SuSE customers against potential patent lawsuits that could be brought by Microsoft against Linux has created much controversy in the Open Source world. The long-term outcome of this issue not currently known, but you as a potential customer should be aware of it.
- Debian: From a technical standpoint is extremely stable,
free, and has an excellent package management system. Debian is probably the Linux distribution
that most closely matches the philosophy of FreeBSD in terms of stability and package management. In
addition Debian has available a huge number of packages (almost 15,500 as of June 2006), and as superior
package management system called apt. A major issue, or a major plus, depending on your point of view
with Debian is how conservative the project is when releasing software. Generally software that ships with Debian is
not as current as software that ships with older Linux distributions. This can be worked around by installing newer
versions from the Debian "experimental" branches, but if that's what you want, then why use Debian in the first
place? Often Debian users may need to update the installed kernel to support newer hardware. The method for
upgrading the kernel in Debian is different from other Linux distributions.
- Gentoo: This Linux distribution has matured well and features an excellent package system called Portage. Portage does, however, require considerable time to complete installations of software as it compiles from source.
- Ubuntu: This is looking like a very good possibility. The project is backed by a dot-com millionaire who has stated that Ubuntu will
remain free. The project has advanced nicely, received many, many awards, and is quickly becoming one of the most popular Linux flavors available. Ubuntu 6.10 LTS (January 2007) is a server-version of Ubuntu with "Long Term Support". All excllent items. The major issues are how new the
distribution is, and the fact that it uses the same software repository as Debian, meaning that many items may be older than in other Linux distriubtions. For some this is good and for others this is bad. You must decide for yourself.
Note: January 2007. 4th quarter 2006 download results of Linux distribution downloads indicate that Ubuntu now surpasses Fedora Core in popularity. However, this is a very subjective result.
- Mandriva, Turbolinux, etc.: Either don't offer any ISO images from which you can install the OS, or the version that is "free" is very minimal in nature and no guarrantees that they will continue to make it available.
Why Did we Choose FreeBSD Rather than Windows?
A few more reasons...
- 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 (it's gotten better).
- 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.
- For ccTLD workshop participants - DNS services as implemented by Microsoft are inferior in scope and do not follow DNS-related RFCs in terms of fucntionality.
- As far as we know no large-scale Registry operation in the world runs on Windows.
- Of the 13 DNS root servers and their 100+ mirrors spread across over 100 countries not one runs on Windows - this should tell you something.
The list goes on and on and on and has been going on for quite some time. Microsoft hides theirs mistakes from the public, spins problems as not being issues, and pretty much takes whatever route is likely to generate the most revenue. You as the end-user of this sotware suffer. There are other companies that make closed-source operating systems that do not behave like this.
- Microsoft has spent over 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.
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.
- Poor adherence to 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 - June 2006)
- Corruptable memory space. (greatly improved in newer versions)
- Default configurations are consistently insecure and broken (same can be said for many Linux distributions).
- Extremely poor response record to major security problems, even after making security their "#1" issue.
- Unclear division between bundled software and OS features. Consider IE.
- Windows costs money to buy, on a per seat basis.
- Microsoft has consistently made "anti-consumer" moves over the years. Consider:
- Windows Vista has an incredibly complex and onerous copy-protection system built in to the OS. This is simply bad design for reliability and ease-of-use in our opinion. You
can read a detailed discussion of this at http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.txt
- Windows Vista has some onerous hardware requirements to take full advantage of its new features. Microsoft has a list here, but others have reported much higher requirements than listed (2GB RAM, 512MB Video RAM, etc.).
- Willing to pay 500 million US dollars to by Adware vendor Claria
- Crippled MP3 encoding to 96-bits originally in XP. Only after consumer outcry was this changed.
- Artificially breaks LDAP, Kerberos, and a host of standards by adding Microsoft only "enhancements" to their versions of these protocols.
- Still does not include basic security items such as SSH, proper TLS support for secure POP, etc.
- Still uses RPC, a design declared dangerous and insecure over 15 years ago! And, a major reason for many of the security breaches in Windows.
- Forced companies to ship with an inferior web browser (IE), or lose the ability to buy Windows at competitive prices.
- Won't let you update their OS unless you use their web browser.
- Subversively install software on your system, including a prerelease (read beta) version of Windows Genuine Advantage Notifications software to PCs as a "high priority" item in the built-in update feature in Windows.( June 2006).
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. Almost every study that shows otherwise was either paid for by Microsoft,
or done by a company with Microsoft connections. This is how their marketing machine works.
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.
Last modified: Fri Jan 12 23:22:52 IST 2007