Re: Some people need a life
Stuff that ran on a BSD box 10 years ago stands a VERY good chance of running on a BSD box today (after a recompile, granted)
In fact, most FreeBSD 1.0 static binaries will still run on FreeBSD 10-CURRENT, as long as you flick some sysctls to allow slightly old behaviour!
One of the main distinctions I like is that all the BSDs consist of an operating system plus third party packages, where as all Linux distros I've come across consist of a set of packages. So, why the hell does that matter?
In BSD, the OS lives in / and /usr, and your third party software all lives in /usr/local. To configure the OS, you change text files in /etc, to configure 3rd party software, it's text files in /usr/local/etc. All the source code for the OS lives in /usr/src, and you can update and rebuild the entire OS with three commands.
Another massive benefit is the kernel. The Linux kernel has literally thousands of options. In fact, even picking a linux kernel has masses of options, what with all the different patchsets. Unless making a very particular kernel, like ARM or a memory restricted platform, with BSD you usually just run stock GENERIC.
Next up, how BSD does development - I'm concentrating on FreeBSD here, as I know that development cycle best. BSD has an in-development branch called CURRENT. New features and bug fixes go into CURRENT, and once they've bedded down in CURRENT, the bug fixes and some of the features are merged back to release engineering branches of the previous releases, which eventually become the next point release. Therefore you can track the RELENG branch, and get all the bug fixes and newly supported hardware.
I used to run Linux on a few boxes, since BSD lacked support for most TV tuners. Then a clever Danish chappy spent a weekend writing a driver that allows BSD to run Linux usb device drivers in userspace on FreeBSD, using FreeBSD's excellent Linux syscall mapping. This in fact works even better than on Linux, where when a driver or device crashed, there was a good chance you need to reboot the machine. With BSD running the driver in an unprivileged userspace process, resetting the device just requires restarting the process.