Keeping the Code



Joe Casad, Editor in Chief

Dear Linux Magazine Reader,

If you were tuned to the blogs recently, you may have noticed the immortals of open source throwing lightening bolts at each other in a very public feud. Of course, everyone suspected something was brewing when BitMover CEO Larry McVoy suddenly revoked the special arrangement he'd made to provide BitKeeper code management software for the Linux developers. I won't launch into a long play by play, but suffice it to say, not long after the announcement, it emerged that Samba author Andrew Tridgell had developed an open BitKeeper-compatible client.

This may seem entirely routine. Isn't that what people like Andrew Tridgell do - build open source tools that challenge the power and privilege of commercial systems? But the story was a bit more complicated. And the swift response from Linus was even more complicated.

Linus Torvalds expressed extreme distress about the development. He started by condemning Tridgell's actions, and he ended with what seemed a very personal attack. Torvalds wrote that Tridgell "...could have done something constructive: he could have written the best damn SCM system on the planet..." But according to Linus, "...that's not what Tridge did...He didn't even try - it wasn't even his goal. He just wanted to see what the protocols and the data were...He didn't create something new and impressive. He just tore down something new (and impressive) because he could, and rather than helping others, he screwed people over..."

This may seem like harsh condemnation for an open source programmer who simply developed a tool for interoperating with closed source software. (We usually applaud that kind of thing.) Other open source titans jumped in. Former Debian leader Bruce Perens defended Tridgell's work, mentioning that what Tridgell did with the BitKeeper client wasn't so very different from what he did with Samba. And Tridge himself stated that he had "...hoped that an alternative open client would be able to coexist happily with the proprietary BitKeeper client, as has happened with so many other protocols." But all the talk of morality seemed a little lost, because the question was really about defining community.

Linus had gone to a lot of trouble to work out the arrangements with BitMover because he truly liked the BitKeeper system, and BitMover was happy to provide the Linux developers with a scaled-down version without the high price, but BitMover CEO Larry McVoy was clear about wanting to avoid the possibility of the Linux kernel developers cloning his code, and he and Linus thought they had a deal.

The other developers, however, were never really comfortable with the idea of managing Linux development with a closed source system. Many didn't even want to be working with BitKeeper, and some, like Tridgell, clearly didn't feel constrained by any gentleman's agreement Linus may have made with Larry McVoy.

Linus was frustrated because, to him, Tridgell and the developers who helped him weren't behaving like a community. These developers, however, certainly believed they were a community - they just didn't think BitMover was part of that community. The lesson is that your friends aren't always friends with your other friends. In this case, the deal with BitMover was so unusual, and so inconsistent with the strong convictions of many in open source, that the arrangement was simply unstable.

But were there really any losers? The Linux developers got a couple of good years out of BitKeeper, and BitKeeper certainly got some good publicity from Linus and the Linux developers. Tridgell's client really didn't do anything to upend BitMover's business plan, and Linus gets to build a new code management tool that is tailored precisely to his needs (see page 14). So the story didn't end so badly. Maybe they'll even call this a happy ending once the tempers cool down on Mount Olympus.