The BitKeeper Saga

For years the Linux kernel had no real version-control system; patches flowed by email and were applied by hand. Starting around 2002 the project adopted BitKeeper, a fast distributed tool made by a commercial company. BitKeeper was proprietary, but its maker allowed kernel developers to use it without charge, an unusual bargain that sat awkwardly with a community built on free software.

That bargain depended on goodwill, and in early 2005 the goodwill ran out. The free license came with conditions, and a dispute arose over efforts to reverse-engineer how BitKeeper communicated so that its data could be reached without agreeing to the license. The company withdrew the free version, giving kernel developers a deadline to move off the tool. The kernel was about to lose the system its workflow had been built around.

Linus Torvalds chose to write a replacement rather than search for one. In his 2007 Google Tech Talk on git, he recounts the BitKeeper history and his strong opinions about existing tools, explaining why none of the alternatives satisfied him and why he set out to build his own. The result came together in days: by an April 2005 mailing-list post he could already describe a working “distribution and archival mechanism.”

The saga is remembered as a turning point. A clash over a proprietary tool inside the world’s most prominent free-software project produced git, which outgrew the kernel entirely and became the standard way software everywhere is tracked. Because some details of the falling-out remain disputed among the people involved, the durable facts are the simplest ones: the free BitKeeper license ended, and git was written in its place.