[om-list] Re: The Rise of Worse is Better
Mark Butler
butlerm at middle.net
Sun Dec 8 00:35:54 EST 2002
"Worse-is-better" is a pretty provocative name for this phenomenon, but
I agree with the basic principle. This reminds me of a scripture:
For which of you, desiring to build a tower, does not first sit
down and count the cost, whether he has enough to complete it?
Otherwise, when he has laid a foundation, and is not able to finish,
all who see it begin to mock him, saying, 'This man began to build,
and was not able to finish.' - Luke 14:28-29
I don't think that this means we should never build towers, but rather
we should scale the tower to our resources - not just monetary, but
mental and social resources as well. In software development this often
means incremental refinement rather than trying to accomplish everything
in one big bang (as admirable as that may be). Software technology is
so incredibly complex that it often seems that we are barely
accomplishing things that we knew how to do thirty years ago - not
because we don't know how, but rather because of the sheer effort and
mutual cooperation involved.
I think the genius of the open source software movement is not in
producing software that is necessarily better in every respect than
closed software - in narrow fields that may never be the case - but
rather in creating a common technological base that anyone can build on.
The interesting thing is building a consensus tends to be a very
conservative process - Unix / C represent consensus not because they are
the leading edge, but rather because they are well understood by the
greatest number of people.
Lots of observers lament that no new programming language can be really
successful unless it has syntax similar to C. But is this a bad thing?
Would anyone expect a replacement for English to be successful
overnight if it had no grammar or vocabulary in common? Neither C++,
Java, nor C# are the be-all-and-end-all of programming languages, but
they are successful because they are evolutions rather than revolutions.
Revolutions are nice if you can pull them off, but generally rarely
succeed. This is particularly true in infrastructure software like
operating systems, languages, and databases, though considerably less so
in application software. You might say that both Unix and American
democracy are classic examples of "worse-is-better". Making an
improvement to either is not so much a matter of technical superiority,
but rather one of persuading everyone else to go along.
- Mark
Luke Call wrote:
> Thanks Mark, that is an enjoyable read and one of those things likely
> to get filed away mentally for later pondering or mental connections.
> Getting something working does seem much more successful than getting
> it "perfect" too, and Unix/C people in a way seem like the ultimate
> pragmatists, for some things. And the answer for which is the "right"
> tool to use still seems to be always "it depends".....
>
> Just my first, pedestrian, ruminations....
>
> Luke
>
>
More information about the om-list
mailing list