Jan 9, 2008

Demonology '08

In the new year the Berkeley Software Distribution family of Unix-like operating systems is growing at a phenomenal rate and excitement over the possibilities for this operating system family is in the air. After unprecedented development and adoption as well as major shifts in the marketplace, it's time to take a look at what's new with this demonic family of operating systems. Don't fear, the word demon means Unix goodness at just the right price.

FreeBSD

FreeBSD 5 was the darkest period in this operating system's history and morale and marketshare were at an all-time low. The problem originated from merging BSD/OS into FreeBSD; though the two systems shared a lot of code, the difference of just a couple years was staggering. FreeBSD's virtual memory and multi-processing code was immature, while BSD/OS's libraries were archaic. Mating the two was a mess that cost FreeBSD face and kept users on an older branch from the Nineties, 4.11.

After several years of struggle, Apple came to the rescue with Darwin — its FreeBSD-based server operating system — filling the holes where BSD/OS and FreeBSD didn't mesh. In just a few short months of code contribution, FreeBSD 6 began to take shape and even in development it looked miles ahead of the doomed 5 branch. Within months of release Hotmail and Yahoo! updated their mail servers and Apple developers began reincorporating the merged changes into Mac OS X Leopard. After years of tumult, Apple finally hit the switch that made FreeBSD "just work."

Now, with FreeBSD 7.0b on the horizon promising to wrap it all up, FreeBSD is once again taking the free Unix world by storm. It's a tight, efficient codebase leveraging the best of BSD/OS, Darwin, and FreeBSD that users have been clamoring for. FreeBSD users and sites now have a shining future ahead of them.

NetBSD

NetBSD is languishing. In supporting as many platforms as possible, development is a quagmire of obsolete hardware, spotty driver support, and developer infighting.

Where FreeBSD chooses to focus on a few platforms, NetBSD tinkers with obsolete hardware like z80, i386, 68k and C64 that draw away from putting new features into production. The drag is significant: NetBSD can't do many things that FreeBSD or Linux did years ago. It's gotten so bad, in fact, that the NetBSD Group voted to change version numbering to make it appear as if more was being done. There were eleven years between NetBSD 0.8 to 2.0; there have been just three years between NetBSD 2 and 4. You do the math.

That isn't to say that NetBSD is without its uses, however. Other operating systems often take code from NetBSD when they begin work on new drivers. There have also been occasions when developers borrowed or modeled NetBSD code to fix platform-specific bugs. But these are strictly developer applications, not end user, and GNOME and KDE won't run on NetBSD without liberal amounts of trouble. This is not something you pop on your PC when you get tired of Windows. In fact, NetBSD makes Vista look like utopia.

NetBSD's raison d'être is to crawl onto unsupported hardware, and for that we have them to thank for other operating systems' support for new platforms. But out of seventy-one supported platforms, NetBSD runs natively on just eight of them. Anything beyond development with NetBSD is a major investment of time and, if you're a company, money. Using NetBSD as a primary OS is neither a goal of the project nor practical. Caveat end user!

OpenBSD

Picking up where FreeBSD and NetBSD do rather poorly, OpenBSD focuses on security no matter the cost. For example, when several bugs in Athlon 64 came to light, OpenBSD leader Theo de Raadt pulled all AMD support from the kernel before ever consulting his development team or announcing his intentions to the public. It was only after AMD CEO Héctor Ruiz pledged better support that de Raadt slowly began replacing AMD support one microarchitecture at a time over the next several months.

If you think that's extreme, you must not be used to OpenBSD. In a line of work where one buffer overflow can mean your company's secret data, not to mention your job, every line of code counts. In OpenBSD, every line of code is passed around between developers and poked, probed, and teamed up on before it's even considered for inclusion. Theo de Raadt comes under fire for such harsh measures, but no other Unix comes close to OpenBSD's security.

The downside to this is that OpenBSD lags behind innovations that other operating systems implement, as it often ports them months or years after the developers have reengineered the code to OpenBSD's standards. This is another point of contention with the community, as the OpenBSD Foundation was forced to take code from FreeBSD to support Intel's cryptography module and had to rewrite NetBSD's firewall since it was so long in making its own. That's nothing, however, compared to the measures de Raadt himself takes.

