Summary of the NetBSD BOF at Usenix, Summer 94

[These notes were taken by Amy Baron, and edited by Adam Glass.  They
represent a summary of the slides *AND* verbal comments during their
presentation.  Since the slides were slightly dated by the time they
were presented at the conference, this summary contains more pertinent
information than the slides, particularly regarding release timing.  The
slides on the other hand are more complete (and prettier).

This document and the slides can be retrieved via anonymous ftp to
       sun-lamp.cs.berkeley.edu:pub/NetBSD/misc/usenix-94summer
]

Here is a quick summary of the NetBSD BOF that was held at the Usenix
Summer '94 conference in Boston.  Chris Demetriou gave the
presentation with the "core team" and many supporting volunteers in
the audience, and while this is not a verbatim account, I have gotten
down the key points and ideas from the BOF.

So, you ask, what exactly is NetBSD? Well, NetBSD is a free and
complete BSD operating system. NetBSD cannot be called "UNIX" exactly
because that would be a trademark infringment, but it is very much BSD
UNIX in implemention and feel. NetBSD was originally derived from the
Berkeley Net/2 release, but now the kernel is based on 4.4 Lite BSD.
User-land software is being upgraded on an incremental basis.  A full
source distribution of NetBSD is freely available, as are binaries for
the many platforms it supports.  NetBSD is supported entirely by
volunteer efforts.

NetBSD has many goals. Primarily they are focused on providing totally
free BSD system for as many machine architectures as possible, while
making quality improvements to the code.  While doing this, they would
like to avoid encumbering licenses as much as possible.  They want
NetBSD to be a system that can be used for any purpose the you desire.
Another goal of NetBSD is to be a true part of the BSD community, and
hopefully help carry on the BSD "torch" now that CSRG is no more.

Many improvments have been made to the user-land software in NetBSD.
These include (but certainly are not limited to!):
       - Shared Libraries! NetBSD now has SunOS-style shared libraries,
         which can mean a big win in terms of disk space.
       - 70% compiliant with POSIX.2, much of which is due to the efforts
         of J.T. Conklin. Missing POSIX bits that remain are some inter-
         nationalization features, occasional missing flags and the like.
       - NetBSD has flexible name resolution, using YP/BIND, host files,
         etc.
       - POSIX Threads by Chris Provenzano
       - Many bugs from 4.4 Lite have been fixed, and patches sent
         back to CSRG
       - Missing commands have been added - rarpd, bootp, sa, and more.
       - Work has been done on keeping contributed software current -
         such as gcc with a mind towards ssytem stability.

Loads of kernel improvements have been made as well. Once again, here are
a few but not limited to:
       - Many architectures have been added - more than Berkeley had, even!
       - Existing ports have been enhanced - i386 (Ours works, theirs
         doesn't), and the sparc port's SunOS compat has been improved.
       - Lame machine dependencies have been isolated - which makes porting
         simpler
       - 95% POSIX.1 compliant.
       - Kernel subsystems fixed - tty handling is better, exec handling
         changed. The tty system now uses ring buffers instead of clists,
         and NetBSD now has bi-directional hardware flow.
       - flexible exec() implementation that makes it easy to add support
         for foreign binary formats such as ECOFF.
       - Loadable kernel modules, Sun style, are being supported
       - SysV semaphores, message queues, and a free implementation of
         shared memory.
       - Bugs fixed - 4.4 Lite isn't perfect, fixes passed back to CSRG.

But wait, there are even more:
       - Multicast support added
       - Many filesystems have been added: MS-DOS and AmigaDOS
       - Machine dependent SCSI system is now used and shared by 5/8 of
         the ports, unlike in 4.4 Lite where each port has its own SCSI
         system.
       - Diskless boot scheme
       - Shared core dump format

and this list could go on...

One of the features of NetBSD is that it is supported on many
platforms. The current set of working ports is:
       - i386/i486/Pentium
       - amiga - all amigas with an MMU supported
       - DECstation - has ULTRIX compat, booting single user
       - HP 300 - even the 040 models
       - Macintoshes - some models, primarily of the Mac II series
       - sparc - sun4c based machines, can run SunOS binaries better than
               Solaris
       - Sun3 - a few bugs to be resolved

Ports in progress are:
       - sparc - for the sun4m machines (sparc 5's, 10's, etc)
       - VAX - by some guys out in Sweden...
       - Sequent

There have also been mumblings of a DEC alpha port, and a PowerPC
port.

The general philosophy behind porting NetBSD is, if you would like a
port done, feel free to do it! You will generally need a significant
amount of clue, 2 machines, documentation, dedication, and perhaps
most importantly, time.  The NetBSD core team can also provide porters
if you don't feel you are up to it.  Generally the NetBSD project
likes to keep one machine so that the port doesn't grow stale.

Compatibility with other systems has been improved in NetBSD. It is
possible to run BSDI 1.1 binaries, almost any SunOS binaries
(including ones linked with the SunOS shared libraries), and
significant progress has been made on ULTRIX compat.  SVR4 compat is
also being worked on.  NetBSD is also source code compatible with 4.4
Lite.  POSIX compliance (as described early) is already far advanced.
Overall, it is very easy to port software to NetBSD.

Another goal of NetBSD has been to integrate 4.4 Lite. So far, the
kernel has been upgraded, and any implied user-level changes.  These
are the most difficult changes.  The rest of user-land will be
upgraded incrementally.  All ports have been modified to work with the
new kernel.  Bugs found have been sent back to CSRG w/attached fixes..

Future plans for NetBSD include finishing the 4.4 Lite integration,
supporting additional platforms, and continuing to enhance the per-
formance of the system. Networking c further performance improvements.
NetBSD would like to fulfill user demands as best as possible, and
minimize bugs in the product. NetBSD is supported by a cast of
thousands, and is not going to go away anytime soon!

The next release of NetBSD, version 1.0, will be out very soon.
Due to the terms of USL's settlement with UC Berkeley, Net/2 derived
code must stop being distributed by July 31, thus a code freeze is
set for the 24th of June, with a hopeful release by July 15th!

In the meantime, NetBSD is available from:
       ftp.netbsd.org:pub/NetBSD
as well as several mirror sites.
NetBSD-current is in pub/NetBSD/NetBSD-current, and SUP binaries and
source are located in pub/sup .

To join the mailing lists, mail:
       [email protected]

and please mail comments to :
       [email protected]
or speak with us!

The members of the NetBSD team would like to thank the following - the
lawyers of UC Berkeley, who fought USL to free 4.4 BSD, UC Berkeley's
late CSRG who made this all possible by bringing us BSD to begin with,
and all of the other contributers who have made everything possible.

Long live BSD !