*BSD News Article 7436


Return to BSD News archive

Newsgroups: comp.unix.bsd
Path: sserve!manuel.anu.edu.au!munnari.oz.au!sgiblab!swrinde!elroy.jpl.nasa.gov!usc!snorkelwacker.mit.edu!bloom-picayune.mit.edu!athena.mit.edu!eichin
From: eichin@athena.mit.edu (Mark W. Eichin)
Subject: Re: 386BSD or LINUX?
In-Reply-To: elmar@gulasch.hanse.de's message of Wed, 4 Nov 1992 20:17:21 GMT
Message-ID: <EICHIN.92Nov4224548@tsx-11.mit.edu>
Sender: news@athena.mit.edu (News system)
Nntp-Posting-Host: tsx-11.mit.edu
Organization: Massachusetts Institute of Technology
References: <Nov.2.20.33.38.1992.18690@remus.rutgers.edu>
	<1992Nov4.201721.1036@gulasch.hanse.de>
Date: Thu, 5 Nov 1992 03:46:01 GMT
Lines: 136

In article <1992Nov4.201721.1036@gulasch.hanse.de> elmar@gulasch.hanse.de (Elmar Folba) writes:
>>Newsgroups: comp.unix.bsd
>>From: elmar@gulasch.hanse.de (Elmar Folba)
>>References: <Nov.2.20.33.38.1992.18690@remus.rutgers.edu>
>>Date: Wed, 4 Nov 1992 20:17:21 GMT

>>Not necessarily. Who, do you think, has significant and comparable experience
>>with both systems?
>>And: what is 'better'? Better suited to which purpose?

"significant and comparable experience"? I certainly do... I got a 486
machine in January, immediately put linux 0.10 up on it, hacked with
that for a while, then 386BSD 0.0 came out, so I blew everything away
and put that up instead. When 0.1 came out, I took the kernel sources
(since there hadn't really been major changes to anything else, and
the install program didn't impress me...) and worked with those for a
while... and then I needed (for work reasons) to get a DOS partition
again, to run djgcc/go32, so I put linux (SLS 0.98) up and started
hacking on the networking code.
	There are various ways to compare the two systems. It would be
impolite to treat them as being in competition; I'll merely try to
list things that "make a difference" between the two.

1) Networking.
	386BSD has had TCP/IP support (Ethernet and SLIP) in kernel
since 0.0 (after all, the socket interface was originally developed as
part of BSD.) Just about everything you or your sysadmin knows about
configuring unix networking will apply, which makes the setup seem
fairly easy.
	Linux has had TCP support in the form of the KA9Q networking
package, though I seem to recall this is only "free" for educational
or ham radio use, since the early days; the 0.98 release actually has
in kernel TCP, which is still a bit rough, but serves a useful purpose
as an independent implementation. Great if you want to hack (like I
do) but not quite up for heavy use; this is changing rapidly.

2) File Systems.
	386BSD has the Berkeley Fast File System; you can read
research papers on the implementation and design. It is quite robust,
and fsck can fix most problems due to sudden shutdown. There is a VFS
layer, but not many alternate disk-based file systems as of yet (NFS
for both TCP and UDP are included, though, and mostly work as of 0.1.)
	Linux started with the Minix filesystem, but now has a VFS
layer and several additional filesystem types, most popularly the
Extended Filesystem (just stretch the Minix entries by a factor of
two, but it does work...) and the MSDOS filesystem type (a *major* win
- none of the inconvenience of mtools, just mount the floppy or hard
drive and use cp/mv/emacs and it just works.) There is also a /proc
filesystem (at least I think it is done as a filesystem type, haven't
looked at the code.)

3) Utilities.
	386BSD has the various Berkeley utilities included, as well as
groff, gcc (based on 1.39); it is easy to get most of the GNU
utilities up (and for some things it is necessary -- /bin/sh is a
crippled shell that doesn't handle quoting well enough to run
Configure, so you'll probably replace it with BASH right away.)
	Linux comes with mostly GNU utilities, and what it doesn't
come with usually configures and builds cleanly. The "standard" gcc
(at the moment) is gcc 2.2.2d (lots of patches from 2.2.2) and I
expect 2.3.1 to work with little effort.

4) Shared Libraries
	Linux has them; BSD doesn't. This means that Linux can be
installed rather completely on a much smaller system (I've done kernel
builds on an AST 386sx/20Mh/2Mram/40Mdisk from inside of emacs, with
everything important installed... no X, no TeX, but there was room
left for at least one of those.)

5) Hardware support
	Linux seems to have more support for "low budget" hardware,
contributed by people who have it. There is a good deal of
cross-breeding here, however, with some people working on drivers on
both sides (since, after all, the *hard* part is actually talking to
the hardware, not talking to the O/S.) My personal experience has been
that Linux boots from scratch on more machines than 386BSD does.

6) Development "Life Cycle"
	Bill and Lynne Jolitz manage the entire release very closely;
this reults in reasonable quality control, but a long cycle between
releases (if I recall correctly, 0.0 came out in March, 0.1 over the
summer, and submissions for 0.2 are solicited now though no date is
even hinted at for a release.) It is also reported that the Jolitz'
have not been able to keep up with NetNews since Septmber 1.
	Linus Torvalds keeps a very close eye on the kernel -- in
fact, he rewrites many submissions (though not all) to meet his coding
standards, improving them in the process. Other people handle the
release of installable systems, moving at various paces. Linus also
participates very actively in discussions on both comp.os.linux and
comp.unix.bsd. Improvements to the kernel come out at a rapid pace; I
was recently off at a conference for a week, and am about two
revisions behind on the kernel, to give you some idea of the pace --
the changes mostly involve the networking code, which is in active
flux right now, so this is a feature for developers who want it (and
those who don't simply stay with older versions.)

7) License and Politics
	Linux is released under the GNU Copyleft; this means that if
you sell it to someone, you have to include sources with it. (I think
this is a great idea :-)
	BSD is released under the various Berkeley copyrights which
say that you can do what you want as long as you don't hold the
Regents liable; also, the Jolitz' have asked for donations to some
charity (their "CareWare" program) if you wish to make them. They have
also said that BSD is simply not *ready* for commercial use, and
advise against making commercial use of it, simply for technical
reasons.
	There is also a pending lawsuit (AT&T vs. BSDI and UCB) which
may affect the ownership of the 4.3net2 release which 386BSD is based
on. However, no actual action has been taken by a court in this
matter, although UCB and CMU have apparently reacted to it anyway (UCB
by no longer shipping tapes of 4.3net2, and CMU by no longer releasing
the BNR2SS single-server for Mach.)

8) Availability
	Linux and 386BSD are both available for anonymous ftp from
numerous sites; Austin Codeworks apparently resells both in source
form; FTP Software Inc was giving away a CDrom at Interop Fall 92 with
386BSD source and binaries (as well as X11R5, the Crynwr Packet
Drivers, and the RFC's and IEN's) as a promotion. Linux has been
uploaded to a number of BBS'es around the world. I'm sure other forms
are available, essentially if you want it you can probably get it.


In summary, there are numerous differences between Linux and 386BSD;
it is entirely up to you whether they "make a difference" in your
situation. 
				_Mark_ <eichin@athena.mit.edu>
				MIT Student Information Processing Board
				Cygnus Support <eichin@cygnus.com>

ps. This posting ignores other 386 Operating Systems since, after all,
we're only discussing Free ones here. Also, I'm sure it is clear to
you that these are my opinions from my experience, and not meant to
represent those of MIT or Cygnus Support (although some of them
certainly coincide) particularly regarding any lawsuits in progress.