Papyros

Archive / essay

The Cathedral and the Bazaar

Given enough eyeballs, all bugs are shallow.

Two models

Raymond names two ways software gets built. The cathedral is built by a small priesthood of developers in private, releases polished and rare, the scaffolding hidden until the work is done. The bazaar is a noisy public market, many hands, frequent releases, source open to all, no single plan visible from above.

Conventional wisdom said the cathedral must win. Complexity demands control; control demands a small, coordinated team. The Linux kernel suggested otherwise, and Raymond set out to understand why.

Lessons from fetchmail

The essay's spine is Raymond's own experiment running a bazaar-style project. The observations became aphorisms:

  • Every good work of software starts by scratching a developer's personal itch.
  • Release early, release often. Treat your users as co-developers and they will debug for you.
  • Given a large enough base of testers, almost every problem will be characterized quickly and the fix obvious to someone, Linus's Law.

Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.

The real claim

The deep argument is not about licensing. It is about how complexity is tamed. The cathedral hides complexity behind a wall; the bazaar metabolizes it in the open, turning a crowd's attention into a debugging engine. The coordination cost that should have made the bazaar collapse is paid, instead, by the low cost of communication on the early internet.

Reading it from here

A quarter-century on, the romance has been complicated, by corporate stewardship, maintainer burnout, and the security cost of dependencies no single person reads. Read this not as gospel but as the opening move in a long argument about how groups of strangers can build reliable things. That argument is still running.