The Prussian statesman Otto von Bismarck once summarized the unseemly side of politics with a quip: “Laws are like sausages. It’s better not to see them being made.”
The same would hold true for open-source software development – were it not for the fact that open source, by definition, implies transparency. In the case of the Linux kernel – the core of the widely-used open-source operating system – that openness means users are able not only to review the underlying source code and count the number of profanities in the source documentation, but also sit in on the internal debates that shape even the most minute design decisions.
Witness the drama surrounding what most Linux insiders now call the “BitKeeper fiasco,” an event that tested the authority and leadership skills of Linus Torvalds, 35, the original creator of the Linux kernel. When a key Linux development tool disappeared from the scene last spring, Torvalds created a replacement from scratch rather than watch the Linux community defect to a tool he didn’t like. In the process, he demonstrated the unique mix of brilliance and pigheadedness that have attracted legions of programmers to his cause since 1991.
The crisis was triggered in early 2005 when it was confirmed that Andrew Tridgell, an Australian hacker best known for reverse engineering the Windows NT networking protocol, had done the same for a a proprietary source code management tool called BitKeeper, published by South San Francisco-based BitMover.
Bitkeeper is a popular commercial program for managing distributed software development projects. Originally built by San Francisco programmer and entrepreneur Larry McVoy to suit Torvalds’ own management needs, BitKeeper had occupied a tenuous niche in the open source community. McVoy had modeled the software on a prior system developed for Sun Microsystems. Like its predecessor, BitKeeper offered peer-to-peer flexibility and a closed source license. Linux users could have free access, but only if they gave up the right to tinker with or copy the internal source code.
That more than a few Linux developers accepted this bargain is a testament to BitKeeper’s power. Offering speedier source code evolution and relieving kernel maintainers from the firehose-like torrent of unsolicited changes, BitKeeper turned what, until the end of 2001, had been a “push” process into a “pull” process. In other words, developer could use it to move changes back and forth quickly through the kernel system while still maintaining a clean, error-free source code tree. After fumbling numerous patches and irritating many top-level developers in the process, Torvalds officially deemed BitKeeper the best fit for a community itself built on the notion of small groups, loosely joined.