Some BSD advocacy
Four BSD flavours
FreeBSD, DragonFly, NetBSD and OpenBSD are the four BSD flavours currently available. Now, which one should you choose? Depends, each one has its good and bad things. But first, a bit of history.
History
BSD was developed at the University of California, Berkeley by many people. Perhaps, the most notorious developers were Marshall Kirk McKusick and Bill Joy. Joy is the author of tools such as the C shell and the vi editor. He also cofounded Sun Microsystems. Dr. McKusick programmed the FFS, and is the person reponsible of the excellent Softupdates enhancement. While Joy has been on the commercial side of Unix for all this years, Kirk never left the real spirit of BSD. Kirk still does free software work, is a model to follow, and is considered one of the best Unix hackers in the world.
Once upon a time 386 processors were the leading edge, so it was natural that a BSD port to this architecture would be made. Bill Jolitz released 386BSD 0.0 in June 1992. But his unwillingness to accept work and patches from other people was what lead to the two main forks in the x86 BSD world: FreeBSD and NetBSD. Each project had different goals from the very beginning. NetBSD's aim was to run on every platform available, while FreeBSD concentrated on performance on x86 hardware.
FreeBSD has so far been the best performer on the x86 arch, although NetBSD is quickly catching up. It currently has 2 different branches, RELENG_4, the stable and well tested branch, and RELENG_5 the new technology branch. On the RELENG_4 side of things we have 4.11 which has just been released and might probably be the last one of the 4.x series. RELENG_5 isn't still considered stable, and is where most of the new stuff is going into: amd64 and sparc64 support, KSE, fine grained locks, GEOM, etc.
Some screenshots of my old FreeBSD desktop
The more things change, the more things stay the same. I always return to my good old Window Maker desktop:
DragonFlyBSD is to FreeBSD what OpenBSD is to NetBSD, a fork started by one former FreeBSD developer. Matt Dillon's commit bit was removed in February 2003. After some months he announced DragonFly, his new project based on FreeBSD's RELENG_4 code base. Building on tried and well tested code he started to work on a new approach to the Big Kernel Lock problem. Instead of using mutexes he came up with a Lightweight Kernel Threading system and a message passing API. Definitely worth giving a try if you're interested in a different approach to common OS design challenges.
NetBSD's aim is to run on as many architectures as possible, and they make an excellent job at that. Not only is the most portable BSD, but the one from which most innovations come from. NetBSD 2.0 is the current stable release. One of the most interesting features is the Scheduler Activations kernel-assisted threading system, which is quite similar to FreeBSD's KSE. It already supports SMP on several platforms as well. The number of packages keeps growing fast (currently, around 5,000).
Yes, NetBSD makes a darn fine desktop
OpenBSD was created when Theo de Raadt was expelled from NetBSD. They have a 6 month release cycle, and OpenBSD 3.7 is about to be released with many improvements. OpenBSD focuses on security. They constantly audit the code for bugs and insecure functions. It ships with Apache in the base system, and is configured to run it in a chrooted environment. This is the team of people that brought us the excellent OpenSSH, the now de facto standard for remote access. OpenBSD is not as fast a FreeBSD, and has less packages, but makes a very fine firewall box. If you want to use OpenBSD as a desktop, I'd recommend using the NetBSD pkgsrc system on it (yes it works on OpenBSD too). Every OpenBSD release since 3.0 comes with a theme and its corresponding song.




