Linus Drops BitKeeper
ravenII wrote in to mention a story running on CNet, which discusses Linus Torvald's decision to no longer use BitKeeper. From the article: "Linus Torvalds is looking for a new SCM for his project's source code after a conflict involving the current management system, BitKeeper. 'I've decided to not use BK (BitKeeper) mainly because I need to figure out the alternatives,' Torvalds said in a posting. 'Rather than continuing things as normal, I decided to bite the bullet and just see what life without BK looks like.' Coverage on the BitKeeper announcement from earlier this week is also available. Update: 04/10 16:36 GMT by Z : Updated to reflect the story's origin.
Subversion uses a centralized model. In TFA, Linus talks about his disdain for such a system, and given the distributed way kernel development is done, Subversion would be quite a headache. That's not to say Subversion isn't great for some projects, but certainly not for the kernel.
It really is too bad, though, that with the complaints about BitKeeper before, nobody seems to have written a 100% free equivalent in that time, and there doesn't appear to be a worthy alternative for Linus now that he's dropped BK. Maybe one will pop up, or someone will hack in the needed features into an existing project like Subversion. Here's hoping.
The replacement has to be roughly as performant as BK, if possible (so far, not so much), offer the distributed SCM model (several available tools) and hopefully have a stable release (less so).
Does anyone happen to know whether GNU Arch has been considered? I've been using it for a while and find it quite good (it's not perfect, but it's the best versionning system I've used so far).
So when are they going to remove the quote by Linus?
"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." -- Linus Torvalds
The problem is that Linus is not elligible for bitkeeper licensing anymore.
In addition to dropping the free version, Bitmover is refusing to sell even commercial licenses to the OSDL or it's employees, which includes Linus Torvalds and Andrew Morton.
Somehow Arch was immediately mentioned on the original thread about Linus's intent to switch away from BitKeeper, but somehow only Subversion has been mentioned on this one. Arch was created specifically with the goal of replacing BitKeeper as the SCM for the Linux kernel source, as it says on their web page:
Wow. Amazing how Open/Free software can work together to the point of one project recommending that we should use their competitors' project in some instances. :)
Can you imagine a commercial software vendor releasing something like that?
Actually subversion has a commerical backing. But those who wrote the thing simply wanted to keep the fanboys out of the LKML. And they are right in their analysis, they have a kicksass version control system but their approach is not suitable for the needs of the Linux kernel developers. What Linus and others really need is a highly distributed system and subversion (even SVK) is not exactly that, SVN is more like a drop in replacement for CVS without the problems CVS has, and it has its fair place in the world, and most who use it love it. The answer is just the style the people who do subversion generally have, very honest and professional.
It's possible that BitKeeper wanted to get out of the open-source business for some time, but just waited until OSS folks made a "bad" move, so that at least some potential customers would would see OSS people as the bad guys instead of Bitkeeper.
I absolutely adore the way that people don't have the balls to post with a username any more.
The whole point of Open Source is that people have CHOICES ABOUT WHAT THEY USE TO DO A TASK. If they don't like it they can tweak the code so it does what they want.
Last time I checked, using BitKeeper constituted a CHOICE on the part of Linus. One of the core principles behind OSS.
CVS is abysmal, and Subversion doesn't fit the Linux development model. Proprietary software may be evil, but if it's the best tool for the task then why should people deal with inferior OSS crap, which may need serious hacking to make it do what they want, when there's the option - the CHOICE - of using proprietary software?
How many people can read hex if only you and dead people can read hex?
See Comments on Open Source Software / Free Software (OSS/FS) Software Configuration Management (SCM) systems for more information on OSS/FS SCMs. There are several relatively mature centralized SCMs, but the distributed ones are less mature. See paper for details.
- David A. Wheeler (see my Secure Programming HOWTO)
Linux needs somebody with a Donald Knuth mentality. Someone who will dedicate years on a side-trip to produce the best, most excellent, version controlling system possible. (Similar to Knuth's side-trip into Typesetting that produced the Wonder called TeX).
Thing is, this "new story" brought nothing new. We knew that he DID drop bitkeeper, from the three 5,informative moderated posts which linked to LKML in the previous story. Now we can read that very LKML announcement in this slashdot story aswell. We knew that he won't pick subversion from the previous story and from the subversion developers aswell.
What is new, that Linus wrote his own SCM (README here)
Maybe it will appear in 1-2 days as another slashdot story?
It takes a man to suffer ignorance and smile
Be yourself no matter what they say
That would be the party line as far as I know. Unfortunately, my experience is that clearcase is unacceptably slow over a 10MB radio-lan uplink (to the next building shared by 20 or so people. Internal network 100Mbps switched). I don't have exakt numbers, but if I start an update of a view and then go take a coffey break, the update is almost guaranteed to still be running when i return 10 or 15 minutes later. This with perhaps 6-7000 files in the view/VOB. Changing the tree is even worse. Checking in(Committing in CVS-ian) is apt to be a 10 minute affair if i have 30 or so files to check in. And I don't mean administrative time, such figuring out which lables to apply, I mean waiting for the clearcase client and nothing else. When you add administrative tasks such as applying lables and custom attributes you'll probably be talking a total of an hour, and 80% of that is nothing but waiting for clearcase. Over a 100Mbps LAN these problems are almost gone. It's still far slower than CVS or Subversion, but acceptable.
The Java CMVC client is actually pretty nice. Sucks less than VSS by a good bit.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
The kernel development process *has* already changed. The 2.6 series (vs 2.4) really was able to use BK effectively in conjunction with those 'control model' changes. Linus has already said that he doesn't scale. So, the way it's being handled now is the way it will likely remain. He's not likely to change his behaviour because of a tool problem. He will find a new tool.
You are being MICROattacked, from various angles, in a SOFT manner.
The issue isn't the traffic or the bandwidth but the latency caused by not being on the same network. Since it sends off a flurry of packets, the effect of even a modest latency (e.g. 100ms) is culmulative and the thing simply sucks. It is just a horribly designed system.
Rational's "solution" to this is to sell a multi-site version that replicates the same repository for each LAN you wish to use the source control from. But this does nothing for the VPN situation and it also means you must burden the enormous expense of replicating your your hardware, and administration for everywhere you want to use it.
It's not mission critical anything - it's an overengineered piece of crap. I truly expect that a sane source control system could get ten fold performance out of the same hardware simply because it's smart enough to figure out if a file is checked out without flooding the network with traffic.
I truly believe that Clearcase could be junked and replaced with Bitkeeper or even Subversion in 99% of cases and it would be a better fit.
I think there's one thing that people are assuming here. The GPL license by itself neither,encourages, or discourages economic behaviour from those who use it. The economic aspect comes from the desires of others to assume the burden of work necessary for OSS to meet their needs[3]. And the amount of that is dictated by how much work the programmer put into the results. For example if a programmer creates a free CMS with all the bells, and whistles, complete with excellent documentation, and a wonderful interface. Then the amount of economic work* needed by others is much reduced. So what the GPL does encourage at worst is poor code quality, and at minimumn so so code. So that the economic benefit will come from the programmer doing "that extra economic mile" to support themselves[2]. Now people are going to point out that the code is good, and yes in a lot of cases it is. However that "goodness" isn't so much a function of the GPL aspect [1], but the economic aspect of someone paying them. Also the whole OSS movement is relatively young, and youth has hidden many a problem, that age reveals.
*Keeping in mind a couple facts about economic work. Someone is being payed, be it internal, or external, and two the economic work doesn't have to be done by the original programmer
[1] Programmers already know this. Code quality is highly variable. being free doesn't automatically make it high quality, and there is in fact a reduction in efficiency in dealing with poor code.
[2} Ego also gets mentioned as a viable motivator, but you can't "eat" motivation. You can at best consider it an entrance fee, to the "economic games".
[3] No I haven't mentioned freeloaders, for they're a plague on pay and free alike. But free has the potential be hurt more by freeloading that pay.
Yes you find it now pretty easily. But is that because it was used for Linux for a long while? I can't say for sure but I know how page rank works and if you search for any word half the time you get something dealing with linux in the results.
--
WHO ATE MY BREAKFAST PANTS?
If the linux process is so poor, why is it more popular than *BSD?
Just as Windows...
the Linux apprach says: show me the code, convince us it's better. The *BSD approach says: Show me the code, convince us it's better, get somone on the core team to sponser it, shedule it for the next (or prehaps one after next) release, and wait.
What is the real difference here? In both cases, code submitters have to get approval by maintainers: with Linux, there's only one mainainer. With BSD, there are many committers. Actually, BSDs approach seems even more failproof than Linux', because you don't have to worry about Linus going on vacation (or some BitKeeper issues). You just ask another committer to submit your code to review.
Thus, Linux has a lot more mobility, and can utilise new approaches sooner than *BSD
Hmmm, the -CURRENT branches are very mobile too, just as with Linux. There's one important difference though: BSD kernel interfaces (external and internal) tend to be a lot more stable than Linux' interfaces. This is both good and bad: with Linux, you can experiment with new interfaces and paradigms. With BSD you can do the same. But with Linux, the experiments quickly make it into the public kernel, even if they have to be retracted later. With BSD, this happens too, but it's very rare.
Let them be different - choose your favourite model, and be happy with it.
Right!
cpghost at Cordula's Web.