Alors que les esprits sont toujours chauds suite à la décision de la société BitMover de modifier la licence de son logiciel célèbre Bitkeeper, Andrew Tridgell vient de publier Sourcepuller, le logiciel à l'origine de toute « l'affaire ».
On se souvient que Bitkeeper est un logiciel propriétaire, choisi par Linus Torvalds pour gérer le développement (hautement distribué) du noyau Linux. M Tridgell, trouvant inacceptable la licence imposée par BitMover pour utiliser le logiciel, avait entrepris de développer un logiciel libre permettant d'interagir avec Bitkeeper. Cette initiative avait été fortement condamnée par la société, qui a modifié la licence de Bitkeeper, obligeant Linus à chercher une autre solution pour gérer le développement du noyau (logiciel « GIT » en cours de développement).
M. Tridgell venant de publier son logiciel, espérons que cela aura pour effet de recadrer le débat et de mettre en évidence la portée réelle de cette initiative : simple besoin d'interopérabilité ou volonté de concurrencer BitKeeper ? M. Tridgell, qui était resté très silencieux auparavant, donne son opinion au sujet de cette polémique, explique ses motivations et confirme qu'il n'a pas utilisé le logiciel BitKeeper pour développer son logiciel.
Extrait du fichier README (formatage modifié) :
Part1 - February 2005
SourcePuller (also known as 'sp') is a free client for talking to BitKeeper(tm) source code management servers. It is written to offer enough functionality to enable reasonable access to source code repositories held in BitKeeper without attempting to actually replace BitKeeper as a source code management system. BitKeeper is a powerful source code management system. It has been credited with greatly helping the Linux community by providing a system that fits in with the way many free software projects are developed, while being fast and scalable enough to handle the huge development load of the Linux kernel development community.
BitKeeper was initially written by Larry McVoy and is now sold commercially by BitMover inc. See http://www.bitmover.com/ for more information on BitMover and how to obtain a BitKeeper license. BitKeeper is made available at no cost to free software developers. (*see note at end for an update on this*)
SourcePuller 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 an 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
Part 2 - April 2005
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 for him as bk did. If you want to help, then help with code not commentary. There have been enough flames over this issue already.