That ol' devil is still at it...

In most contexts, I recall the phrase "Arising tide lifts all boats" as an explanation of the trickle-downtheory of economics popularized during the Reagan years. Now I findmyself applying this term, quite justifiably, to Linux.

In most contexts, I recall the phrase "A rising tide lifts all boats" as an explanation of the trickle-down theory of economics popularized during the Reagan years. Now I find myself applying this term, quite justifiably, to Linux.

For Linux, quite clearly, is blazing a path through which a number of non-Linux software projects are finding new vigor. To be sure, Linux has brought Unix operating system philosophies to a far greater audience than Unix itself ever did. While on one hand SCO must certainly see Linux as competition -- especially at the low end -- SCO must be pleased with the fact that Linux has managed to make Unix(-ish) systems on Intel hardware acceptable to the business computing world. For the longest time SCO was caught in the middle between what some in the media portrayed as a RISC/Unix versus Intel/Windows battle. Now that Linux has bridged that gap, SCO is happy to come along for the ride.

But the projects that have benefitted the most from Linux's popularity, if somewhat jealously, are unquestionably the outgrowths of the Unix BSD project. BSD stands for Berkeley Software Distribution, and has a history that goes back to some of the earliest days of Unix. BSD started in 1977 as a series of modifications that made the "pure" Unix systems of the day more usable. It's not hard to make the case that the Berkeley code was the first real Unix(-ish) freeware, predating the creation of the GNU Project by many years.

Sharing the Linux spotlight
While BSD has been around for almost the entire lifespan of Unix, Linux has seemingly come from out of nowhere to steal the free software spotlight. But BSD and its many users have certainly not gone away. In fact, at the recent Linux Business Expo, BSD's most popular release, FreeBSD, had a prominent place on the show floor. It was doing a brisk business in CDs and doll-sized versions of BSD's Daemon mascot.

FreeBSD co-founder Jordan Hubbard has, for as long as I've known, taken a very reasonable and pragmatic approach to the relationship between BSD and Linux. "Our goals are more in common than they are different," he said. "Fighting between BSD and Linux is sort of like Oxfam and CARE fighting over who's going to feed the poor."

Indeed, Hubbard said, his primary goal is that BSD code be used. He doesn't care where or how, just that people find it useful -- even if it's embedded within someone else's (possibly proprietary) code. The BSD license is not only older than the GNU Public License, it's also simpler. The BSD license requires that users:

  • Not represent that they created the code;
  • Not hold code authors liable for anything caused by use of the software
  • Not remove the license or copyright.

After that, everything is fair game. There is no GPL-type requirement that any changes you make to BSD-covered code be made publicly available in source form. You're free to do whatever you want with BSD-licensed code, including making proprietary changes. BSD fans accurately point out that, in this sense, BSD code is freer because it comes with fewer restrictions than the GPL.

Fears of exploitation
This kind of thing, of course, is the stuff that holy wars are made of -- and there are certainly sparks of ill will in some parts of the Linux and BSD worlds. Many BSD folk have an allergic reaction to the impositions of the GPL, while GNU supporters believe that BSD's scheme offers an invitation to proprietary exploitation that ultimately inhibits the growth and popularity of free software.

It's an unwinnable debate, and both sides have valid points. Unfortunately, the debate is often fueled by an underlying resentment of Linux in some BSD circles that contains more than a hint of jealousy at times. Fragments of the debate-turned-argument surface in the strangest places, most recently within a Slashdot discussion of the new Slackware release.

I have myself heard from BSD people who still think of Linux as a toy, and of its developers as amateurish hackers (in contrast to BSD's serious Unix-bred developers, they seem to suggest). Even moderates such as Hubbard believe that Linux is merely a well-hyped first step that gets people into understanding the value of free software. Once there, such converts will naturally migrate to BSD when they want to do serious work -- or so the belief goes.

It's for this reason that the BSD world is full of comparisons with Linux. The best known is a chart that's now being distributed as FreeBSD marketing material. Hubbard himself wrote an excellent piece on the topic for Performance Computing magazine, October 1998 issue. In the print version, the magazine publicized Hubbard's article using a tasteless cartoon of the Linux penguin impaled on the BSD Daemon's trident. A recent example of some less thoughtful BSD-Linux comparisons appeared in the Boston Globe in September of this year, titled "Even better than Linux." The piece no longer appears on the Globe Web site (they didn't return calls to tell me why) but it has been archived on this Spanish site. Ah, the wonders of the 'Net...

Battle for market share
There are a number of reasons given by BSD fans about why Linux has all the attention even though BSD was around first. Often mentioned is the rationale that BSD was involved in legal problems with the owners of the "real" Unix code (AT&T, and later Novell) while Linux was rising to prominence. Had lawyers not stood in the way of BSD's wide release in the early 90's, who knows what the free software landscape would look like today.

I see it differently. Linus Torvalds, more than the BSD folk or the GNU folk or anyone else, succeeded personally in inviting and encouraging a community effort as nobody had done before. It's this sense of widespread community participation, in large part reflecting Torvalds' own skills at herding cats, that has moved Linux past BSD (and past the GNU Hurd project) in any perceived battle for the attention of the mainstream computing public.

In any case, the reasons why one would switch to FreeBSD from Linux still aren't totally clear to me. The above-mentioned chart says that FreeBSD has 20 to 30 percent better network performance than Linux. Yet the only evidence offered to back that up is from a 1998 Gartner Group report (the URL on the FreeBSD chart is wrong). But don't bother paying the $95 for the report -- it really doesn't substantiate any BSD performance claim.

In other words, there's precious little -- if anything -- to back up any relative performance or robustness claims that would be usable today. I've certainly not been able to find anything on the Web outside of anecdotes and blind assertions.

So the oft-mentioned technical superiority of FreeBSD over Linux is still a murky issue, and I will be glad to review and publicize any hard evidence that I can get my hands on. What I do know is that FreeBSD is rock-solid in powering high-volume Web servers or mail servers -- but Linux is also proving its mettle in such situations. BSD fans are quick to point out that FreeBSD powers Yahoo, Walnut Creek (also known as cdrom.com) and similar workhorse sites. I have certainly heard -- from people whose opinions I trust -- more than my share of glowing reports about FreeBSD's abilities to handle heavy Web traffic. But if someone is already using Linux and is happy with it, I'm still uncertain why they would want to switch, or need to switch. Given the nature of free software, if BSD's networking code is really that superior, it may find its way into Linux anyway -- just like Hubbard wants.

Especially for old-time Unix users coming into the world of free software, or people looking for a solid Internet server, FreeBSD is absolutely worth a look. Many of the technical differences between the two are detailed in this nice HOWTO document. But is BSD the "logical next step" from Linux that its users seem to think it is? I'm yet-unconvinced, but I'm willing t