This paper was improved by conversations with a large number of people who helped debug it. Particular thanks to Jeff Dutky <[email protected]>, who suggested the ``debugging is parallelizable'' formulation, and helped develop the analysis that proceeds from it. Also to Nancy Lebovitz <[email protected]> for her suggestion that I emulate Weinberg by quoting Kropotkin. Perceptive criticisms also came from Joan Eslinger <[email protected]> and Marty Franz <[email protected]> of the General Technics list. Glen Vandenburg <[email protected]> pointeed out the importance of self-selection in contributor populations and suggested the fruitful idea that much development rectifies `bugs of omission'; Daniel Upper <[email protected]> suggested the natural analogies for this. I'm grateful to the members of PLUG, the Philadelphia Linux User's group, for providing the first test audience for the first public version of this paper. Paula Matuszek <[email protected]> enlightened me about the practice of software management. Phil Hudson <[email protected]> reminded me that the social organization of the hacker culture mirrors the organization of its software, and vice-versa. Finally, Linus Torvalds's comments were helpful and his early endorsement very encouraging.