Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

Journal grahamlee's Journal: Grrr...the whole BSD/Linux thing

I guess I could have called this a Mac OS X entry, a Linux entry, an UNIX entry, pretty much anything. But I think that the main subject here is BSD, so I'll go with that for now :-).

It all started here, with this rather impressive description of the differences between Linux and BSD. Not the implementation differences; indeed I might pen a few sentences about those some time. This article describes the broad methodological differences between the systems. Unfortunately, when it got to /., it was met with a certain amount of scepticism, derision and trolling.

This was partly due to the way the article was worded. For instance, the author said that in his experience, BSD people understood Linux more than Linux people understood BSD. Well, maybe that's true, but it's not the kindof thing you say on a predominantly Linux-oriented site if you want objective reviews :-). So I thought, to kill time, I'd try and quickly note the major differences. I'm going to treat Darwin as a 'special case' towards the end, as it differs a bit from the other BSDs.

The article noted the difference between a Linux distro and a BSD system, such as FreeBSD, NetBSD etc. This is a very key point. The various BSD flavours are not merely different distributions of the same system. They are different systems. Each one derives from the final Berkeley release of BSD, and has modified, added to, removed or replaced that Berkeley code as its developers have seen fit. So whereas SuSE and Fedora Linuxen use the same kernel, fileutils, C compiler etc. the different BSD systems truly are self-contained units.
A Linux distribution is a collection of software that contains the Linux kernel, and a bunch of other software that is necessary to get a useful operating system involving that kernel. The software is not (usually) maintained by the distributors. For instance, a particular Mandrake distribution may contain kernel version x.y.z from the Linux kernel project, gcc a.b from the Free Software Foundation, OpenSSL c.dp from OpenBSD, etc. etc.
A BSD system does not have distributions, per se. There is only one FreeBSD, for instance. As the original article stated, to obtain a BSD you typically have two options. One is to check out the current source code from their versioning system, the other is to download a "release" which is a snapshot of the source tree at a particular time. Some of the BSDs offer ISOs of their snapshot releases as binaries, which may be installed without the need to compile your own system.

The entire "base system" of a BSD is maintained as a single entity by its development team. So although a particular system may use a GNU utility, for instance, autoconf, if it's part of the base system then that autoconf is really a BSD derivative of the GNU code, and not necessarily identical to the GNU code that was merged with the base system. This is typically not the case with Linux distributions, in which the code is simply built and packaged 'as-is'.

I noticed while looking through the /. comments that some posters found BSD users to be more defensive of their art and hence condescending to newbies than those from the Linux world. Having spent time in comp.os.linux.setup, I'm not sure that's the case :-). Besides which, there is a vast wealth of information around on the various BSDs. Apart from their own sites, there's stuff on The BSD Fora and Apple's developer site, just to name a couple. The O'Reilly community press publishes a hefty chunk of this information in dead-tree form, for those who prefer to be able to read their manual offline. Usually a judicious search of the internet with your favourite search engine will yield good results; for instance the Google BSD directory contains a few handy links as well as a search of all things BSD.

Darwin - I promised I'd mention it near the end, I'm not sure whether or not this is the end but I've run out of things I thought I was going to talk about, otherwise :-). Darwin comes in two flavours, regular or Mac OS X. In this respect it is unique (AFAIK) in being the only BSD currently powering a commercial operating system (There was BSDi, OPENSTEP, SunOS4, etc.). It owes a fair amount of its code heritage to FreeBSD, but Apple have added their own stuff, including a replacement kernel (the OSF Mach microkernel).
As regards the subject of this little journal entry, the important differences between Darwin and the other popular BSDs are the existence of a commericial version and the lack of a ports system. Obtaining Darwin is also more geared toward binary distributions than checking out the source tree, although the latter is available. There are also snapshot source distributions at the Darwin website, and more information at OpenDarwin.

This discussion has been archived. No new comments can be posted.

Grrr...the whole BSD/Linux thing

Comments Filter:

God help those who do not help themselves. -- Wilson Mizner