Over in the Register, Andrew Orlowski has a fascinating article entitled Torvalds knifes Tridgell about another bizarre outburst by Linus Torvalds. This time it's all about BitKeeper, the source code repository system. "Torvalds uses the pay-for proprietary software to manage the Linux source code (obliging other kernel developers to follow suit), but last week its owner, Bitkeeper CEO Larry McVoy, yanked the license, pushing Torvalds to look for an alternative. He's now going to write his own. For this inconvenience, he blames [Andrew] Tridgell", the genius behind SAMBA (the technology which finally killed my old PC-NFS product).
And what was Tridgell's crime? He wanted to reverse-engineer the BitKeeper protocols so that Linux developers could browse the repository metadata. This sounds innocuous enough - after all, BitKeeper's own website says that "Read-only users (people browsing the source, tracking progress, doing builds, etc.) still need a license but there is no charge for that license.", so it's not a question of money. Clearly there is something big at stake - something so important that McVoy is prepared to forego the prestige of hosting the Linux kernel repositories. According to Andrew Orlowski, "McVoy was adamant: 'sorry, we're not in the business of helping you develop a competing product.'" So that's it? The key intellectual property is in the protocols? That seems odd.
I had two reactions to this piece. First, why on earth is the acknowledged flagship product of the FOSS world relying on a proprietary, closed source repository - particularly one run by a guy who clearly has no sympathy with FOSS, nor any understanding of the related business models? I would (naïvely) have thought that BitKeeper would want to hang on to the data and proliferate clients like crazy. (A famous LBJ quotation comes to mind.) And second, what is it that makes BitKeeper so wonderful? Let's check out their web site. Truth in advertising? You be the judge:
Hardware costs: BitKeeper does not have this problem [of scale] because of its distributed model.... This model means that the hardware costs can be spread over a set of inexpensive PCs rather than a $300,000 SMP machine. BitMover hosts the Linux kernel repositories for thousands of users on a single inexpensive PC.
Human costs: An administrator is the person who makes sure that the hardware and the software is working, the repositories are backed up, etc. The distributed nature of BitKeeper removes the need for such a person.
Wow. Thousands of users on a single PC. No administrators. How cool. No wonder Linus was impressed. [That's sarcasm, in case you didn't notice.] I think that in the long term we'll see that Andrew Tridgell has done the FOSS community a service, by provoking Linus and Larry into falling out. Hopefully the community can create a better - and truly open source - repository. However I wouldn't rely on Linus to create it - he doesn't seem to believe in open source any more....
I think the history to this is also important.
My understanding is that basically BitKeeper was the only source control system that would fit the way the kernel developers wanted to work, and Linus wasn't scaling by handling patches manually - they were getting lost, dropped or otherwise neglected. BitKeeper took a lot of pressure off of Linus, developers could have their own trees and pull patchsets back and forth with ease. It also took Linus a number of years to accept that he couldn't cope and to accept the offer from BK.
However, there was a lot of disquiet about relying on a non-open source platform, and as we've seen that has come back to bite. The licensing was not open source friendly, especially the part of not being able to work on source code control systems.
The problem is most of the people who whinged about Linus using it were all talk and no trousers, they didn't sit down and code up what Linus needed. I include myself in that, I didn't say anything at the time, but I am now (not that I've got the skills to code anything like that).
Since BitKeeper was adopted other code control systems have come on a bit, but still not to the extent where they could replace it, so hopefully this is the spur that will be needed to get something that will replace BitKeeper.
So yes, this does show why you shouldn't rely on *any* proprietary software, it won't be there for ever and when it goes away you either freeze at the last version or you migrate to something else. This is my principle reason for disliking Java - if you use Java and your platform is dropped then you either switch to another platform or switch to another language - you can't try and port it yourself..
I reckon there's been a bit of a blow up between them, but that'll calm down and things will return to business as usual. I'd hope neither of them will keep a grudge over something that is really quite trivial in the grand scheme of things.
cheers,
Chris
Adding to chris's comment. Bitkeeper not only changed the pace of development, but fundamentally changed how development done. Bitkeeper was what allowed them to switch to the distributed development model. Now they may be able to replace it, but only because bitkeeper showed them what a reasonable distributed system looks like. I hate closed source software (with passion), but bitkeeper was really a good thing all around!
Posted by: Aaron at April 15, 2005 11:09 AM