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) as an example: although the source code was provided to the public with each release of the software, the code being developed between releases was restricted to a small group of core developers. This is also the typical development model for proprietary software, with the additional restriction that source code is not provided even during 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 central argument in the essay is Raymond's proposition that Given enough eyeballs, all bugs are shallow (Linus's Law): 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 to convince most existing open source and free software projects to adopt "Bazaar"-style open development models.
External References
- The essay can be read at http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/
- Not everyone agrees with Raymond. Here is a rebuttal essay: http://www.firstmonday.dk/issues/issue4_12/bezroukov/
- Raymond rebutted the rebuttal: http://www.catb.org/~esr/writings/response-to-bezroukov.html