A Neutral Look at Operating Systems/Berkeley Software Distribution
The BSDs originate from the custom Unix distribution created at the University of California at Berkeley. The distro was called the Berkeley Software Distribution. Because BSD was a modified Unix, it was only available to those with Unix source code licenses from AT&T. Later versions of BSD became free software without any AT&T code.
Today, there are four main free operating system projects derived from BSD. This page also mentions three other distributions based on those projects. They all have Wikipedia articles: DragonFly BSD, FreeBSD, PC-BSD, DesktopBSD, NetBSD, OpenBSD, MirOS BSD.
These are also called *BSD projects because they have "BSD" at the end of their names to show their ancestry. The BSD licensing allows for almost any redistribution and modification. Thus, the BSD projects frequently take code from each other; a new feature from one BSD project might appear later in the others.
BSDs are distributed as complete operating systems with kernel and userland. The BSD projects provide a "ports tree" with Makefiles that automate downloading, patching, building, and installing software and handling dependencies; FreeBSD ports and NetBSD pkgsrc are examples. They also provide binary packages of popular ports.
DragonFly BSD is the newest of the four projects. It was started in 2003 as a fork of FreeBSD 4.X by developers that wanted changes in the system design. They are still working on their goals. The following is from their goals page:
- DragonFly is going to be a multi-year project. It will take a lot of groundwork to even approach the goals we outline here. ... First and foremost among all of our goals is a desire to be able to implement them in small bite-sized chunks, while at the same time maintaining good stability for the system as a whole. ... It's a laudable goal that will sit foremost in our minds, even though we know it is probably not 100% achievable.
FreeBSD is a high-performance system and regarded as one of the most mature and robust network operating systems. (Some of its clients, such as Yahoo! seem to agree.) It also has many of the portability advantages of NetBSD and security advantages of OpenBSD.
Here are examples of features that reached FreeBSD before the other BSD projects.
- FreeBSD was the first system with a ports collection based on Makefiles. This assisted in porting Unix software to FreeBSD and installing it. The ports trees of the other BSD projects are derived from this one.
- FreeBSD was the first to have the soft updates feature to improve disk performance and recovery of filesystems from system crashes.
PC-BSD is a project to build a system based on FreeBSD and KDE. It is very easy to install. After the other BSDs are installed, they give the user only a root shell prompt, and no graphical user interface is configured. After installing PC-BSD, a KDE desktop environment is already configured. PC-BSD also has a graphical installer which helps the user create a first non-root user account and includes customizing BSD disklabel.
PC-BSD users can download *.pbi files, double-click their icons, and install them as binary packages. This is a rare feature among BSD and even Linux distributions, but common on Windows and Mac OS X. Optionally, KDE menu and desktop items are created. Not only are the *.pbi packages available, but the FreeBSD ports collection is also available.
Both OS installation and *.pbi files are demonstrated in the PC-BSD tour.
Another project was started with a goal to provide user-friendly BSD system. DesktopBSD was started independently from PC-BSD and these two projects still remain separate. Similarly, DesktopBSD provides easy-to-use graphical installer and installs fully configured desktop system based on KDE.
DesktopBSD developed its own graphical tools integrated with KDE: ports manager, disk mounter and network configuring tool.
NetBSD runs on a very wide variety of architectures. There are at least 54 architectures including some very exotic ones such as the Sega Dreamcast. These architectures involve at least 17 processor types. These platforms are supported from a single CVS tree, avoiding the need for third party patches to use various hardware. The higly cross-compilable system (with full toolchain), and excellent documentation make it very useful for developers.
The NetBSD packages collection, pkgsrc, is also portable. pkgsrc supports the other BSDs, Linux, Darwin, and Solaris. A bootstrap script is provided as part of pkgsrc to adapt it to the host OS and build the necessary support tools.
OpenBSD was forked off NetBSD when Theo de Raadt had a disagreement with the NetBSD Core Team. Theo founded OpenBSD in the early 1990s. Due to living in Canada Theo was able to legally incorporate strong cryptography into OpenBSD without encumberance by US laws.
OpenBSD is widely thought of as "the most secure OS". Its motto is "Secure by Default". OpenBSD developers review all of the code by hand in order to search for security holes. The default installation of OpenBSD leaves a lot of features turned off, contributing to its motto. OpenBSD runs well on many different platforms due to its NetBSD lineage. OpenBSD is also the origin of OpenSSH, which is the most popular implementation of ssh, which replaces insecure network logins with the secure ssh protocol.
The OpenBSD project has been replacing many of the GNU programs in their system with programs having BSD-licenses, non-copyleft versions, but they still use GNU gcc and binutils to build. They also use CVS, a source-revision control system under the GNU GPL license, but plan to replace it with their own OpenCVS when ready. OpenBSD also includes some large packages like perl, Apache 1.x, sendmail, and bind in the base system instead of putting those things into their ports collection. Thus the base OpenBSD system (with no added packages) has more components than the other BSDs.
MirOS BSD was a set of patches, and now is a fork, of OpenBSD. The project is based in Europe. They have resurrected some features that OpenBSD dropped, and moved some packages from the base system to MirPorts, the ports collection. There is a plan to port MirOS to Linux kernel.
Quasijarus is different from the other BSDs. It is a fork of 4.3BSD-Tahoe (without the later 4.4BSD changes that the other *BSD projects have). Like 4.3BSD, it only runs on VAX. Essentially, it is a slightly modified 4.3BSD-Tahoe system.