Why BitKeeper should be Open-Sourced Now

A "Better CVS" Initiative Document

by Shlomi Fish

Foreword

I don't normally support open-sourcing commercial software. I don't think Microsoft Excel should be open-sourced. I don't think Corel-Draw should be open-sourced either. I like Matlab, but I would not recommend the Mathworks to open-source it any time soon. I like all of them and I think both should remain proprietary.

BitKeeper, however is different. BitKeeper would benefit a lot from being open-sourced, and in fact: that choice would determine its future.

BitKeeper should be GPLed - for BitMover's sake

Linus Torvalds and other Linux Kernel developers decided to use BitKeeper, despite the fact that it is proprietary. As a result, the Linux developers body and the Linux Kernel mailing list has been split into two parts: those that support using BitKeeper, and those that are against it on the premise that it is proprietary.

Larry McVoy, BitKeeper's colourful developer, has so far insisted on not open-sourcing BitKeeper, saying it will make his company bankrupt. However, this is not the case, and the entire frustration involved with dealing with those people who insist on freeing it can be avoided.

I hereby give reasons why BitMover, would be better off GPLing BitKeeper. It has nothing to do with whatever free software ideals I hold - they are pure strategic ones.

Source Control is like an OS - A Copy on Every Machine

Computer vendors would not dream installing Red Hat Linux or Mandrake Linux on their customers' computers without paying Red Hat or MandrakeSoft for a license. But it is perfectly legal to do the opposite.

The same holds for source control. Sure, many users will download it and use it without charge. But every manager in a company will insist that if BitMover mandates a license, then it would be present. That's the law of the land.

Those that break it are not really a concern of BitMover. They would have broken it, anyhow.

BitKeeper is a Platform

Refer to the Platform article written by everybody's favourite software management guru, Joel Spolsky. BitKeeper is a platform, and the evidence is now that BitMover is building a bug database based on it. As such, BitMover must make sure it propagates everywhere, before a better alternative becomes commonplace instead.

You can't eat your cake and have it too

Most open-source developers out there won't use BitKeeper under the terms dictated by BitMover. There's nothing wrong with this idealism - it is perfectly rational.

If BitMover wishes that Free Software developers would use BitKeeper, it must make it free software. Like it or not, but people as fanatic as Richard Stallman are not that uncommon (nor do I believe they are irrational), and even I do not wish to have a discipline of keeping my repositories free software.

As far as compliance to the free software ideals, BitKeeper has gone from pretty good to bad to worse. Most developers out there feel they cannot trust BitMover, and so will not use it.

The Market for BitKeeper is very large - end users

Aunt Tillie could use source control. Many clue-less users out there invent ad-hoc methodologies to keep various versions of their files, and they all work much less better than CVS, and even less than BitKeeper.

With good marketing and integration into the underlying desktop, BitKeeper can be marketed as a tool everybody could use.

Advantages of the Bazaar Style

Larry can criticize Eric Raymond's "The Cathedral and the Bazaar" as much as he wants. Fact is, everybody else beside him (and beside some sources in Microsoft who have any reason to attack it) thought it was a ground-breaking paper.

BitMover can benefit from the Bazaar style while still maintaining full ownership and control on BitKeeper. It is obvious that CVS has more activity geared towards it than BitKeeper has: ViewCVS, Cervisia, WinCVS, MacCVS, Meta-CVS and an entire Freshmeat search for CVS. Due to the fact the source of BitKeeper is not revealed, the culture around it is much less lively. The only way to remedy it is to open-source BitKeeper.

Trust is more important than Money

Larry, it is obvious you don't trust the BitKeeper user-base at large. Lack of trust makes one paranoid. And paranoia makes one unhappy.

You should ask yourself if you're happy. You did not seem happy to me when you (and your employees) attacked me for my attempts to free BitKeeper. You also don't seem happy to the masses of the Linux Kernel mailing list who have to put up with your constant flood of messages there.

Afterword

Mr. McVoy, you hold the future to BitKeeper in your hands. If it is not made free software, it will become just a footnote in the history of Source Control systems. Like SCCS, like Perforce or like ClearCase. I can guarantee you 100% that a different open-source SCM will take its place.

However, if it does become GPL or something similar, then it can grow into something wonderful. A source-control management that has yet to be seen and that will rule for many years to come. But you have to make the decision.

The status quo will only lead you to many anxieties and unhappiness. If you wish to give away all free software users do so, and make sure BitKeeper is completely proprietary and is not targeted at open-source developers. In which case it would become the second ClearCase. (only perhaps better)

Everyone who knows you enough can tell you routinely blame your own problems on other factors, and that you have a complete distrust of the people of the world out there. These are both very bad signs: they show of immaturity, irrationality and mysticism. You are also entirely flame-bait about mentioning the license, or in comparison with open-source alternatives. (some of which believe are superior to BitKeeper)

Trust, peace of mind, happiness, and idealism are much more important than getting a lot of money. If you have a milliard dollars and have neither of them, then you are not going to be a happy man. I should note that I am a Neo-Tech person, who is very much an Objectivist. As such we hold money as sacred, but still value happiness more. And like I said earlier, I think GPLing BitKeeper will only bring you much more money in the long run.