HOME

TheInfoList



OR:

''The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary'' (abbreviated ''CatB'') is an essay, and later a book, by Eric S. Raymond on
software engineering Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
methods, based on his observations of the Linux kernel development process and his experiences managing an open source project,
fetchmail Fetchmail is an open-source software utility for POSIX-compliant operating systems which is used to retrieve e-mail from a remote POP3, IMAP, or ODMR mail server to the user's local system. It was developed from thpopclientprogram, written by Ca ...
. It examines the struggle between top-down and bottom-up design. The essay was first presented by the author at the
Linux Kongress The Linux Kongress was an annual conference of Linux developers from around the world, that took place every year from 1994 to 2010. It started as a two-day conference in 1994, when Linux was in the early stages of development, and by 2003 had becom ...
on May 27, 1997 in
Würzburg Würzburg (; Main-Franconian: ) is a city in the region of Franconia in the north of the German state of Bavaria. Würzburg is the administrative seat of the ''Regierungsbezirk'' Lower Franconia. It spans the banks of the Main River. Würzburg ...
(Germany) and was published as the second chapter of the sametitled book in 1999. The illustration on the cover of the book is a 1913 painting by
Liubov Popova Lyubov Sergeyevna Popova (russian: Любо́вь Серге́евна Попо́ва; April 24, 1889 – May 25, 1924) was a Russian-Soviet avant-garde artist, painter and designer. Early life Popova was born in Ivanovskoe, near Moscow, to t ...
titled ''Composition with Figures'' and belongs to the collection of the
State Tretyakov Gallery The State Tretyakov Gallery (russian: Государственная Третьяковская Галерея, ''Gosudarstvennaya Tretyâkovskaya Galereya''; abbreviated ГТГ, ''GTG'') is an art gallery in Moscow, Russia, which is considered th ...
. The book was released under the Open Publication License v2.0 in 1999.cathedral-bazaar
/ref>


"The Cathedral and the Bazaar"

The essay contrasts two different
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
development models: * The ''
Cathedral A cathedral is a church that contains the '' cathedra'' () of a bishop, thus serving as the central church of a diocese, conference, or episcopate. Churches with the function of "cathedral" are usually specific to those Christian denominatio ...
'' model, in which
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the w ...
is available with each software release, but code developed between releases is restricted to an exclusive group of software developers. GNU Emacs and GCC were presented as examples. * The '' Bazaar'' model, in which the code is developed over the
Internet The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a '' network of networks'' that consists of private, pub ...
in view of the public. Raymond credits
Linus Torvalds Linus Benedict Torvalds ( , ; born 28 December 1969) is a Finnish software engineer who is the creator and, historically, the lead developer of the Linux kernel, used by Linux distributions and other operating systems such as Android. He also ...
, leader of the Linux kernel project, as the inventor of this process. Raymond also provides anecdotal accounts of his own implementation of this model for the
Fetchmail Fetchmail is an open-source software utility for POSIX-compliant operating systems which is used to retrieve e-mail from a remote POP3, IMAP, or ODMR mail server to the user's local system. It was developed from thpopclientprogram, written by Ca ...
project. The essay's central thesis is Raymond's proposition that "given enough eyeballs, all bugs are shallow" (which he terms
Linus's law In software development, Linus's law is the assertion that "given enough eyeballs, all bugs are shallow". The law was formulated by Eric S. Raymond in his essay and book '' The Cathedral and the Bazaar'' (1999), and was named in honor of Linu ...
): the more widely available the source code is for public testing, scrutiny, and experimentation, the more rapidly all forms of bugs will be discovered. In contrast, Raymond claims that an inordinate amount of time and energy must be spent hunting for bugs in the Cathedral model, since the working version of the code is available only to a few developers.


Lessons for creating good open source software

