Re: The future of NetBSD

2006-09-01 Thread Charles M. Hannum
On Fri, Sep 01, 2006 at 10:40:01AM -0700, Spruell, Darren-Perot wrote:
 Like, what docs does a vendor engineering division give to the developers
 who write the drivers internally? They don't give them bad docs. They give
 them functional, useful docs. Does it need to be stated that any project
 wanting to compose useful support for the same hardware shouldn't get the
 same level of docs?

Sorry, but that's the core fallacy in your argument.  In many cases, there
are no functional, useful docs.  They just don't exist.  Certainly this
is a problem in itself.



Re: The future of NetBSD

2006-09-01 Thread Charles M. Hannum
On Fri, Sep 01, 2006 at 01:08:13AM +0200, Matthias Kilian wrote:
 They don't have to write device drivers at all, they just should
 write good documentation.

Unfortunately, the documentation often isn't so hot either.  I'll
give you an example.  Even with both code and documentation from
Realtek, we still had to reverse engineer how some parts of the RTL8180
work.  And though it works now, our understanding is still incomplete.

It is far easier for a manufacturer to spew out a Windows driver
in-house, where they have direct access to the people who designed the
hardware, so this is what they do.  The Windows driver model is pretty
much designed around this approach.

What we really want is not just documentation, but support from their
engineers.  The Linux community is starting to get this in some places.



Re: The future of NetBSD

