Subject: mmmm... most..multi..platform...
To: Mike Hogsett <>
From: Miles Nordin <carton@Ivy.NET>
List: netbsd-advocacy
Date: 11/20/1999 14:48:16
On Sat, 20 Nov 1999, Mike Hogsett wrote:

> I think that what we are realy after is:
> "Hey I pulled this old heap of crap out of my garage and now I have 
> a Unix box with NetBSD!"  

That's definitely not what I'm after.  I think this is a strength of the
OS, yes, but also a big image problem.  Consider the recent ad that raised
all that fuss with DaemonNews:

FreeBSD.......most stable
OpenBSD.......most secure
NetBSD........most multi-platform

So, multi-platformness is NetBSD's specialty and a wonderful testimony to
the value of *BSD, but NetBSD is less secure than OpenBSD and less stable
than FreeBSD.

Is that what we believe?  Is that what we want others to think?  Is that
what we want to _say_?  Because, apparently, by remaining guardedly modest
and harping on this multi-platform thing all the time, we're saying it.

The number of platforms NetBSD supports is a feature in itself, but its
consequences are much more important.  NetBSD is a well-preserved piece of
history and a great teaching/indoctrination/religious tool, because if it
weren't coded with extreme attention to architectural structure and minor
detail, it would be impossible for NetBSD's contributors to maintain
twenty different platforms.  There is a lot less rework, PeeCeeisms, and
general mess in NetBSD than there is in, for example, Linux, which also
runs on many, many platforms.  And, there is constant pressure and work to
improve NetBSD in this regard.  Other OS's lack the pressure, and don't do
the work.  This cleanliness is necessary for supporting twenty platforms,
but it's also a key feature in itself.

Perhaps more naively important for the future, the work that's already
been done to support so many platforms cleanly makes it easier to add
more.  And, even if you are not working on something platform-specific,
your code has a wider audience in some sense--write a PCI driver for
NetBSD, and it works on Mac, PC, Alpha, Atari, CATS PCI busses, and in
addition drivers often come in pieces for individual chips that can be
attached to other kinds of busses.  These are real consequences of
supporting twenty platforms, besides being able to buy Unix hardware at
auctions for cheap. Our drivers are reuseable and quickly accomodate new
attachments _because_ they were written to run on many platforms from the
beginning.  The drivers themselves are better.  The driver development
environment is better.  And the culture is better, because it teaches
developers to write good drivers.  It's my opinion that these consequences
are more important than the literal fact of pc532 support helping me if i
happen to see a pc532 sitting in a ditch.

Don't get me wrong--i'd be upset if anything happened to pc532 support or
VAX support or HP300 support, but not because I expect I'll ever get my
hands on any of these machines.  Rather, because I think it's amazing that
machines of which perhaps only a hundred exist in the world now have UVM,
lfs, ffs with soft updates, IPv6 and IPsec, X11R6.3...

I think the reason some NetBSD advocates tout the number of architectures
we run on is that it's a convenient shorthand for all this stuff i've been
saying.  Someone who's worked long enough in the right part of the
Industry will realize immediately that it's impossible to support over
twenty architectures unless the source code is extremely clean and
well-organized, and relatively free from architecture-specific buglets.
Thus, you can say ``NetBSD supports over 20 architectures,'' a flat
and brief statement of fact, and instantly make this argument.

Unfortunately, I think this statement doesn't impress many people further
than, ``Interesting.  That may come in handy some day.  But, yeah, it does
run on the PC, right?  Does it support my PC's <.....> card?  Oh,
nevermind then--I just bought that card and the box said it is
super-fast and that it supports Linux, so i really need to use it.''

This is a real problem, and I don't know what to do about it.  To see what
I mean, try rereading this message, but every fifteen seconds douse
yourself in kerosene and set yourself on fire.  Put yourself out with a
garden hose, and then continue reading where you left off for another
fifteen seconds.

Now, pick up an Adaptec 2906 box, or a Caldera box, or an OpenBSD rant
about security, and try the same experiment.

Which argument makes more sense to you?
Weezie, you got any fries left?  ay, hand me some Mr. Pibb too--I'm toast!

Miles Nordin / v:1-888-857-2723 fax:+1 530 579-8680
555 Bryant Street PMB 182 / Palo Alto, CA 94301-1700 / US