This is start of a new feature of metacool, which I’m calling Design Manifestos. These are pieces of design thinking that really had (or continue to have) a big impact on my own thinking. Longer than a Thought of the Day, many more words than an Unabashed Gearhead Gnarlyness entry.
A great place to start is Eric Raymond’s The Cathedral and the Bazaar, a wonderful essay about the "bazaar" (AKA "open source") approach to creating cool stuff. Please do read it, but in case you can’t, here are my favorite bits:
- "…you often don’t really understand the
problem until after the first time you implement a solution. The
second time, maybe you know enough to do it right. So if you want to
get it right, be ready to start over at least once."
- "…I think Linus’ cleverest and most consequential hack was not
the construction of the Linux kernel itself, but rather his invention
of the Linux development model."
- "Release early. Release often. And listen to your customers."
- "Given enough eyeballs, all bugs are shallow… In the cathedral-builder view of programming, bugs
and development problems are tricky, insidious, deep phenomena.
It takes months of scrutiny by a dedicated few to develop confidence
that you’ve winkled them all out. Thus the long release intervals,
and the inevitable disappointment when long-awaited releases are not
perfect. In the bazaar view, on the other hand, you assume that bugs are
generally shallow phenomena – or, at least, that they turn shallow
pretty quick when exposed to a thousand eager co-developers pounding on
every single new release. Accordingly you release often in order to
get more corrections, and as a beneficial side effect you have less to
lose if an occasional botch gets out the door."
- "Often, the most striking and innovative solutions
come from realizing that your concept of the problem was wrong."
- "I think it is not critical that the coordinator be able to originate
designs of exceptional brilliance, but it is absolutely critical that
the coordinator be able to recognize good design ideas from others."
These are great thoughts about the process of creating good stuff. It’s important to keep in mind that this isn’t just about software. The challenge is to figure out how to make the bazaar part of your own way of getting things done.