Being LWN, we understandably tend to focus on Linux distributions and
developments in open source that have are interesting from the Linux
perspective. However, Linux distributions aren't the only free OSes worth
using. Most LWN readers are probably familiar with the "name brands" of BSD
distributions, if not the distributions themselves. This week we thought
we'd take a quick look at the status of each of the BSD distributions.
FreeBSD is probably the most
widely-used BSD, though it supports fewer hardware platforms than OpenBSD
or NetBSD. The FreeBSD project maintains several development branches. The
branch represents the production-quality release, while FreeBSD-CURRENT
is the version in development that's due to become STABLE. The STABLE
release, at this time, is taken from the FreeBSD 4.x series, and new
development is mostly being done in the 5.x series.
The 4.x series is available for x86 and Alpha, while the 5.x series adds
AMD's x86_64, Intel's Itanium, pc98 and Sparc 64-bit chips to the Tier 1
architectures. Ports for PowerPC and MIPS are in development. According to
the FreeBSD website, the 5.3 release should mark the first STABLE release
taken from the 5.x tree. 5.3rc2 was released
on October 31.
The 5.x release includes a number of interesting features and changes to
FreeBSD, including SMPng, Kernel Scheduled Entities
(KSE), the UFS2 file
system, support for Cardbus and Bluetooth devices, and a move to GCC 3.3.x
from GCC 2.95.x. The 4.x release included SMP support, but it was not
compiled in the GENERIC kernel by default, and SMPng brings some
significant improvements to SMP performance.
NetBSD's main claim to fame is
portability and the wide range of hardware platforms supported by the
OS. Not to disparage Linux or the other BSD distributions, but NetBSD is
the undisputed master of portability, with support for everything from x86
CPUs to DEC VAX computers and the Sony PlayStation2. NetBSD also has wide
support for emulating other CPU
and hardware platforms, including Linux, FreeBSD, Solaris, SunOS, HPUX,
Amiga Unix, IRIX, Ultrix and others. FreeBSD and OpenBSD also support
binary emulation for many OSes, though not quite as many.
NetBSD releases are broken into NetBSD-release, NetBSD-current and formal
releases. A formal release is an "official" release, while NetBSD-release
is the formal release plus bug fixes for the next release. The
NetBSD-current release is the cutting-edge, development version of
NetBSD. The NetBSD team is pushing
towards version 2.0. The fourth release candidate for 2.0 was tagged on October 8 with a
final release expected soon. The current NetBSD release is 1.6.2, released
on March 1, 2004.
OpenBSD has a reputation as one of
the most secure OSes available, and the main OpenBSD page boasts
"Only one remote hole in the default install, in more than 8
years!" The OpenBSD distribution also includes a wide range of cryptographic software and
support for cryptography
hardware. The OpenBSD team is also active in developing OpenSSH.
The OpenBSD team issues a release roughly every six months. OpenBSD 3.6 was
on October 29, with a slew of new features, fixes and
support for additional hardware. 3.6 adds SMP support for x86 and AMD
64-bit CPUs, a new Network Time Protocol daemon in the base system, and
many bug and security
fixes. The new release also includes an improved DHCP client and
daemon, StackGhost overflow protection for OpenBSD/sparc, and a new hotplug
The new kid on the block, DragonFly BSD, forked off of
the FreeBSD 4.x tree. DragonFly BSD 1.0 was released on July 12, 2004. The
DragonFly team does not maintain separate stable branch as of yet, and
DragonFly runs only on x86 hardware.
The DragonFly BSD team has several goals for the distribution, including a
system, and a different approach to system design:
It is our belief that the correct choice of features and algorithms can
yield the potential for excellent scalability, robustness, and
debuggability in a number of broad system categories. Not just for SMP or
NUMA, but for everything from a single-node UP system to a massively
clustered system... The existing BSD cores, including FreeBSD-5, are still
primarily based on models which could at best be called 'strained' as they
are applied to modern systems. The true innovation has given way to
basically just laying on hacks to add features, such as encrypted disks and
security layering that in a better environment could be developed at far
less cost and with far greater flexibility.
DragonFly has some lofty goals set for its caching, messaging API,
and user API,
but it may be some time before these goals are realized. The status page shows the
relative development of each of DragonFly BSD's main goals.
Readers interested in a history of the BSDs should visit the BSD Family
Tree, which details the history of FreeBSD, NetBSD and OpenBSD, with a
little about Apple's Mac OS X and Darwin thrown in for good measure.
to post comments)