Monthly Columns
 

One BSD, Two BSD, Three BSD. More?

Copyright © 1999 Chris Coleman

In my last editorial I broached the subject of unification amongst the various BSD projects. This generated a large amount of e-mail in my inbox. I was very pleased.

Many of the people posted comments on how the three groups couldn't possibly merge, or suggestions on how they should merge. There were several suggestions that I really liked and some points of confusion that I would like to clear up.

You may have gotten the idea that I wanted to eradicate all but one big multi-purpose BSD and convince everyone to switch to using it. However, this was not my intention and would make BSD more like Microsoft, one big clumsy tool to do every job, regardless of whether it works well or not.

What I am proposing is something much more rare and unique. Something that I believe only the cohesive BSD groups can accomplish. Unified Diversity. This can be accomplished through "specialization" and cooperation.

Last week at work, some co-workers were setting up a free version of x86 Solaris they had gotten. Since it was Unix, they called me over each time they had a problem. However, since all my experience has been on BSD, It took me a while to figure out the differences. The thing that annoyed me most was the differences in user command flags. Things like 'tar -xzvf tarfile.tar.gz' didn't work. I had to use zcat and few redirection pipes to make the same thing happen.

People stick with what is familiar. At work out-dated programs hang around on users' desktop computers until someone forces them to upgrade. When that feeling of familiarity comes with the new program that they are upgrading to, it becomes very easy to switch.

I am proposing that each of you have chosen to use BSD. That you would like to be able to switch between FreeBSD, NetBSD, and OpenBSD based on functionality and purpose, not on familiarity. Like choosing a tool to get the job done. If you need a firewall, you choose OpenBSD. If you have an UltraSparc machine, you get NetBSD. Pentium webserver? Get FreeBSD. It should be that simple. Each open source BSD should have a similar enough setup, configuration, and packaging system that a sysadmin for any of the three can setup all of them without further training or headaches.

The userland interface should be identical on all three systems. My last article suggested a unified userland code base. This may or may not be practical. What I want to avoid is creating another BSD variant with no kernel, only userland code. That appears to be what Linux does. What is important is that even if the underlying code is different, the user interface should be identical. The underlying code may have to be different on the three systems to be more optimized, more secure, or more compatible, but the user shouldn't see it.

Complete binary compatibility between the three groups is essential. If major software developers find it easy to port their code to BSD and have it run on all three BSD systems without modification or source code required, they will start taking us seriously. As they see it now, there are three groups to try and be compatible with.

Compared some other volunteer projects, each of the BSD groups are very well coordinated and cohesive. Behind the scenes, the three BSD groups do a huge amount of code sharing. The competition, cooperation, and code sharing that comes from having three distinct but similar BSD groups has made each group very stable and helped them produce some impressive code. But most of this goes without public notice.

These days Linux is getting all the press. In my opinion, the only thing that seems to be holding us back from getting the same press is ourselves. A reader wrote in and expressed exactly the point I am trying to get across. I liked it so well, am quoting his entire e-mail.

Although WE know that the Linux is "unified" because of its kernel that isn't the reason the media and others view it that way. The main reason is that when people talk about Linux they say "Linux". They don't say Slackware, RedHat, Debian or, anything else, they say Linux.

When we talk its about FreeBSD, OpenBSD, or NetBSD rather than talking about BSD. WE are creating this view that we are splintered ( not that it isn't also true to a degree )

There are regularly articles about Linux but rarely about RedHat. In complete contrast even when I do see BSD articles they are about FreeBSD or NetBSD but never about BSD ( except of course on Daemon News ). In short or biggest problem is the lack of a single name to cover all the BSD family products. --

Christopher Weimann SysAdmin

Now is the time to cooperate and combine our efforts to promote BSD. We have the common heritage, the strength of source code, and the cohesion that it takes to accomplish this. A little cooperation and team spirit and we will soon be seeing the same press that Linux has.

Chris Coleman, chrisc@vmunix.com