httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: NSPR: Mozilla post-mortem?
Date Tue, 06 Apr 1999 15:18:01 GMT

Looks like (G)othra may have gotten (M)ozilla...

Here is Jamie's resignation letter as of a few days ago.

Interesting read. He has not soured on
open source ( read last paragraph ) but
there may be some lessons here for Apache...
especially with regards to recent discussions about
'incorporating Apache'.

Sorry about the length of the post but this comes
directly from Jamie's site and he put a (C) Copyright 
symbol on it which means any reproduction of the
document should/must not be altered.

Source URL:


resignation and postmortem.
(c) 1999 Jamie Zawinski <>

April 1st, 1999 will be my last day as an employee of the Netscape
Communications division of America Online, and my last day working for
Netscape has been a great disappointment to me for quite some time. When we
started this company, we were out to change the world. And we did that.
Without us, the change probably would have happened anyway, maybe six months
or a year later, and who-knows-what would have played out differently. But
we were the ones who actually did it. When you see URLs on grocery bags, on
billboards, on the sides of trucks, at the end of movie credits just after
the studio logos -- that was us, we did that. We put the Internet in the
hands of normal people. We kick-started a new communications medium. We
changed the world.
But we did that in 1994 and 1995. What we did from 1996 through 1999 was
coast along, riding the wave caused by what we did before.
Why? Because the company stopped innovating. The company got big, and big
companies just aren't creative. There exist counterexamples to this, but in
general, great things are accomplished by small groups of people who are
driven, who have unity of purpose. The more people involved, the slower and
stupider their union is.
And there's another factor involved, which is that you can divide our
industry into two kinds of people: those who want to go work for a company
to make it successful, and those who want to go work for a successful
company. Netscape's early success and rapid growth caused us to stop getting
the former and start getting the latter.
In January 1998, Netscape hit one of of its blackest periods -- the first
round of layoffs. It was quite a wake-up call. Netscape, darling of the
computer industry, the fastest-growing company in the world, was not
More concretely, this was when we realized that we had finally lost the so
called ``browser war.'' Microsoft had succeeded in destroying that market.
It was no longer possible for anyone to sell web browsers for money. Our
first product, our flagship product, was heading quickly toward irrelevance.
And then the unexpected happened: the executive staff decided to release the
source code. I won't re-hash the history of the creation of the
project, but suffice it to say that, coming as it did only two weeks after
the layoffs, it was a beacon of hope to me. Here was Netscape doing
something daring again: here was the company making the kind of change in
strategy that I never thought they'd be able to make again. An act of
desperation? Perhaps, but still a very interesting and unexpected one. It
was so crazy, it just might work. I took my cue and ran with it, registering
the domain that night, designing the structure of the organization, writing
the first version of the web site, and, along with my co-conspirators,
explaining to room after room of Netscape employees and managers how free
software worked, and what we had to do to make it work.
At this point, I strongly believed that Netscape was no longer capable of
shipping products. Netscape's engineering department had lost the
single-minded focus we once had, on shipping something useful and doing it
fast. That was no longer happening. Netscape was shipping garbage, and
shipping it late.
And daring move or no, this was not going to change: Netscape no longer had
the talent, either in engineering or management, to ship quality products.
The magic was gone, as the magicians had either moved on to more compelling
companies, or were having their voices lost in the din of the crowd, swamped
by the mediocrity around them.
The Netscape I cared about was dead.
But I saw as a chance to jettison an escape pod -- to give the
code we had all worked so hard on a chance to live on beyond the death of
Netscape, and chance to continue to have some relevance to the world.
Beyond that, I saw it as a chance for the code to actually prosper. By
making it not be a Netscape project, but rather, be a public project to
which Netscape was merely a contributor, the fact that Netscape was no
longer capable of building products wouldn't matter: the outsiders would
show Netscape how it's done. By putting control of the web browser into the
hands of anyone who cared to step up to the task, we would ensure that those
people would keep it going, out of their own self-interest.
But that didn't happen. For whatever reason, the project was not adopted by
the outside. It remained a Netscape project. Now, this was still a positive
change -- it meant that Netscape was developing this project out in the
open, in full view of the world, and the world was giving important and
effective feedback. Netscape made better decisions as a result.
But it wasn't enough.
The truth is that, by virtue of the fact that the contributors to the
Mozilla project included about a hundred full-time Netscape developers, and
about thirty part-time outsiders, the project still belonged wholly to
Netscape -- because only those who write the code truly control the project.
And here we are, a year later. And we haven't even shipped a beta yet.
In my humble but correct opinion, we should have shipped Netscape Navigator
5.0 no later than six months after the source code was released. But we (the group) couldn't figure out a way to make that happen. I accept
my share of responsibility for this, and consider this a personal failure.
However, I don't know what I could have done differently.
I can come up with a litany of excuses and explanations for why we are so
late (heaven knows I've been making these excuses to the media for half the
lifetime of the project.) Some of them are:
Excuse #1:
It's a really large project, and it takes a long time for a new developer to
dive in and start contributing.
Excuse #1a:
Because of this, what happens is, someone will try to make a small change,
find that it's taking them longer than a few hours, and will give up and do
something else instead.
Excuse #2:
People only really contribute when they get something out of it. When
someone is first beginning to contribute, they especially need to see some
kind of payback, some kind of positive reinforcement, right away. For
example, if someone were running a web browser, then stopped, added a simple
new command to the source, recompiled, and had that same web browser plus
their addition, they would be motivated to do this again, and possibly to
tackle even larger projects.
We never got there. We never distributed the source code to a working web
browser, more importantly, to the web browser that people were actually
using. We didn't release the source code to the most-previous-release of
Netscape Navigator: instead, we released what we had at the time, which had
a number of incomplete features, and lots and lots of bugs. And of course we
weren't able to release any Java or crypto code at all.
What we released was a large pile of interesting code, but it didn't much
resemble something you could actually use.
Excuse #3:
The code was just too complicated and crufty and hard to modify, which is
why people didn't contribute. This was a believable excuse for a while,
which is why, six months ago, we switched from the old layout engine to the
new layout engine (Gecko/Raptor). By being a cleaner, newly-designed code
base, so the theory went, it was going to be easier for people to understand
and contribute. And this did get us more contributors. But it also
constituted an almost-total rewrite of the browser, throwing us back six to
ten months. Now we had to rewrite the entire user interface from scratch
before anyone could even browse the web, or add a bookmark.
Excuse #4:
It didn't contain a mail reader. There is surely a large class of users who
would be interested in working on Communicator that are less interested in
Navigator, but we never really found that out, since we never shipped the
source code to communicator (for a number of reasons, none very good, some
downright pathetic.) Now, as a result of the Gecko/Raptor rewrite, the
mail/news reader is being rewritten as well. Maybe it will even ship
Excuse #5:
Netscape failed to follow through on their own plans. During 1998, Netscape
sunk a huge amount of engineering effort into doing the 4.5 release: working
on a dead-end proprietary code base, the source of which would never be
released to the world, and would never benefit from open source development.
This was a huge blow to the Mozilla project, since for the first half of the
year, we weren't even getting full-time participation from Netscape.
This isn't even so much an excuse as a stupid, terrible mistake, considering
we should have learned our lessons about doing parallel development like
this in the past, with the abortive ``Javagator'' project.
The worst part about all this is, for the last year, I've spent much of my
time striving to convince people that is not I've
told people again and again that the organization does not serve
only the desires of the Netscape client engineering group, but rather,
serves the desires of all contributors to the Mozilla project, no matter who
they are. And that's certainly true. But the fact is, there has been very
little contribution from people who don't work for Netscape, making the
distinction somewhat academic.
Now, to be fair, in this first year, we did do some very good things:
* We showed the world how to operate a large software project out in the
open. Whatever else happened, we did maintain a high level of communication
between geographically and organizationally separate contributors and other
interested parties. We transitioned from a secretive and proprietary
development model to a very public one. We showed that it can be done.
* Though we didn't get a whole lot of participation in the form of source
code, we did get a lot of feedback about the directions the software was
going. And the right feedback at the right time can easily be far more
valuable than source code. By doing development out in the open, and
``living in a fishbowl,'' I believe that Netscape made better decisions
about the directions of development than would have been made otherwise.
* We released the source code to a number of ancillary tools, such as our
bug system, source-control interface, and build tools. These are very good
(and complete!) tools in their own right. Though they were critical to us in
the development of Mozilla, and we created them in support of Mozilla, they
are not tied to Mozilla, and others are finding them useful with their own
non-Mozilla-related projects. These tools, and the development model they
represent, are a valuable contribution in their own right.
* And merely by being who we are and doing what we did, we played a big part
in bringing the whole open source development model to the attention of the
world at large. We didn't start the mainstream media interest in open source
(Linux did that, mostly), but I think we did legitimize it in the eyes of a
lot of people, and we did tell the story very well. Lending the Netscape
name to this software development strategy brought it to the attention of
people who might otherwise have dismissed it.
But despite all this, in the last year, we did not accomplish the goals that
I wanted to accomplish. We did not take the Mozilla project and turn it into
a network-collaborative project in which Netscape was but one of many
contributors; and we did not ship end-user software. For me, shipping is the
Perhaps my goals were unreasonable; perhaps it should have been obvious to
me when we set out on this project that it would take much longer than a
year to reach these goals, if we ever did. But, it wasn't obvious to me
then, or now. These are the goals I was aiming for, and they have not yet
been met.
And so I'm giving up.
The Mozilla project has become too depressing, and too painful, for me to
continue working on. I wanted Mozilla to become something that it has not,
and I am tired of fighting and waiting to make it so. I have felt very
ineffectual, and that's just not a good feeling.
For those of you who choose to continue, I wish you all the best of luck.
I must say, though, that it feels good to be resigning from AOL instead of
resigning from Netscape. It doesn't really feel like quitting at all. I was
the 20th person hired at Mosaic Communications Corporation (All Praise the
Company), and of those twenty, only five remain. The company I helped build
has been gone for quite some time. We, Netscape, did some extraordinary
things. But we could have done so much more. I feel like we had a shot at
greatness, and missed.
My biggest fear, and part of the reason I stuck it out as long as I have, is
that people will look at the failures of as emblematic of open
source in general. Let me assure you that whatever problems the Mozilla
project is having are not because open source doesn't work. Open source does
work, but it is most definitely not a panacea. If there's a cautionary tale
here, it is that you can't take a dying project, sprinkle it with the magic
pixie dust of ``open source,'' and have everything magically work out.
Software is hard. The issues aren't that simple.
Jamie Zawinski, 31-Mar-1999

View raw message