The Cathedral and the Bazaar
By the time Linux swam onto my radar screen in early 1993, I had already been involved in Unix and open-source development for ten years. I was one of the first GNU contributors in the mid-1980s. I had released a good deal of open-source software onto the net, developing or co-developing several programs (nethack, Emacs’s VC and GUD modes, xlife, and others) that are still in wide use today. I thought I knew how it was done.
Linux overturned much of what I thought I knew. I had been preaching the Unix gospel of small tools, rapid prototyping, and evolutionary programming for years. But I also believed there was a certain critical complexity above which a more centralized, a priori approach was required. I thought that the most important software (operating systems and extensive tools like the Emacs programming editor) needed to be built like cathedrals, carefully crafted by individual wizards or small bands of mages working in splendid isolation, with no beta to be released before its time.
Linus Torvalds’s style of development early and often, delegating everything you can and being open to the point of promiscuity, came as a surprise. There was no quiet, reverent cathedral-building here; instead, the Linux community seemed to resemble a grand babbling bazaar of differing agendas and approaches (aptly symbolized by the Linux archive sites, who’d take submissions from anyone) out of which a coherent and stable system could seemingly emerge only by a succession of miracles.
The fact that this bazaar style seemed to work and work well came as a distinct shock. As I learned my way around, I worked hard not just at individual projects but also at trying to understand why the Linux world didn’t fly apart in confusion and seemed to go from strength to strength at a speed barely imaginable to cathedral-builders.
By mid-1996, I thought I was beginning to understand. Chance handed me a perfect way to test my theory: an open-source project that I could consciously try to run in the bazaar style. So I did, and it was a significant success.
This is the story of that project. I’ll use it to propose some aphorisms about effective open-source development. Not all of these are things I first learned in the Linux world, but we’ll see how the Linux world makes them a particular point. If I’m correct, they’ll help you understand exactly what makes the Linux community such a fountain of good software. Perhaps they will help you become more productive yourself.
Read or download Book
Eric S. Raymond
Eric Steven Raymond (born December 4, 1957), often referred to as ESR, is an American software developer, open-source software advocate, and author of the 1997 essay and 1999 book The Cathedral and the Bazaar.
Biography.
He wrote a guidebook for the Roguelike game NetHack. In the 1990s, he edited and updated the Jargon File, published as The New Hacker’s Dictionary.
Early life
Raymond was born in Boston, Massachusetts, in 1957 and lived in Venezuela as a child. His family moved to Pennsylvania in 1971. He developed cerebral palsy at birth; his weakened physical condition motivated him to go into computing.
Career
Raymond began his programming career writing proprietary software between 1980 and 1985. In 1990, noting that the Jargon File had not been maintained since about 1983, he adopted it, but not without criticism; Paul Dourish maintains an archived original version of the Jargon File because, he says, Raymond’s updates “essentially destroyed what held it together.”
In 1996, Raymond took over developing the open-source email software “pop client” and renamed it Fetchmail. Soon after this experience, in 1997, he wrote the essay “The Cathedral and the Bazaar”, detailing his thoughts on open-source software development and why it should be done as openly as possible (the “bazaar” approach). The essay was based in part on his experience in developing Fetchmail. He first presented his thesis at the annual Linux Kongress on May 27, 1997. He later expanded the essay into a book, The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary, in 1999. The essay has been widely cited. The internal white paper by Frank Hecker that led to the release of the Mozilla (then Netscape) source code in 1998 cited The Cathedral and the Bazaar as “independent validation” of ideas proposed by Eric Hahn and Jamie Zawinski. Hahn would later describe the 1999 book as “clearly influential”.
From the late 1990s onward, due in part to the popularity of his essay, Raymond became a prominent voice in the open-source movement. He co-founded the Open Source Initiative (OSI) in 1998, taking on the self-appointed role of ambassador of open source to the press, business, and public. He remains active in OSI but stepped down as president of the initiative in February 2005. In early March 2020, he was removed from two Open Source Initiative mailing lists due to posts that violated the OSI’s Code of Conduct.
In 1998, Raymond received and published a Microsoft document expressing worry about the quality of rival open-source software. He named this document, together with others subsequently leaked, “The Halloween Documents”.
From 2000 to 2002, he created Configuration Menu Language 2 (CML2), a source code configuration system; while originally intended for the Linux operating system, it was rejected by kernel developers. (Raymond attributed this rejection to “kernel list politics”, but Linus Torvalds said in a 2007 mailing list post that, as a matter of policy, the development team preferred more incremental changes.) Raymond’s 2003 book The Art of Unix Programming discusses user tools for programming and other tasks.
Some versions of NetHack still include Raymond’s guide. He has also contributed code and content to the free software video game The Battle for Wesnoth.
Raymond is the leading developer of NTPsec, a “secure, hardened replacement” for the Unix utility NTP.