2006-09-01 Thread Charles M. Hannum
On Fri, Sep 01, 2006 at 12:16:59PM -0700, Spruell, Darren-Perot wrote:
 From: Charles M. Hannum [mailto:[EMAIL PROTECTED] 
  On Fri, Sep 01, 2006 at 10:40:01AM -0700, Spruell, Darren-Perot wrote:
   Like, what docs does a vendor engineering division give to the 
   developers who write the drivers internally? They don't 
  give them bad 
   docs. They give them functional, useful docs. Does it need to be 
   stated that any project wanting to compose useful support 
  for the same 
   hardware shouldn't get the same level of docs?
  
  Sorry, but that's the core fallacy in your argument.  In many 
  cases, there are no functional, useful docs.  They just 
  don't exist.  Certainly this is a problem in itself.
 
 Certainly it is. So why bother resorting to vendor-supplied drivers (OSS or
 blob) derived from originally piss-poor docs in the first place? If the docs
 are bad, then the results of those docs are derivatively worse as a result.

That's not actually true.  You're still using the fallacy that the
vendor driver is written based on the documentation -- but in fact there
are other inputs, like discussion with the hardware engineers.
Sometimes there are pieces you just can't get from the documentation,
because they're not there, but they are present in the driver.  In the
current climate, having both is almost always better than having only
one -- and certainly having the code is better than having nothing.

I'm not against harassing the hardware vendors to do better.



Re: The future of NetBSD

2006-08-31 Thread Charles M. Hannum
On Thu, Aug 31, 2006 at 12:01:07AM -0500, [EMAIL PROTECTED] wrote:
 A chicken running around sans head is quite active.
 Not really the same thing as productive.

What you don't see is that NetBSD is the chicken in your analogy.



Re: The future of NetBSD

2006-08-31 Thread Charles M. Hannum
On Thu, Aug 31, 2006 at 05:44:00PM +0200, Johnny Billquist wrote:
 Andy Ruhl wrote:
 On 8/31/06, Thorsten Glaser [EMAIL PROTECTED] wrote:
 
 BSD is about an operating system, not about a kernel.
 
 Bingo. Good point. This point is lost sometimes.
 
 I believe NetBSD has the proper philosophy in regards to the entire OS
 as well. I don't want apache built in, for instance.
 
 This is a silly definition (imho) which I first heard Stallman use, but 
 seems to be spreading.
 Every book on operating systems that I own, or have read, defines an 
 operating system as the kernel. Different applications, including even 
 shells, are not the operating system.
 
 But that's just my opinion, of course. But most of all, I don't see the 
 relevance of bringing the discussion down to a hair-splitting of what an 
 operating system is.

Actually, defining (poorly) the OS to include so much else has been a
liability for NetBSD in many ways.  It has massively slowed the adoption
of new software versions (e.g. GCC), for one.  It also contributed to
the perception that a better package system and automatic updates were
not a serious issue.



The future of NetBSD

2006-08-30 Thread Charles M. Hannum
The NetBSD Project has stagnated to the point of irrelevance.  It has
gotten to the point that being associated with the project is often
more of a liability than an asset.  I will attempt to explain how this
happened, what the current state of affairs is, and what needs to be
done to attempt to fix the situation.

As one of the 4 originators of NetBSD, I am in a fairly unique position.
I am the only one who has continuously participated and/or watched the
project over its entire history.  Many changes have taken place, and at
the same time many things have remained the same -- including some of
our early mistakes.

I'd like to say that I'm some great visionary, who foresaw the whole OSS
market, but the fact is that's BS.  When we started the project, Linux
and 386BSD were both little hobbyist systems, both pretty buggy, and
both lacking a lot of important hardware support.  Mostly we were
scratching an itch: there was no complete package of 386BSD plus the
necessary patches to make it run on more systems and fix bugs, and there
was no sign that Bill Jolitz was going to resurface and do anything.

Much of the project structure evolved because of problems we had early
on.  Probably our best choice was to start using central version control
right off; this has enabled a very wide view of the code history and
(eventually) made remote collaboration with a large number of developers
much easier.  Some other things we fudged; e.g. Chris got tired of being
the point man for everything, and was trying to graduate college, so we
created an internal cabal for managing the project, which became known
as the core group.  Although the web was very new, we set up a web
site fairly early, to disseminate information about the project and our
releases.

Much of this early structure (CVS, web site, cabal, etc.) was copied
verbatim by other open source (this term not being in wide use yet)
projects -- even the form of the project name and the term core.  This
later became a kind of standard template for starting up an open source
project.

Unfortunately, we made some mistakes here.  As we've seen over the
years, one of the great successes of Linux was that it had a strong
leader, who set goals and directions, and was able to get people to do
what he wanted -- or find someone else to do it.  This latter part is
also a key element; there was no sense that anyone else owned a piece
of Linux (although de facto ownership has happened in some parts); if
you didn't produce, Linus would use someone else's code.  If you wanted
people to use your stuff, you had to keep moving.

NetBSD did not have this.  Partly due to lack of people, and partly due
to a more corporate mentality, projects were often locked.  One person
would say they were working on a project, and everyone else would be
told to refer to them.  Often these projects stagnated, or never
progressed at all.  If they did, the motivators were often very slow.
As a result, many important projects have moved at a glacial pace, or
never materialized at all.

I'm sorry to say that I helped create this problem, and that most of the
projects which modeled themselves after NetBSD (probably due to its high
popularity in 1993 and 1994) have suffered similar problems.  FreeBSD
and XFree86, for example, have both forked successor projects (Dragonfly
and X.org) for very similar reasons.

Unfortunately, these problems still exist in the NetBSD project today,
and nothing is being done to fix them.

--

I won't attempt to pin blame on any specific people for this, except to
say that some of it is definitely my fault.  It's only in retrospect
that I see so clearly the need for a very strong leader.  Had I pursued
it 10 years ago, things might be very different.  Such is life.  But
let's talk about the situation today.

Today, the project is run by a different cabal.  This is the result of a
coup that took place in 2000-2001, in which The NetBSD Foundation was
taken over by a fraudulent change of the board of directors.  (Note:
It's probably too late for me to pursue any legal remedy for this,
unfortunately.)  Although The NetBSD Project and The NetBSD
Foundation were intended from the start to be separate entities -- the
latter supplying support infrastructure for the former -- this
distinction has been actively blurred since, so that the current board
of TNF has rather tight control over many aspects of TNP.

Were TNF comprised of a good set of leaders, this situation might be
somewhat acceptable -- though certainly not ideal.  The problem is,
there are really no leaders at this point.  Goals for releases are not
based on customer feedback or looking forward to future needs, but
solely on the basis of what looks like it's bubbled up enough that it
might be possible to finish in time.  There is no high-level direction;
if you ask what about the problems with threads or will there be a
flash-friendly file system, the best you'll get is we'd love to have
both -- but no work is done to recruit