Raymond points to 19 "lessons" learned from various software development efforts, each describing attributes associated with good practice in open source software development: #Every good work of software starts by scratching a developer's personal itch. #Good programmers know what to write. Great ones know what to rewrite (and reuse). #Plan to throw one ersionaway; you will, anyhow (copied from Frederick Brooks's ''
The Mythical Man-Month ''The Mythical Man-Month: Essays on Software Engineering'' is a book on software engineering and project management by Fred Brooks first published in 1975, with subsequent editions in 1982 and 1995. Its central theme is that adding manpower to a ...
''). #If you have the right attitude, interesting problems will find you. #When you lose interest in a program, your last duty to it is to hand it off to a competent successor. #Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging. # Release early. Release often. And listen to your customers. #Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone. #Smart data structures and dumb code works a lot better than the other way around. #If you treat your beta-testers as if they're your most valuable resource, they will respond by becoming your most valuable resource. #The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better. #Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong. #Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away. (Attributed to Antoine de Saint-Exupéry) #Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected. #When writing gateway software of any kind, take pains to disturb the data stream as little as possible—and never throw away information unless the recipient forces you to! #When your language is nowhere near
Turing-complete In computability theory, a system of data-manipulation rules (such as a computer's instruction set, a programming language, or a cellular automaton) is said to be Turing-complete or computationally universal if it can be used to simulate any ...
,
syntactic sugar In computer science, syntactic sugar is syntax within a programming language that is designed to make things easier to read or to express. It makes the language "sweeter" for human use: things can be expressed more clearly, more concisely, or in an ...
can be your friend. #A security system is only as secure as its secret. Beware of pseudo-secrets. #To solve an interesting problem, start by finding a problem that is interesting to you. #Provided the development coordinator has a communications medium at least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one.


Legacy and reception

In 1998, the essay helped the final push for
Netscape Communications Corporation Netscape Communications Corporation (originally Mosaic Communications Corporation) was an American independent computer services company with headquarters in Mountain View, California and then Dulles, Virginia. Its Netscape web browser was onc ...
to release the
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the w ...
for
Netscape Communicator Netscape Communicator (or ''Netscape 4'') is a discontinued Internet suite produced by Netscape Communications Corporation, and was the fourth major release in the Netscape line of browsers. It was first in beta in 1996 and was released in June ...
and start the Mozilla project; it was cited by Frank Hecker and other employees as an outside independent validation of his arguments. Netscape's public recognition of this influence brought Raymond renown in hacker culture. When O'Reilly Media published the book in 1999 it became one of, if not the first, complete, commercially distributed books published under the Open Publication License.
Marshall Poe Marshall Tillbrook Poe (born December 29, 1961) is an American historian, writer, editor and founder of the New Books Network, an online collection of podcast interviews with a wide range of non-fiction authors. He has taught Russian, European, E ...
, in his essay "The Hive", likens
Wikipedia Wikipedia is a multilingual free online encyclopedia written and maintained by a community of volunteers, known as Wikipedians, through open collaboration and using a wiki-based editing system. Wikipedia is the largest and most-read refer ...
to the Bazaar model that Raymond defines. Jimmy Wales himself was inspired by the work (as well as arguments put forward in pre-Internet works, such as
Friedrich Hayek Friedrich August von Hayek ( , ; 8 May 189923 March 1992), often referred to by his initials F. A. Hayek, was an Austrian–British economist, legal theorist and philosopher who is best known for his defense of classical liberalism. Haye ...
's article " The Use of Knowledge in Society"), arguing that "It opened my eyes to the possibility of mass collaboration". In 1999
Nikolai Bezroukov Nikolai Bezroukov is a Senior Internet Security Analyst at BASF Corporation and was member of Computer Science at Fairleigh Dickinson University ( New Jersey, United States). Also Webmaster of Open Source Software University, a volunteer techni ...
published two critical essays on Eric Raymond's views of open source software, the second one called "A second look at ''The Cathedral and the Bazaar''". They produced a sharp response from Eric Raymond.Eric S. Raymond
Response to Nikolai Bezroukov


See also

* GNU Bazaar, a distributed version control system named to highlight its relation with the "bazaar" model * " Homesteading the Noosphere"


Notes


References

*


External links

* * {{DEFAULTSORT:Cathedral And The Bazaar, The 1997 essays 1999 non-fiction books American essays Computer science books Books about free software O'Reilly Media books Software development philosophies Software engineering papers Open Publication License-licensed works Essays by Eric S. Raymond Books by Eric S. Raymond Scientific essays Linus Torvalds