Why BSD is dying, or How I learned to stop worrying and love Linux

I’ve been a fan of FreeBSD for most of my adult life. Ever since I first had to install it back at my first job in the bay area. It was the mid 90’s. FreeBSD was version 2.2.1.
Now before then I’d messed with the venerable Slackware, and a little of Redhat. Slackware was a nightmare to install back then (maybe it still is). You didn’t download anything because well, how far are you going to get with a 33.6kbps modem anyhow? I fell in love with FreeBSD. It was easy to install. Package dependancies were easy, ports just worked them out. It was stable as hell. The community wasn’t bad either.
Something happened between then and the 2000’s. Some important folks have since left the project, such as Jordan Hubbard and Matt Dillion. Likely for their own reasons. The project itself isn’t dead, they’re still doing a lot. They’re just focusing on the wrong things.
Section6 no longer runs on FreeBSD. It was much due to the fact that I’ve migrated from my own hosted server to EC2. AMI’s for FreeBSD are out there, but it’s not considered stable or widely supported. Ubuntu, and Redhat will just work. This is a reoccurring pattern with the project. FreeBSD is still stuck in the 90’s for a few reasons:
  • There’s no rapid deployment system like Debian’s fai, or Redhat’s kickstart.
  • You still have compile all your ports.
  • An upgrade requires you to recompile the entire OS, and they rarely go smoothly.
  • A port management add-on community has sprung up because they refuse to integrate a better native package management system.
  • It’s still lagging behind for cloud applications.
  • Desktop applications are quaint because everyone knows the multimedia support is lagging.
For a pragmatic sysadmin such as myself, it’s become increasingly hard to justify running it. Especially since my day job consists of all Linux distributions. It just takes so long to do anything. That is FreeBSD’s greatest sin. An operating system that forces you to waste so much time, between common tasks for hundreds of servers these days, compiles, installs, for such little benefit, isn’t doing anyone a service. The only thing FreeBSD has going for it these days is zfs and jails. Even then, Linux has xen, openvz, and vserver. Soon btrfs will be production worthy which has pretty much feature parity with zfs. Even then you still can get native zfs on Ubuntu and other Linux.
So I’ve gone with Ubuntu. It took about 2 weeks to migrate everything. I can save that for another post, but let’s just say that I could have made it easier had I used something like cfengine from the start. I’ll miss the ole daemon in favor of the currently mascot-less Ubuntu. The community certainly is just as good if not better. I’ll still keep the old tutorials around, but I won’t be writing anymore for FreeBSD. It’s obvious there’s no tutorials needed for Ubuntu. There’s quite a tutorial writing community out there.