OpenBSD, and a bit of philosophy

I installed OpenBSD a while back on my old system. It’s a PIII 500 with 64M RAM, and it’s been a testbed for new operating systems that I might be interested in. I got introduced to the UNIX world through Linux, but I’ve never spent a lot of computer time in that platform. I switched to FreeBSD as soon as my wireless chip got supported (a stumbling block which prevents me from installing Linux the way I want to, another being that I want things to “just work”) but OpenBSD seems more attractive currently because it natively supports my wireless chip in the latest nightlies. So, I downloaded a nightly build and got to installing it, and that’s when I found out something really nice about it.

There are operating systems, and then, there are operating systems… there’s Windows – ubiquitous, feature-rich, a bit of a kludge and rumored to be buggy, there’s Linux, the official alternative, and then there are these cute little *BSDs lying around the place. OpenBSD, even among these BSDs is not the most popular one, and I suppose it’s the only fault in an otherwise close-to-perfect OS.

OpenBSD has two mantras, they are very dissimilar and sometimes contradictory, but of all the OSs I’ve tried out, it comes the closest to the way I want software to work. The first of course, is that “Everything should be done right”. That’s not quite it, what makes some people hate the OS is it’s tiny (but very important and never-forgotten) addendum, “Everything should be done right… or not at all.” A very good example of this is when the opensource OSs started adding wireless support. Linux used the ndiswrapper kernel extension, and FreeBSD implemented ndis emulation in the kernel… they support newer wireless devices by emulating the Windows (NDIS) driver interface, allowing these OSs to use Windows drivers. OpenBSD would never implement something like that. What they did do is launch a campaign to get closed firmware opened up (see above article) and write proper BSD licensed drivers for that, sometimes even reverse-engineering proprietary drivers released by the vendors. So yeah, do it right. On the flip side, Openoffice hasn’t made it to the Ports collection, neither has Samba3… some stuff like Apache2 and Etheral have been completely removed.

The second mantra (and at times I think it is not in tune with the first, but just because of that, it makes OpenBSD special) is just that “stuff should just work”. And they’ve largely managed to stay by it. A default OpenBSD install detected my wireless card, my sound card, even my Firewire port that I hook my Ipod onto. As a stark contrast, you need to recompile the kernel in FreeBSD to get sound! So yeah, it’s special and the combination of these mantras makes OpenBSD into something I’ve grown to love.

There is of course, the part about some things that I need (/me begging for Openoffice 2) not being there in the ports, and living with that is hard. It’s however, the most secure OS on the planet, and just the idea of immersing code-reviewing ideology with the “just works” thing made it special enough for me to yell about it to you. As always, your mileage may vary, but do try out OpenBSD (and adore the goldfish.)