Return to BSD News archive
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msuinfo!agate!howland.reston.ans.net!gatech!udel!news2.sprintlink.net!news.sprintlink.net!redstone.interpath.net!w4bzl.chapel-hill.nc.us!jrr From: jrr@w4bzl.chapel-hill.nc.us (Joe Ragland) Newsgroups: comp.os.386bsd.questions,comp.os.linux.help! Subject: Re: BSD vs Linux Date: 10 Jun 1994 01:32:53 GMT Organization: Internet Consulting Lines: 100 Message-ID: <2t8fs5$e9p@redstone.interpath.net> References: <2t0vjb$4i@Venus.mcs.com> <2t5r0f$24q@cleese.apana.org.au> Reply-To: jrr@interpath.net NNTP-Posting-Host: w4bzl.chapel-hill.nc.us I saved Chuck Hedrick's comments on this subject. I trust Chuck won't mind if I bring it back. --joe From: hedrick@geneva.rutgers.edu (Charles Hedrick) Newsgroups: comp.os.linux.misc Subject: Re: FreeBSD and Linux Keywords: FreeBSD, 386BSD, Linux Date: 6 Mar 94 22:26:44 GMT Distribution: usa Organization: Rutgers Univ., New Brunswick, N.J. > What is the difference between FreeBSD (386BSD) and Linux? Are they both >UNIX clones, and is one better than the other? > Thank you very much for your help. There are four major differences: 1) the 386BSD family started with BSD, and Linux started with POSIX. NetBSD/FreeBSD/386BSD have been adding POSIX and System V compatibility, and Linux has been adding Berkeley and System V compatibility. So there's a good deal of overlap. But ...BSD is still a better choice if you want to program in a Berkeley environment and Linux if you want a POSIX environment. That's for the kernel and libc -- the utilities and other stuff users see tends to be fairly similar. In both cases the programs are what I call "typical University Unix". The main difference is that the base Unix utilities tend to be Berkeley for ...BSD and Gnu for Linux. Gnu is fairly Berkeley-compatible, but its priority is POSIX, so it tends to look slightly closer to System V, with massive Berkeley extension. There are several sets of administrative utilities, but it's more likely that init, getty, etc., are going to be System V style for Linux and BSD for ...BSD. Again, these things aren't as significant as they might be because ...BSD is also concerned about POSIX compatibility and Gnu is concerned about BSD compatibility. So both sets of software are approaching a similar sort of goal from opposite directions. You could probably use the systems for quite a while without noticing much difference. (I'd like to emphasize that there's no similarity in overall feel between Linux and typical brain-dead PC System V ports.) The ...BSD FAQ characterizes the difference as one of East Coast vs. West Coast. There's a lot to be said for that summary. There's more difference in Unix culture between New Jersey and California than between New Jersey and Finland. 2) The nature of the development communities and distribution mechanisms are different. ...BSD has two or three different developer communities that take code from each other, but appear to hate each other's guts. (Actually, even ...BSD and Linux take code from each other.) Thus there are several different ...BSD's, each of which has an official distribution. There's just one Linux kernel, and from a practical point of view just one set of major utilities, but there's no official distribution. So several different groups put together distributions, with their own choice of kernel and utility versions. This means that it's easier to define what the One True Linux is than what the One True BSD is, but harder to get it. Once you've decided which BSD is the right one, it's easier to find an authoritative distribution of it. Development of Linux tends to be more distributed. Lots of people are working on lots of projects: new drivers for this and that, new versions of this utility and that. If you want to keep up with netBSD, you can sup netBSD-current from one place. If you want to keep up with Linux, you end up taking pieces from lots of people (though they generally end up on one of two archive machines -- tsx-11.mit.edu or sunsite.unc.edu). If you don't want to do this, of course the packaged distributions do it for you. 3) The BSD networking is more mature than the Linux networking. This is one area in which I don't think Linux has any countervailing advantages, though in my opinion by release 1.0 Linux networking will be acceptable. 4) There are specific things in each system that are likely to be deciding factors for some people. I don't know what unique things BSD has, because I'm not part of that community, but for some people the COFF and ELF compatiblity projects may be critical, as it will allow Linux to run major commercial Unix software. For typical end users Windows compatibility is probably more useful, but that's being done jointly by BSD and Linux. (Neither of these things is finished, by the way.) It's not clear to me whether the existing Linux DOS compatibility is a critical advantage. BSD doesn't have it, but my experience is that the Linux DOS emulator is slow enough and creaky enough that it's not generally usable. However it certainly does work for many programs, and if one of those programs is critical to you, it may be a big deal. Differences in support of devices are not likely to persist for long. There's a history of taking device drivers in both directions, so if there's enough interest in a device, and one side implements it, you can bet it will show up on the other side. Linux uses DOS partitions (including extended partitions). BSD creates its own partitions inside a single DOS partition. This is a difference, but it's unclear whether it's a critical one. Linux can mount DOS and OS/2 file systems (OS/2 is read-only). For a lot of people, the best suggestion is to find out what your friends are doing. If there's a significant user community near you of either kind, you're probably best off to go with it. If not, flip a coin (or look at a map and see whether you're nearer Berkeley or Finland -- note that in this comparison portions of the distance that are over an ocean don't count).