In my opinion:
OpenBSD - Focused on security above all else. Host project of OpenSSH and pf/carp/altq?. Lags behind on architecture support and performance (Previously poor SMP performance?). Primary use: Router/firewall.
FreeBSD - All around features and performance (zfs,dtrace,pf,linux syscall emulation layer). The most popular, and I believe has the most development effort. Popular freebsd derivatives: pfSense (firewall appliance), FreeNAS (zfs storage appliance), PC-BSD (packaged up for an easier desktop experience). Primary use: Desktop/server/firewall/storage/database.
NetBSD: Focused on architecture support. Supports 57 platforms/15 processor architectures: http://www.netbsd.org/ports/. Primary use: support on embedded/uncommon hardware.
DragonFlyBSD: Interesting technologies being developed: HAMMERfs (compare with zfs), application snapshots, virtualized kernel. Matt Dillon's fork of FreeBSD adding the spirit of AmigaOS. Primary use: Compute clusters?
This is actually a good summary, but it's missing the reason for the DragonFlyBSD fork: light-weight kernel threads. But yes, they've been doing a lot of work around clustering and performance in general.
FreeBSD is the one you should run. It has the best performance and hardware/software compatibility of the three. It's the easiest to get off the ground with for a beginner as well, so it's also a good starting point.
NetBSD is the one whose source you should study. The emphasis is on correctness and portability. The book Code Reading by Diomidis Spinellis used mainly examples from NetBSD even though he is a FreeBSD developer, because (he implies) the code is easier to read.
OpenBSD forked first and developed a reason to exist second; its storied past is really quite an interesting read, but won't leave you feeling like it is being developed by the greatest minds in security for exactly that purpose. I think its secure reputation is more fiat than fact and I'd like to see recent benchmarks substantiating the notion that it is better to run on routers and whatnot. I have no use for it.
Comments
So what really sets the various BSDs apart? Has anyone done a good comparison between them?
There's a wikipedia page with tables of differences: https://en.wikipedia.org/wiki/Comparison_of_BSD_operating_sy...
In my opinion: OpenBSD - Focused on security above all else. Host project of OpenSSH and pf/carp/altq?. Lags behind on architecture support and performance (Previously poor SMP performance?). Primary use: Router/firewall.
FreeBSD - All around features and performance (zfs,dtrace,pf,linux syscall emulation layer). The most popular, and I believe has the most development effort. Popular freebsd derivatives: pfSense (firewall appliance), FreeNAS (zfs storage appliance), PC-BSD (packaged up for an easier desktop experience). Primary use: Desktop/server/firewall/storage/database.
NetBSD: Focused on architecture support. Supports 57 platforms/15 processor architectures: http://www.netbsd.org/ports/. Primary use: support on embedded/uncommon hardware.
DragonFlyBSD: Interesting technologies being developed: HAMMERfs (compare with zfs), application snapshots, virtualized kernel. Matt Dillon's fork of FreeBSD adding the spirit of AmigaOS. Primary use: Compute clusters?
This is actually a good summary, but it's missing the reason for the DragonFlyBSD fork: light-weight kernel threads. But yes, they've been doing a lot of work around clustering and performance in general.
FreeBSD is the one you should run. It has the best performance and hardware/software compatibility of the three. It's the easiest to get off the ground with for a beginner as well, so it's also a good starting point.
NetBSD is the one whose source you should study. The emphasis is on correctness and portability. The book Code Reading by Diomidis Spinellis used mainly examples from NetBSD even though he is a FreeBSD developer, because (he implies) the code is easier to read.
OpenBSD forked first and developed a reason to exist second; its storied past is really quite an interesting read, but won't leave you feeling like it is being developed by the greatest minds in security for exactly that purpose. I think its secure reputation is more fiat than fact and I'd like to see recent benchmarks substantiating the notion that it is better to run on routers and whatnot. I have no use for it.
One reason to run OpenBSD: pf/altq and OpenBGPD/OpenOSPFD are mostly developed there, and the other BSDs tend to have older versions.
NetBSD is the one whose source you should study.
Why not OpenBSD?
Because NetBSD's first priority is clean and correct code and it is often used for exactly this purpose.
Have you seen OpenBSD code? It's no less cleaner, and maybe even better in this regard.
Have you seen FreeBSD/NetBSD code? It's no less secure. :)
I actually rather like Wikipedia's page on the three - particularly the matrices of different options for the different BSDs.
http://en.wikipedia.org/wiki/Comparison_of_BSD_operating_sys...