In one highly publicized incident, a user who had questioned de Raadt's delay of porting CML2 was banned by de Raadt from the OpenBSD Foundation's mailing list. Later, he cracked the user's box and remapped their keyboard to prove that they hadn't configured their system properly, thus rendering their argument about CML2 support moot. Though rebuked by fellow developers and industry pundits, de Raadt never apologized and to this day has refused to include CML2.

If you plan on using OpenBSD, you'd better be prepared to deal with the consequences.

DragonFly BSD

DragonFly BSD aims to preserve the lightweight threading model of FreeBSD 4.8, of which it is a fork. Its developer, Matt Dillon, is a former Amiga and BeOS developer and began the project to keep the philosophy of those older operating systems alive. Users who favor or require FreeBSD 4, which is no longer supported, can use DragonFly.

Performance is also quite fast, but these benefits are at the cost of newer features and security. Dillon has begun syncing releases with subsequent FreeBSD 4 updates; DragonFly 1.10 was synced with FreeBSD 4.9 and DragonFly 1.14 will be synced with FreeBSD 4.11 in what Dillon has called "mirrored perfection."

Another gimmick of DragonFly BSD is what Dillon calls netclustering, where users can anonymously cluster over the internet. DragonFly threads allow for just such clustering since they don't include security hooks and would facilitate fast multimedia crunching, all transparent to the user who would only see their work finish faster. In this way netclustering is akin to Apple's Xgrid but not quite as polished. Dillon has promised this for post-1.14 releases but, since he refuses to let others develop the project, that could be a while in coming.

While all of this sounds promising, nothing has been delivered yet. Installing DragonFly at the moment gives you a functioning FreeBSD 4 clone but not much more. Should Dillon deliver on his plans there might be compelling uses for this project, but that's a mighty big if for a guy coding a ten-year-old operating system alone in his parents' basement.

Darwin

Darwin is the pinnacle of Unix, let alone Berkeley Software Distributions.

Since Apple bought Next, Darwin has changed the Unix paradigm. It is now the most widely-used Unix in the world bar none. Not even Linux comes close to the installed userbase of Darwin, which is at the core of every Mac OS X install. It runs in both 32- and 64-bit flavors on the Intel and Power architectures and it transparently subsumes the previously separate ideas of terminal, desktop, workstation, and server.

Darwin has all the positives and none of the negatives that the previous BSD distributions have, and Apple's proprietary APIs seal the deal. QuickTime, WebKit, CoreData, et al offer the premium services no other operating system does on top of the stable, modern Unix underpinnings of Darwin. It's the best way to ensure the secure, stable environment Mac OS X is. That's just how Apple plays.

And it's all in one version for just $129.99.

Demonology

With all of these great improvements to the Berkeley operating system family in the last few years, BSD is clearly where it's at. Linux is a throwback to when Open Source was a hot buzzword and sharing code was a novel idea. Now, Apple and company use it as standard coding procedure to share and improve the tech they have and leverage their individual strengths.

Even when taking the few commercial Unices that still exist into account, like AIX and Solaris, BSD still owns the arena in its frantic steamroll to the top of the supercomputing mountain. Whether you want the general wholesomeness of FreeBSD, the KGB-like security of OpenBSD, the more experimental NetBSD or DragonFly BSD, or the utter perfection of Mac OS X, BSD has your bases completely covered with room to grow in the future.

If you haven't converted, now's the time to become a demon worshipper.

4 comments:

  1. Couldn't comment on Kuroshin, so I'll remark here.


    ...Darwin is the pinnacle of Unix...

    You're joking, aren't you?



    ...the utter perfection of Mac OS X...

    Okay. It's confirmed -- you are a Mac fanboy. Wow, such unabashed bias.

    And, to the contrary, there are numerous imperfections in OSX.


    Not even Linux comes close to the installed userbase of Darwin...

    No one really knows how many machines are running Linux, nor running the BSDs (doesn't include OSX). However, I doubt that there are more OSX machines in the whole world than Linux machines.

    ReplyDelete
  2. "This message brought to you by the irony-free repetition of marketing hyperbole."

    ReplyDelete