Please Stop Bugging Linus Torvalds About Subversion

Since Linus Torvalds' decision to stop using BitKeeper for the Linux kernel — for licensing reasons, not technical reasons — a number of people have suggested Subversion as a possible replacement version control system. Linus himself has said he doesn't want to switch to Subversion, most recently in a footnote at the end of http://lwn.net/Articles/130681/.

We, the Subversion development team, would like to explain why we agree that Subversion would not be the right choice for the Linux kernel.

Subversion was primarily designed as a replacement for CVS. It is a centralized version control system. It does not support distributed repositories, nor foreign branching, nor tracking of dependencies between changesets. Given the way Linus and the kernel team work, using patch swapping and decentralized development, Subversion would simply not be much help. While Subversion has been well-received by many open source projects, that doesn't mean it's right for every project.

Someday, Subversion may have the features Linus needs, but they're just vaporware until then, and they haven't been our immediate priorities. For example, the feature we added most recently (in response to user demand) was file locking — not exactly something the Linux kernel team was clamoring for. Linus needs a version control system that supports his working model today, something like Monotone, which he mentioned in his post, or GNU Arch, or SVK (which implements distributed functionality on top of Subversion), all of which support at least some of the features that attracted Linus to BitKeeper in the first place.

One very positive result of the move away from BitKeeper will be that people can set up Subversion mirrors of kernel activity without worrying about conflicts with BitMover, Inc (see http://subversion.tigris.org/bitmover-svn.html#licensing for the history of that situation). BitMover Inc has been extremely sensitive about any attempts to reverse-engineer or duplicate BitKeeper functionality, and has done its best to prevent open source developers from implementing BitKeeper-like features in other version control systems. We have always found this a disappointing assault on the freedom of open source programmers, and strongly disagree with Larry McVoy's claim, quoted at http://kerneltrap.org/node/4966, that BitMover Inc represents "as open-source friendly a commercial organization as you are *ever* going to see". We are happy that this situation will be minimized by the Linux kernel's move away from BitKeeper.

We wish Linus and the kernel team luck in finding a truly free version control system that supports their model well. That system probably won't be Subversion, but at least there won't be any more obstacles for people who want to set up Subversion mirrors or other Subversion-based tools for their personal Linux development.

-The Subversion Development Team

$Date$