Why Did We Choose FreeBSD?
Why FreeBSD in General?
Why FreeBSD Rather than Linux?
Why FreeBSD Rather than Windows?
Why Did we Choose FreeBSD in General?
are using FreeBSD 5.4. 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 (so much so that Microsoft used it for Windows 2000).
- 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 13,000 ported applications available for FreeBSD.
- You can synchronize your FreeBSD source and even upgrade an entire release using the FreeBSD CVSup facilities. You can run local CVS servers almost trivially to make FreeBSD source and applications available locally.
- Finally, you can run Linux applications under FreeBSD by using the Linux Binary Compatibility feature of FreeBSD.
Why FreeBSD Rather Than Linux?
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?
of these choices has serious issues, with, in our opinion, Debian being
the best alternative at this time in the Linux world. Here are the
issues broken out by distributions:
With Red Hat pulling free versions of their OS and replacing them with
Fedora Core, which changes too fast and is not production-ready, this
has created some serious discussion in the Linux community about what
people should do. Some of this discussion suggests using FreeBSD
instead, and this past year has seen an increase in the number of
FreeBSD downloads and installs, possibly due to this very issue (or,
maybe because version 5.4 is so cool! :-)).
- RedHat: No longer offers any free versions of their
software. You must pay to use Red Hat Enterprise Server. While not that
expensive (Go here for pricing), around USD $349/year/server, this is too much for many smaller ISPs.
- Fedora Core: Uses absolutely cutting edge technologies that
are often not ready for production environments. For instance, selinux
was integrated in to both FC2 and FC3 before it was/is truly
production-quality ready. Once you choose your version of Fedora Core,
then you must migrate to a new version within approximately one
year as your version will no longer be supported by the Fedora Core
team. Migrating a production server every 12 months to a new Operating
System is not a good idea. Here's the Fedora Core Release Schedule.
Update: As of June 3, 2005 Red Hat Inc. has decided to hand over control of the open-source Fedora Project, creating the new Fedora Foundation to manage the project. This means the future of Fedora is uncertain at this time. If the Open Source community does not embrace Fedora Core, then the project may stall or become outdated. Previously almost all direction and development on Fedora was done by Red Hat staff. This change may be for the better, but as of now this is unclear.
- 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 (over 15,000 as of June 2005), and as superior
package management system called apt. For newer
Linux users it installs with Kernel version 2.4.27 (Debian 3.1 as of June 2005)
and requires you to update immediately to kernel 2.6 if you need this functionality.
As going to Debian from Red Hat or Fedora is almost as big a
jump as going to FreeBSD (in our opinion), then why not teach you what
we consider to be a superior operating system to begin with?
- Gentoo: Tempting, but has more than one package management
system and neither is complete at this time. This feature is critical.
In addition, Gentoo, like Debian, is a big change from Red Hat or
Update: As of June 14, 2005 Daniel Robbins, the founder of Gentoo Linux and its former chief architect has accepted a position to work at Microsoft.
- Ubuntu: offers a truly free Linux distribution that comes
on a (currently) 500 MB single CD. But, additional software for Ubuntu must
be downloaded over the network. For slow connections this can be
difficult. In addition, Ubuntu is not aimed at the server environment. While
it can be configured to run as a server, the distribution is new with
minimal real-world testing.
- Mandrake, SuSE, Turbolinx, 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.
- 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.
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.
- 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.
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.)
- Corruptable 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.
- Can you trust a company's security policies that pays 500 million US dollars to buy Adware vendor Claria?
- And, as you know, Windows costs money to buy, on a per seat basis.
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: Tue Jul 5 15:18:46 CLT 2005