Samba developer Andrew Tridgell has released the source code to a tool that interoperates with Bitkeeper, the proprietary tool used by waddling Finn Linus Torvalds to manage the Linux kernel until last week.
The shotgun wedding of an open source project and a closed source tool was always likely to end in tears, and it finally fell apart, with much recrimination, last week.
A week ago last Monday, Torvalds' licensor and close friend Larry McVoy, yanked Linus' license to use Bitkeeper, throwing kernel developers for six.
At the core of the dispute was the issue of ownership of information. Kernel developers insisted that the 'metadata' generated by their code submissions belonged to the community. But Bitkeeper supremo Larry McVoy insisted that any such metadata belonged to him.
Now Tridgell has released code for an open source project that allows developers to peek at the source code trapped in McVoy's systems.
In a README, he explains:
"ePuller was written for two reasons. First, because the terms of the free BitKeeper license are not suitable for some members of the free software community. This can occasionally lead to frustrating situations where a free software developer wishes to access a BitKeeper repository, and is either unable to, or can only access it via a gateway that translates the repository into another format, possibly losing some information."
"The second reason for writing SourcePuller was to provide a open library of routines that can talk to BitKeeper servers and manipulate local BitKeeper repositories. It is hoped that this library will be used by the authors of other source code management systems to allow them to interoperate with BitKeeper. Eventually this should result in an improvement in the quality of the various bk repository gateways."
"SourcePuller is not intended to be a full replacement for BitKeeper. Instead, you should use SourcePuller as an interoperability tool for situations where you cannot use bk itself. SourcePuller is missing a large amount of core functionality from BitKeeper, and thus is not suitable as a full replacement."
Tridgell also explains his rationale for developing a tool Linux kernel developers could use.
"As you probably know, there has been quite a fuss lately about this code and the fact that BitMover has now withdrawn the free version of bk. First off, I would like to say that this result was not the intention when I wrote this code. I had hoped that an alternative open client would be able to coexist happily with the proprietary BitKeeeper client, as has happened with so many other protocols. An open client combined with the ability to accurately import into other source code management tools would have been a big step forward, and should have allowed BitMover to flourish in the commercial environment while still being used by the free software community.
"I would also like to say that BitMover is well within its rights to license BitKeeper as it sees fit. I am of course disappointed at how BitMover has portrayed some of my actions, but please understand that they are under a lot of pressure. Under stress people sometimes say things that perhaps they shouldn't.
"As I have stated previously, my code was written without using bk. Some people expressed some skepticism over that, perhaps because they haven't noticed that bk servers have online protocol help (just type 'help' into a telnet session). I don't think it is unreasonable to assume that this help was intended for people like myself who wished to implement new clients.
"I would like to thank all the people who have supported me in the development of this tool by providing useful advice both before, during and after the development of the code. I tried to consult with a wide range of interested parties and the feedback I got was certainly appreciated.
"Finally, I would like to point out the obvious fact that Linus was perfectly within his rights to choose bk for the kernel. I personally would not have chosen it, but it was his choice to make, not anyone elses. Linus is now in the unenviable position of changing source code management systems, which is a painful task, particularly when moving away from a system that worked as well as bk did. If you want to help, then help with code not commentary. There have been enough flames over this issue already."
So there you have it.
Or more specifically, here you have it. ®
Tridgell demos Bitkeeper interoperability
'Cool it, Linus' - Bruce Perens
Torvalds knifes Tridgell
The Larry and Linus Show: personalities vs principles?
Linus Torvalds in bizarre attack on open source
Linus Torvalds defers closed source crunch