Monday, July 18, 2011

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.

4 comments:

  1. Wow.. such a liar you're.

    "There's no rapid deployment system like Debian's fai, or Redhat's kickstart"

    http://people.freebsd.org/~dwhite/bsdconpaper.html?
    http://www.locolomo.org/howto/pxeboot/article.html#SCRIPTING-SYSINSTALL?

    "You still have compile all your ports."

    What about the packages dude?
    http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/packages-using.html?

    "An upgrade requires you to recompile the entire OS, and they rarely go smoothly."

    http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/updating-upgrading-freebsdupdate.html?

    BTW, I upgraded dozens of FreeBSD without problem. Obviously if you've no idea about and you're not reading the available documentation (as you), you will fail miserably.

    "A port management add-on community has sprung up because they refuse to integrate a better native package management system."

    False, simply false.

    "It's still lagging behind for cloud applications."

    WTF? That's bullshit. Elaborate this one if you can.

    "Desktop applications are quaint because everyone knows the multimedia support is lagging."

    False again.
    http://www.pcbsd.org/?

    In conclusion: what a pity to see such a liar you're. Maybe is because your deep ignorance.

    ReplyDelete
  2. freebsd-update has existed for doing binary upgrades since before FreeBSD 6.0

    You don't have to compile everything from source, there are the binary packages.

    The new pkgng system provides all of the features of 'apt-get' or 'yum' but still in the BSD style of not breaking everything.

    And I am not sure which cloud apps you are after that you cannot find.

    ReplyDelete
  3. I play with OpenBSD on an old Sun box; wanted to use FreeBSD, but never got it to work. On the Intel side, I too prefer Ubuntu, after spending years toying with Suse/OpenSuse. Have you tried PCBSD?

    ReplyDelete
    Replies
    1. Never tried PCBSD on the desktop. Most of what I used FreeBSD on previous was a server and now the cloud. Images exist, but in true form FreeBSD with so many things is often behind the times. I appreciate they're going for quality, but the politics inside the project get in the way of releasing code to the masses.

      Delete