The Cathedral and the Bazaar
The Cathedral and the Bazaar is an essay by Eric Raymond on open source software engineering methods, based on his experience managing a successful open source project, fetchmail. It was first presented by the author at the Linux Kongress on May 27 1997.
The essay contrasts two different development models:
- The Cathedral model, in which access to software source code is restricted to members of the development team. Raymond used GNU Emacs (prior to version 21) and GCC (prior to the EGCS re-merge) as examples: although the source code was available with each release of the software, code developed between releases was restricted to a small and exclusive group of core developers. This is also the typical development model for proprietary software, with the additional restriction in that case that source code is usually not provided even with releases.
- The Bazaar model, in which the code is developed over the Internet in view of the public. Raymond credited Linus Torvalds as the inventor of this process, through the Linux kernel project. He also provided anecdotal accounts of his successful implementation of this model for the fetchmail project.
The essay's central thesis is Raymond's proposition that Given enough eyeballs, all bugss are shallow
(termed Linus's law
by Raymond): if the source code is available for the public to peruse, bugs will be discovered at a rapid rate. In contrast, Raymond claims that an inordinate amount of time and energy must be spent hunting for bugs in the Cathedral model, since the code is available only to a few developers.
The essay also helped convince most existing open source and free software projects to adopt Bazaar-style open development models.
The phrase itself has been extended to include non-software projects. Wikipedia is an example of a Bazaar-style project, while Nupedia or the Encyclopędia Britannica are examples of Cathedral-style project.