|Original author(s)||BitMover Inc.|
|Operating system||AIX, FreeBSD, HP-UX, IRIX, Linux, Mac OS X, NetBSD, OpenBSD, Solaris, Windows|
|Type||Distributed revision control|
BitKeeper is a software tool for distributed revision control (configuration management, SCM, etc.) of computer source code. A sophisticated distributed system, BitKeeper competes largely against other professional systems such as Rational ClearCase and Perforce. BitKeeper is produced by BitMover Inc., a privately held company based in Campbell, California and owned by CEO Larry McVoy, who had previously designed TeamWare.
BitKeeper builds upon many of the TeamWare concepts. Its key selling point is the ease with which distributed development teams can keep their own local source repositories and still work with the central repository.
BitMover used to provide access to the system for certain open source or free software projects, the most famous (and controversial) of which was the source code of the Linux kernel. The license for the "community" version of BitKeeper had allowed for developers to use the tool at no cost for open source or free software projects, provided those developers did not participate in the development of a competing tool (such as CVS, GNU Arch, Subversion or ClearCase) for the duration of their usage of BitKeeper plus one year. This restriction applied regardless of whether the competing tool is open/free or proprietary. This version of BitKeeper also required that certain meta-information about changes be stored on computer servers operated by BitMover (www.openlogging.org), an addition that makes it impossible for community version users to run projects of which BitMover is unaware.
The decision made in 2002 to use BitKeeper for Linux kernel development was a controversial one. Some, notably GNU Project founder Richard Stallman, expressed concern about proprietary tools being used on a flagship free project. While project leader Linus Torvalds and other core developers adopted BitKeeper, several key developers (including Linux veteran Alan Cox) refused to do so, citing the Bitmover license, and voicing concern that the project was ceding some control to a proprietary developer. To mitigate these concerns, BitMover added gateways which allowed limited interoperation between the Linux BitKeeper servers (maintained by Bitmover) and developers using CVS and Subversion. Even after this addition, flamewars occasionally broke out on the Linux kernel mailing list, often involving key kernel developers and BitMover CEO Larry McVoy, who is also a Linux developer.
In April 2005, BitMover announced that it would stop providing a version of BitKeeper free of charge to the community, giving as the reason the efforts of Andrew "Tridge" Tridgell, a developer employed by OSDL on an unrelated project, to develop a client which would show the metadata (data about revisions, possibly including differences between versions) instead of only the most recent version. Being able to see metadata and compare past versions is one of the core features of all version-control systems but was not available to anyone without a commercial BitKeeper license, significantly inconveniencing most Linux kernel developers. Although BitMover decided to provide free commercial BitKeeper licenses to some kernel developers, it refused to give or sell licenses to anyone employed by OSDL, including Linus Torvalds and Andrew Morton, placing OSDL developers in the same position other kernel developers were in. The Git project was launched with the intent of becoming the Linux kernel's source configuration management software, and was eventually adopted by Linux developers.
End of support for the "Free Use" version was officially July 1, 2005 and users were required to switch to the commercial version or change version control system by then. Commercial users are also required not to produce any competing tools: in October 2005, McVoy contacted a customer using commercially licensed BitKeeper demanding that an employee of the customer stop contributing to the Mercurial project, a GPL source management tool. Bryan O'Sullivan, the employee, responded, "To avoid any possible perception of conflict, I have volunteered to Larry that as long as I continue to use the commercial version of BitKeeper, I will not contribute to the development of Mercurial."