Reinventing Discovery_ The New Era of Networked Science - Michael Nielsen [120]
p 46 Open Architecture Network: http://www.openarchitecturenetwork.org. The Open Architecture Network was introduced in a talk by Cameron Sinclair: [198].
p 48: On open source biology, see, for example, chapter 13 of [33].
p 49: My account of the near fork of Linux is based primarily on the online Linux kernel mailing list, with some additional information from [235].
p 51: On the difficulty of making open source development modular, a comment I’ve sometimes heard from non-programmers who are interested in open source is that programming is “naturally modular.” This is a misconception, and seems to be based on a confusion in terminology. It’s true that many programming languages encourage a modular structure in development, and for small programs this makes modular design easy. But for large-scale systems such as Linux modularity means something quite different, and is much more difficult to achieve. Large-scale systems are no more naturally modular than a painting is naturally modular because paint happens to be built from modular units (molecules). Rather, modularity in large-scale software engineering requires clever design through several levels of abstraction, and that, in turns, requires a strong commitment to the principle of modularity on the part of developers.
p 52: For Linus Torvalds on modularity, see [223].
p 53: The Million Penguins blog is at http://www.amillionpenguins.com/blog/, and has links to other resources associated with the Million Penguins project, including the wiki used to write the novel. I learned of the project from [139], which ran the same excerpt from the novel I have used.
p 55: Firefox’s online issue tracker may be found at http://bugzilla.mozilla.org.
p 55: The favicon bug in Firefox is described at https://bugzilla.mozilla.org/show_bug.cgi?id=411966.
p 56 The issue tracker isn’t just for fixing bugs, it’s also used to propose and implement new features: In fact, the issue tracker is just one of several ways in which Firefox developers can propose new features. Other forums used to propose new features include an online mailing list, a wiki, and even a weekly conference phone call of Firefox developers.
p 58 more than a billion lines: This and the estimate of the rate of code growth are conservative estimates, based on work by Deshpande and Riehle [51], current as of the end of 2006.
p 58: Alan Kay’s story about Donald Knuth is from page 101 of [192].
p 59 “Good programmers code; great programmers reuse other people’s code”: Variants of this saying have floated around the open source world for years, but I haven’t been able to track down the original source. This is fitting. There’s more, too: the quote is a paraphrase of a quote often attributed to Picasso, “Good artists copy; great artists steal.” I haven’t been able to find a verifiable source for the Picasso quote, but compare T. S. Eliot’s “Immature poets imitate; mature poets steal” [62].
p 59 For more on the MathWorks competition, see [87] and, especially, [88].
p 61 “I started to become ‘obsessed’ ”: [86].
p 63: A study by two scientists at the software company SAP, Oliver Arafat and Dirk Riehle . . . :[3].
p 63: You might conclude from the discussion of microcontribution that open source software is mostly built up out of tiny contributions. But just because small contributions are more frequent doesn’t mean that they make up the bulk of the final product. It might be that a few large contributions overwhelm the many smaller contributions. And, indeed, in many open source projects that’s what happens: tiny changes are the most frequent, but the final product is still dominated by relatively large chunks of code. It’s tempting, then, to reverse direction, and conclude that small contributions aren’t that important, that really they’re a distraction. But that’s wrong too, a bit like arguing that Hamlet would be a better play with everything removed except the great soliloquies. Both the large and the small