The Cathedral and the Bazaar

Eric Raymond’s 1999 essay The Cathedral and the Bazaar contrasts two ways of building software.

The cathedral: A small team builds in private. Releases are infrequent and polished. Users get the finished product. Think traditional commercial software - controlled, planned, slow.

The bazaar: Development happens in the open. Anyone can contribute. Releases are early and often. Users and developers blur together. Think Linux, and most successful open source since.

Raymond’s key insight was that the bazaar shouldn’t work, but it does. Conventional wisdom said you needed careful coordination and controlled access to build quality software. Linux proved otherwise.

Some of the ideas that stuck:

“Given enough eyeballs, all bugs are shallow.” With many people looking at the code, problems get found and fixed faster than any small team could manage. This only works if the code is actually visible to many eyeballs.

Release early, release often. Don’t wait for perfect. Ship, get feedback, iterate. Users are your best testers if you let them test.

Treat users as co-developers. The line between user and contributor doesn’t have to be sharp. Someone who reports a bug well is contributing. Someone who fixes it is contributing more.

The essay is a product of its time - some of the examples feel dated, and open source has evolved since. But the core observation holds: distributed collaboration at scale works better than it has any right to, and closed development has costs that aren’t always obvious.