Limits of Linus’s Law
In his paper, Raymond highlighted the greatest advantage of the open source model for software development: It dramatically increases the speed with which problems, or bugs, are uncovered and fixed. When only a relatively small number of programmers work on a complex program, debugging consumes huge amounts of time and causes lots of delays — and many bugs still manage to sneak through. When you mobilize hundreds or thousands of people, however, they find and fix bugs much more quickly and thoroughly. It’s not all that different from, say, an Easter egg hunt. If you hide 100 eggs and have two children search for them, you’ll wait a long time for them to finish, and a lot of the eggs will likely remain undiscovered. If you put two dozen kids to work, however, they’ll locate all the eggs in no time. Raymond condensed this simple idea into an aphorism that would become his paper’s most famous line: “Given enough eyeballs, all bugs are shallow.” He called it Linus’s Law, after Linus Torvalds, Linux’s founder and presiding genius.
The power that a crowd of contributors has to solve problems derives not just from its sheer size, although that is important, but from its diversity. It’s only because the members of the crowd have, as Raymond put it, “differing agendas and approaches” that they’re so effective at finding so many bugs (or so many Easter eggs) so quickly. If the participants shared similar outlooks, they’d all end up looking for the same things in the same places. What an unorganized, fairly random group of people provides is not just a lot of eyeballs but a lot of different ways of seeing. As University of Michigan professor Scott Page writes in his new book, The Difference: How the Power of Diversity Creates Better Groups, Firms, Schools, and Society (Princeton University Press, 2007), “When solving problems, diversity may matter as much as, or even more than, individual ability.”
Raymond also made another, very important observation. What makes the open source model so well suited to finding and fixing software flaws is that debugging is a task that requires little coordination among workers. Debuggers are able to sift through chunks of code in isolation — whether “splendid” or not — without knowing or caring what their fellow bug finders are doing. “Debugging,” as Raymond puts it, “is parallelizable.” All the debuggers have to do is communicate their findings and fixes to some central authority, like Linus Torvalds. The central authority takes care of synthesizing the work of the crowd, choosing the best contributions, melding them together into a coherent product, and then redistributing the work to the crowd for the next go-round.
But in Raymond’s observation, we also begin to see some of the limitations of the bazaar. First, peer production works best with routine or narrowly defined tasks that can be pursued simultaneously by a big crowd of people. It is not well suited to a job that requires a lot of coordination among the participants. If members of a large, informal group had to coordinate their efforts closely, their work would quickly bog down in complexity. The crowd’s size and diversity would turn from a strength to a weakness, and the speed advantage would be lost. Second, because it requires so many “eyeballs,” open source works best when the labor is donated or partially subsidized. If Linus Torvalds had had to compensate all his “eyeballs,” he would have gone broke long ago.
Third, and most important, the open source model — when it works effectively — is not as egalitarian or democratic as it is often made out to be. Linux has been successful not just because so many people have been involved, but because the crowd’s work has been filtered through a central authority who holds supreme power as a synthesizer and decision maker. As the Linux project has grown, Torvalds has gathered a hierarchy of talented software programmers around him to help manage the crowd and its contributions. It’s not a stretch to say that the Linux bureaucracy forms a cathedral that coordinates the work of the bazaar and molds it into a unified product.