Linux founder Linus Torvalds has reluctantly created his own software configuration management system, Git, to oversee Linux kernel development.
Previously, Torvalds had been using BitMover Inc.s BitKeeper SCM (software configuration management) to manage Linux. “Im pretty well known for not being a huge fan of source control that gets in the way and makes it harder to merge with all the people I work with all the time,” Torvalds said in a statement last year.
“BitKeeper is different. Its made me more than twice as productive, and its fundamentally distributed nature allows me to work the way I prefer to work—with many different groups working independently, yet allowing for easy merging between them.”
Not everyone in the free software/open-source community was as happy as Torvalds about BitKeeper because it is a proprietary program. Flame wars quickly erupted over the use of the proprietary program to manage the creation of the open-source software poster-child project: Linux.
In essence, it was a debate between open-source pragmatists such as Torvalds, who believes in using the right tool for the job regardless of whether its proprietary or open source, and free-software purists like Richard Stallman, who believes that using proprietary programs is contrary to what free software should be about.
“This problem, like the decision to use BitKeeper, reflects the attitude of the original developer of Linux, a person who thinks that technically better is more important than freedom,” wrote Stallman in a 2002 criticism of Torvalds use of BitKeeper.
This could have stayed a tempest in a teacup in Linux development circles, but recent events forced the matter to a boil.
After much debate over whether an open-source attempt should be made to reverse-engineer BitKeeper, Andrew Tridgell, co-founder of the popular Samba CIFS (Common Internet File System) server project, created a new program, SourcePuller, that could work with BitKeeper data.
Tridgell was the OSDLs (Open Source Development Lab) second appointed Fellow; Linus Torvalds was the first. These positions are designed to enable strategic developers to focus on their development and coding contributions to the open-source community.
At this, Larry McVoy, BitMovers founder, decided to pull the non-commercial version of BitKeeper, which had been used for Linux development, from the market. At the same time, McVoy released a less powerful open-source version.
McVoy has long held the position that “you cant use BK if you are developing a similar system, i.e., a clone.”
After still more heated discussion, Torvalds decided that Linux development and BitKeeper would have to part ways.
But Torvalds was careful to praise McVoy for his efforts to defuse the situation. “Don’t blame BitMover, even if that’s probably going to be a very common reaction. Larry in particular really did try to make things work out, but it got to the point where I decided that I don’t want to be in the position of trying to hold two pieces together that would need as much glue as it seemed to require.”
Torvalds said he doesn’t care for any of the existing SCMs, so he created his own: Git.
As for his conflict with Tridgell over BitKeeper, Torvalds said, “I don’t hate him if that’s what you’re asking. I’m very disappointed by this whole brouhaha, but my whole life I’ve been writing my own tools for my own use. I’ll survive. It’s just sad because I really did like BK.”
“We’ve never had a working relationship,” Torvalds added. “Samba and the kernel are just so independent that we’ve never worked together. So its been purely social. Now its just a bit less so.”