From: drew@romeo.cs.colorado.edu (Drew Eckhardt)
Subject: Re: Meta-Question
Organization: University of Colorado at Boulder
Date: Fri, 10 Apr 1992 21:22:10 GMT

In article <1992Apr10.175506.16681@cs.cornell.edu> murthy@cs.cornell.edu (Chet Murthy) writes:
>Another question that occurred to me was:
>
>Is there any relatoin between this project and the 386 BSD project?
>It seems that their aims are quite similar; hence one might imagine
>that quite a lot of work could be saved by collaboration.

yes  - both run on 386's and both are free for some definition of the word
"free."  Linux falls under the GPL, where as BSD is covered under the 
more liberal Berkeley Regent's copyright for the Net 2 parts,
I'm not sure about the Jolitz contributions.

>But perhaps I'm just not understanding.  I really don't want to start a flame
>war or anything - I think that the freer Unix is, the better.
>But on the other hand, it sure would be a waste to constrct two
>free unixes which are "almost", rather than one, which is "there".
>

There is a completely different design philosophy between the two : 
Linux is designed to be lean and mean, was designed for the 
386 from scratch, to be a useable system and not a research tool,
and is considerably simpler than BSD to hack.

The Jolitz port of BSD is just that : a port.  It is supposed to  
be BSD compatable, and when finished will do a fairly good job 
of that.  However, BSD 386 pays a penalty for its heritage - 
it caries with it the weight of all past BSD unixes, the weight
of portability, etc.  

--- What Linux has that BSD 386 doesn't have ---
We coexist on the SAME disk as DOS.  BSD doesn't.

Virtual consoles that support most SVGA boards in text mode, 
as well as VGA, MGA, CGA, MDA, hercules boards and anything 
compatable with those.  These do full color vt200 emulation,
and are quite workable until we get 'X'.

Enough math emulation is in the kernel so we can use distribution compilers 
set up for hardware floating point, provided that we provide transcendental
functions (ie sin, exp, etc) in a library.  With BSD, buy a 387.

SCSI support is available for Adaptec, Seagate, and Ultrastor host adapters.   

We Support ST506, IDE, and ESDI drives.  

We have shared libaries.  These drastically reduce the memory needed.

We have a working ptrace().  You  do any meaningful debugging without this.

An integrel kernel debugger with hardware break / watch points  is available.

There are other goodies too.

-- The downside --

1.  Networking is rather limited.  It is possible to use ka9q and 
	do slip.  However, we do not have networking in the kernel
	like BSD does.

	We also now have ethernet support, with a port of the BSD ethernet
	driver.

2.  We have no 'X'.  Supposedly someone has compiled 'X' on
	BSD.  

	But, we do have socket emulation libraries, mmap(2) and 
	iopermissions hacks by obz, and obz is working on 
	an X port.  This will take advantage of shared libaries, 
	and consequently will run in significantly less space
	(memory, disk) than the BSD 'X'.

3.  We have the 64M Minix file system  BSD has FFS.

	The downside is the BSD FFS requires an ENTIRE disk to
	itself - kiss DOS goodbye.  The upside is it 
	is FFS, and isn't as restricted.

	We do have VFS, and are fixing this problem.  VFS will
	let you drop in a FFS, LFS, DOS file system, tar filesystem,
	FTP filesystem, whatever.