Open source enthusiasts are by definition a passionate bunch, with no quarter given or expected in the numerous chat rooms devoted to community-developed software. But even the most furious flaming evoked in the past pales in comparison to the fuss surrounding the latest open source hot potato: BitKeeper.
The fact that this particular scuffle involves two of the community's biggest names, Linux founder Linus Torvalds and Samba co-founder Andrew 'Tridge' Tridgell, goes some way to explaining why chat rooms are blazing at the moment.
At the centre of the row is a proprietary source-control application, BitKeeper, which has been used in kernel development since 2002. Some free software advocates argue that proprietary applications should not be used, on principle, in the development of free and open source software. The more pragmatic elements of the community, Torvalds included, claim that BitKeeper is the best tool available and should be used if it makes kernel development easier.
BitMover, the US-based company behind BitKeeper, agreed to make the tool available free of charge to open source developers, on the condition that developers using BitKeeper would not create a competing product. But now it seems that some open source developers haven't kept up their end of the bargain. Bitmover recently announced that it will be phasing out its free BitKeeper product to allow it to focus on its commercial version.
BitKeeper's main author Larry McVoy claims his company made the move to kill off the free tool as a direct response to Samba developer Tridgell's decision to reverse-engineering Bitkeeper. The resulting clone would violate BitMover's intellectual property — something McVoy wasn't going to sit back and watch happen.
Torvalds has joined McVoy in criticising Tridgell's actions. In a posting on the Real World Technologies Web site he states that Tridgell should have written a control application from scratch rather than attempting to clone Bitkeeper.
"Tridge could have done something constructive: he could have written the best damn SCM [source control management application] on the planet, and believed that open source generates better things, and competed against BitKeeper that way," says Torvalds in the posting.
"But that's not what Tridge did… 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. And you expect me to respect that kind of behaviour?" wrote Torvalds
For his part, Tridgell claims he was merely writing a tool that was interoperable with BitKeeper. He claims he did not use BitKeeper when developing his tool and was therefore not subject to the conditions in its licence.
The furious wrangling over who, if anyone, is in the right has split the open source community down the middle. Jeremy Allison, the co-founder of Samba, claims that Tridgell was merely reverse-engineering Bitkeeper to ensure interoperability, which is a legitimate practice.
"I think Linus is mistaken to criticise Andrew, as what Andrew did was equivalent to the techniques we use in Samba, and obviously I have a strong feeling that what we do is standard engineering practice, and is done by software engineers worldwide, whether working for proprietary companies or Open Source companies " says Allison. "I'm hoping after Linus' temper cools down he'll be able to understand he is wrong in this judgement on Andrew."
In another posting on the Real World Technologies forum Torvalds' countered that there is no similarity between Tridgell's actions around Bitkeeper and the reverse-engineering used in Samba. "OpenOffice and Samba are constructive projects that actually do something useful, and are technically advanced quite regardless of the fact that they can interoperate with the competition," said Torvalds.
The Linux creator argued that Tridgell's actions were irresponsible as they directly resulted in BitMover canning its free version of Bitkeeper. "Now, I'm dealing with the fall-out, and I'll write my own kernel source tracking tool because I can't use the best any more," says Torvalds.
Gary Barnett, a research director at analyst firm Ovum, says he thinks Torvalds should be praised for setting a high standard regarding the protection of intellectual property.
"I think that simple straightforward reverse engineering does find itself on the borderline between the creation of a new application and straightforward copying. I don't know about the extent of the reverse engineering in this case to make a call," says Barnett. "Certainly Linus sets a very, very high standard and is very, very sensitive to the intellectual-property issues that surround this and rightly so."
It is important to protect intellectual property to allow innovation to happen, according to Eddie Bleasdale, the director of open source consultancy Netproject.
" I agree with what Linus is doing. If someone has put intellectual effort into developing anything then their copyright should be protected," says Bleasdale. "If someone then wants to produce a competing product then they should do so from first principles. If the intellectual effort spent designing, developing and bringing a product to market is not protected then progress will stop."
But some in the open source community, such as Debian developer Wookey, do not blame either Torvalds or Tridgell, but instead lay the blame squarely at the feet of BitMover's McVoy.
"You can understand the motivations of everyone involved — Linus is a pragmatist who just wanted an easier life, Larry McVoy wanted to promote BitMover and Bitkeeper, and Tridge wanted to find out how things worked," says Wookey. "All of that is fair enough, but ultimately I think Larry is the one who comes out worst from this, with his repeated licence changes and an absolute desire to retain control, which would be fair enough except that he also presents himself as a martyr who was only trying to help."
BitMover has undoubtedly benefited from its work with Linux kernel developers. The company's front page includes a prominent quote from Torvalds praising the application.
"BitKeeper has 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," Torvalds states.
Mozilla contributor David McGuinness says that BitMover's recent decision to change its licence shows the risks of relying on proprietary software for open source development. "The problems with BitKeeper show the disadvantages of relying on proprietary software as you're stuck with the whims of the company that owns that particular code," says McGuinness. "If they want to revoke your licence or stop releasing updates then you can end up in trouble."
Some Linux kernel developers have disagreed with Torvald's decision to use Bitkeeper from the beginning. Harald Welte, who maintains the packet filter subsystem in the Linux kernel and runs gpl-violations.org, says he has always refused to use Bitkeeper to develop free software, but concedes that he is "somewhat more religious" than Linus, who is "very pragmatic".
Ovum's Barnett believes that Torvalds was right to use BitKeeper if it was the best software available for the job. Open source developers should stop being "childish" and accept that there is nothing wrong with using proprietary and open source software together, says Barnett.
"I think it’s a responsibility of any good software engineer to use the most appropriate tool or technology to achieve the outcome they're looking for," says Barnett. "It's simply not a flyer for the open source community to be overly precious over the use of proprietary software with open source software, because on this planet these things will have to coexist for a long time."
The debate — over whether Torvalds was right to use Bitkeeper in the first place, and whether he was right to criticise Tridgell for reverse-engineering the application — is likely to continue for some time. Free software purists and open source pragmatists are unlikely to find any common ground on this issue, and as it drags on, some are concerned that it may damage Torvalds' reputation.
Although Torvalds is revered by many within the open source community as the founder of Linux, he also has detractors among the free software movement. There is even a conspiracy theory on news site Slashdot that the anti-Torvalds rhetoric may have the underlying aim of persuading the open source community to switch to Hurd — an alternative to the Linux kernel that is being developed by the Free Software Foundation.
But, Torvalds doesn't appear too worried. In a posting to the Linux kernel mailing list last week he appears unconcerned about recent articles criticising him. "Thick skin is the name of the game. I'd not get any work done otherwise," he says.