Last month's column (December, 1994) was largely a historical overview of the *BSD* freeware clones of UNIX. It also covered some "almost free" distributions of BSD-based code (386BSD and BSD/OS). This month, I will cover the two major free releases (FreeBSD and NetBSD) in more detail and do a bit of speculating about the future of *BSD*. Let's set the tone for our explorations with a short quote from the FAQ:
In addition to the original 386BSD [386BSD 0.1], two newer versions of the system are available, under new names. NetBSD is the older (or newer depending on whom you choose to believe) and FreeBSD is the other. Both systems have evolved into programs that are superior to the progenitor and both have sizable (if a little rabid) followings.
Note that the FAQ is still talking about the early 386BSD release here. The release described in last month's column is thus a sibling (as opposed to an ancestor) of the FreeBSD and NetBSD releases. Before we look at the differences between FreeBSD and NetBSD, we should probably look at the similarities.
Both FreeBSD and NetBSD are currently based on the 4.4BSD-Lite release from UC Berkeley's Computer Science Research Group (CSRG). Earlier versions were derived from the CSRG Net/2 release. Consequently, both systems have a strong BSD flavor. Although some POSIX flavor has certainly crept in, the default behavior is said to be distinctly BSDish. If you are a strong POSIX and/or System V fan, you may thus wish to stick to Linux.
Neither FreeBSD nor NetBSD supports DOS emulation, though efforts are under way. Although one might expect that all the *BSD* binaries would interoperate, this is not the case. Certain compatibilities exist; others are currently missing. Look in the FAQ for specifics.
FreeBSD is intended to be used as a stable operating environment for Intel (or compatible) processors. The emphasis has been on upgrading utility programs and incorporating changes that make the system more stable. Consequently, it is neither as research-oriented as 386BSD, nor as "bleeding edge" as NetBSD. On the other hand, it is freeware, so it still tends to evolve faster than most commercial UNIX releases.
The maintenance of FreeBSD is currently coordinated by Jordan Hubbard, and is being sponsored by Walnut Creek CDROM email@example.com; 800-786-9907). Walnut Creek sells a CD-ROM version of the release, and I would strongly recommend its purchase, for two reasons: You will get a clean copy, with all sorts of goodies already installed. You will also help to finance FreeBSD's development.
Alternatively, you can FTP to ftp://freebsd.cdrom.com/pub/FreeBSD/FAQ/. The best starting point is probably the README-2.0 file. It recommends (and I strongly concur) that you purchase the 4.4BSD Document Set (ISBN 1-56592-082-1) from O'Reilly Associates firstname.lastname@example.org; 800-338-6887). Good Luck!
NetBSD is, as noted above, a bit more "bleeding edge" then FreeBSD. It is also intended as an architecture-neutral operating system. Thus, there are ports for a variety of systems, including Amiga, HP300, Intel, Macintosh (68K), and SPARC. Of course, the state of completion and support for each of these will vary with the efforts of the volunteers involved.
You can find NetBSD on ftp://ftp.netbsd.org/. If you are not located in the United States, your first reading should (SIGH) be the file README.export-control. Next, you should go to ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.0/ and look in the file MIRRORS for a nearby mirror site.
The GNU Project (email@example.com) is still actively developing the Hurd, a Mach-based BSDish operating system. I have looked over some of the published design documents for the Hurd, and I have to say that I like what I see.
UNIX suffers from a great number of artificial limitations on things a "user process" can do. For instance, it seems extremely silly to me that simple networking programs like SL/IP (Serial Line Internet Protocol) require kernel modifications.
When and if the Hurd thunders down on us, we will have a chance to match GNU's implementation with their promises. Judging from their past successes (GCC, GNU Emacs, etc.), I am inclined to give them the benefit of the doubt. And, with luck, the GNU operating system should provide rough API-level compatibility with most of the freeware that runs on the *BSD* systems.
Once again, I would like to recommend the excellent FAQ (Frequently Asked Questions [about] 386BSD, NetBSD, FreeBSD, and other BSD-derived Operating Systems). It is available in ftp://ftp.iastate.edu/pub/netbsd/FAQ/. Much of the material in these past two columns was derived from this work.