Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Feb 2001 06:06:35 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        jcm@FreeBSD-uk.eu.org (j mckitrick)
Cc:        freebsd-chat@FreeBSD.ORG
Subject:   Re: Netscape story
Message-ID:  <200102220606.XAA07799@usr05.primenet.com>
In-Reply-To: <20010221212930.A11954@dogma.freebsd-uk.eu.org> from "j mckitrick" at Feb 21, 2001 09:29:31 PM

next in thread | previous in thread | raw e-mail | index | archive | help
> I hate to dredge this up, but is there anywhere I can find a succinct
> version of what killed the open source Netscape development model?  I know
> they went OS to stay alive after losing to IE, but all I ever hear people
> say is 'not like the Mozilla development model' and 'after Netscape became 
> a mess' and remarks like this.

Mozilla is still around, so it wasn't killed.


> What went wrong?

It wasn't working code.

People complain and blame a lot of things on the model, but it's
not what's at fault.

The number one issue that resulted in the projects lack of
momentum, I think, is that Netscape released partial code,
instead of releasing something that worked on at least one
platform after you typed "make"; platform rivalry would have
taken care of the porting, if it could have been demonstrated
on a single platform common to a large enough group of software
developers.

I'll give a success example.

From my own experience, the University of Michigan LDAP code
languished for a long time.  It would not build and run on
Linux, BSD, or Windows, so there was no large developer base.

Most of the commercial LDAP servers, including Netscape's,
were derived from this code, until relatively recently (IBM
and Novell have their own implementations on top of their
own non-LDAP directory servers, now).

Critical Angle collected many of the patches posted to Usenet
or put up for FTP over the years, but kept them seperate.  I
don't think that this was an intentional attempt to favor
their own product, it was just how they were organized.

As part of some research I was tasked with at Whistle, I took
the Critical Angle patches, and all the other patches I could
find, and manually applied them one by one and hand resolved
all conflicts between them, which happened frequently when they
touched the same section of code.  I then went through and
added some of my own patches, which fixed aggregious portability
errors in the code, and made in run with both standard and Draft 4
compliant pthreads.  The process was similar to the patchkit
process I created for 386BSD, without the attempt to keep the
patches seperate, or build shell scripts to create a poor man's
source control system to deal with them, and knowing that
someone else had already done the job of making it work on at
least a large subset of PCs.

The original UMICH code pretty much had a lot of unacceptable
bugs, even on its reference platform, which required patches to
keep it from spinning and eating all the CPU time.

Some patches to FreeBSD's pthreads to bring it into full
compliance with Draft 4 came out of all this, most of them partly
or wholly written by Jeremy Allison.

When all was done, I had something that would run on many more
platforms (SGI and OSF were Draft 4 pthreads implementations, for
example, and any BSD derived system would have failed over the
use of the incorrect maximum number of descriptors argument to
select).  It totalled ~120k of patches.

Kurt Zelinga later started the OpenLDAP project; if you look at
their CVS tree, which is online at their site, you'll see that
almost the very first thing they did after importing the UMICH
code was to import "the FreeBSD LDAP patches".

I was encouraging of the project, but I didn't want to get
involved at a "project founder" level.  I thought that LDAPv3
was going to be the nail in the coffin, and Whistle wasn't
going to pay me to work on the code.  Without a commercially
funded contributor, I thought the complexity of the v3 protocol
was going to drive implementation out of the realm of possibility
for an Open Source project.  Happily, Kurt has found a model
which works; while it doesn't get a huge number of people hacking
on the code, it is capable of much more complex tasks than the
FreeBSD or Linux model.  I like it when I'm proven wrong for
having too low a level of expectations; it happens rarely.

I posit that the OpenLDAP project would not have happened
without working code, just as a bootable BSD based OS would
not have happened without Bill Jolitz's release of 386BSD.


Here's the dirty secret or bottom line:

Most Open Source projects are run by tinkers.  It's an important
point.  Most people involved in these projects would, had
computers never been invented, be working on souping up their
cars (or boats), drag racing the things they've built, and in
general, tinkering.  Some of these tinkers turn out to be race
car mechanics; most of them don't.  Some projects build the best
race cars, with a small team of race car mechanics.  Most end up
with a lot of shade tree mechanics, and will, like as not, chase
off race car mechanics as threatening to turn their hobby into
work.

So to start an Open Source project requires some thought, and
it requires a license that's not aggregious, and is at least
commercial utilization (not use) neutral, and it requires a
central point for the community to communicate and grow up
around (technically: a Schelling point).  It requires that it
have a structure that can handle the level of complexity of the
problem it's attempting to address, or it requires the ability
to get a commercial organization to pay a trained mechanic to
do something which is beyond the ability of even a gifted tinker.

You can even design the society that you'll end up with, once
the strong initial contributors are no longer there, so that the
project won't crap out when they're gone.

Frankly, these are easy.

The one thing it absolutely cannot do without, though, is working
code with which to tinker.

Mozilla is lucky in one sense that Netscape was willing to keep
it on life support by commiting developement resources to it
until the donor organs finally showed up.  It's unlucky in that
many, many people got to see what was, to all appearances, a
corpse, for a very long time.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-chat" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200102220606.XAA07799>