Subject: Re: libpthread
To: Lennart Augustsson <lennart@augustsson.net>
From: Frank van der Linden <fvdl@netbsd.org>
List: current-users
Date: 06/21/2003 01:48:51
On Sat, Jun 21, 2003 at 01:25:23AM +0200, Lennart Augustsson wrote:
> Yes, it's Linux way.  Get with the times. :-)

Ok, let me dignify this with a reaction.. at least Lennart has made
significant contributions to NetBSD.

NetBSD had no native threading support. Calls for it to became louder.
Fortunately, Nathan did an implementation, based on documented principles
(he also wrote a paper about it himself). He worked on it, and committed
it to a CVS branch, where he developed it further. Unfortunately, no
other developers got involved, except to write the machine-dependent
stubs, and Jason made some MI changes. So progress wasn't that quick.

People got impatient, and wanted to see the code merged in, syncing
the branch got harder and harder, and other major changes to the
kernel always had the nathanw_sa branch shadow cast over them,
so they got stalled. The code was pretty stable in Nathan's tests.
Not many other people tested it, as often happens with branches.
Users and developers often do not have the time or resources
to run a branch.

So, the best decision was to bring the code on to the mainline, and
shake out the remaining problems there. Unfortunately the participation
of other developers, while increased, wasn't enough to fix some issues
quickly. Hence, there are some serious issues left.

Now, consider the alternatives:

	1) It should have been left on the branch longer, to shake
	   out the problems

	   That would mean that it would still be on a branch today,
	   mostly only tested by one person. This had been the
	   situation for over a year before the merge, it wasn't
	   going to change. Result: stagnation in both the threading
	   code, and other major kernel changes.

	2) Back it out, after the problems became apparent.

	   "Yeah, right." Do you know what a pain that would have been?
	   Also, it would simply bring you back to 1).

	3) Have no native thread support.

	   Err.. "*BSD is dying".

Now, if you know a better way to deal with this in a volunteer project,
please make it known, so that we can all learn from it. I can't think
of a better alternative.

But at least, stop taking cheap shots.

- Frank

-- 
Frank van der Linden                                            fvdl@netbsd.org
===============================================================================
NetBSD. Free, Unix-like OS. > 45 different platforms.    http://www.netbsd.org/