login
Header Space

 
 

Linux: Linus on Kernel Source Control

April 6, 2005 - 8:08pm
Submitted by Jeremy on April 6, 2005 - 8:08pm.
Linux news

Linus Torvalds offered an explanation to the lkml of the recent decision to switch away from using BitKeeper to manage the Linux kernel [story]. He began, "as a number of people are already aware (and in some cases have been aware over the last several weeks), we've been trying to work out a conflict over BK usage over the last month or two (and it feels like longer ;). That hasn't been working out, and as a result, the kernel team is looking at alternatives." He continued on to thank Larry and BitMover for their efforts in trying to make things work. He added, "NOTE! BitKeeper isn't going away per se. Right now, the only real thing that has happened is that I've decided to not use BK mainly because I need to figure out the alternatives, and rather than continuing "things as normal", I decided to bite the bullet and just see what life without BK looks like. So far it's a gray and bleak world ;)"

Citing the fact that his three years of BitKeeper usage have helped him to improve how he works on the kernel, he added, "so I just wanted to say that I'm personally very happy with BK, and with Larry. It didn't work out, but it sure as hell made a big difference to kernel development. And we'll work out the temporary problem of having to figure out a set of tools to allow us to continue to do the things that BK allowed us to do." As for what tool was likely to replace BitKeeper, Linus offered, "don't bother telling me about subversion. If you must, start reading up on 'monotone'. That seems to be the most viable alternative, but don't pester the developers so much that they don't get any work done. They are already aware of my problems ;)"


From: Linus Torvalds [email blocked]
To: Kernel Mailing List [email blocked]
Subject: Kernel SCM saga..
Date: 	Wed, 6 Apr 2005 08:42:08 -0700 (PDT)


Ok,
 as a number of people are already aware (and in some cases have been
aware over the last several weeks), we've been trying to work out a
conflict over BK usage over the last month or two (and it feels like
longer ;). That hasn't been working out, and as a result, the kernel team
is looking at alternatives.

[ And apparently this just hit slashdot too, so by now _everybody_ knows ]

It's not like my choice of BK has been entirely conflict-free ("No,
really? Do tell! Oh, you mean the gigabytes upon gigabytes of flames we
had?"), so in some sense this was inevitable, but I sure had hoped that it
would have happened only once there was a reasonable open-source
alternative. As it is, we'll have to scramble for a while.

Btw, 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.

We've been using BK for three years, and in fact, the biggest problem
right now is that a number of people have gotten very very picky about
their tools after having used the best. Me included, but in fact the
people that got helped most by BitKeeper usage were often the people
_around_ me who had a much easier time merging with my tree and sending
their trees to me.

Of course, there's also probably a ton of people who just used BK as a
nicer (and much faster) "anonymous CVS" client. We'll get that sorted out,
but the immediate problem is that I'm spending most my time trying to see
what the best way to co-operate is.

NOTE! BitKeeper isn't going away per se. Right now, the only real thing
that has happened is that I've decided to not use BK mainly because I need
to figure out the alternatives, and rather than continuing "things as
normal", I decided to bite the bullet and just see what life without BK
looks like. So far it's a gray and bleak world ;)

So don't take this to mean anything more than it is. I'm going to be
effectively off-line for a week (think of it as a normal "Linus went on a
vacation" event) and I'm just asking that people who continue to maintain
BK trees at least try to also make sure that they can send me the result
as (individual) patches, since I'll eventually have to merge some other
way.

That "individual patches" is one of the keywords, btw. One thing that BK 
has been extremely good at, and that a lot of people have come to like 
even when they didn't use BK, is how we've been maintaining a much finer- 
granularity view of changes. That isn't going to go away. 

In fact, one impact BK has had is to very fundamentally make us (and me in
particular) change how we do things. That ranges from the fine-grained
changeset tracking to just how I ended up trusting submaintainers with
much bigger things, and not having to work on a patch-by-patch basis any
more. So the three years with BK are definitely not wasted: I'm convinced 
it caused us to do things in better ways, and one of the things I'm 
looking at is to make sure that those things continue to work.

So I just wanted to say that I'm personally very happy with BK, and with 
Larry. It didn't work out, but it sure as hell made a big difference to 
kernel development. And we'll work out the temporary problem of having to 
figure out a set of tools to allow us to continue to do the things that BK 
allowed us to do.

Let the flames begin.

		Linus

PS. Don't bother telling me about subversion. If you must, start reading
up on "monotone". That seems to be the most viable alternative, but don't
pester the developers so much that they don't get any work done. They are
already aware of my problems ;)


From: Karl Fogel [email blocked] Subject: Re: Kernel SCM saga.. Date: Wed, 6 Apr 2005 16:13:42 -0500 (CDT) Linus Torvalds wrote: > PS. Don't bother telling me about subversion. If you must, start reading > up on "monotone". That seems to be the most viable alternative, but don't > pester the developers so much that they don't get any work done. They are > already aware of my problems ;) By the way, the Subversion developers have no argument with the claim that Subversion would not be the right choice for Linux kernel development. We've written an open letter entitled "Please Stop Bugging Linus Torvalds About Subversion" to explain why: http://subversion.tigris.org/subversion-linus.html Best, -Karl Fogel (on behalf of the Subversion team)



Related Links:

why not use commercial version of bitkeeper?

April 7, 2005 - 2:32am

Why doesn't Linus just buy the commercial version of BK and use that if it is such a good product?

Read the thread from yesterda

April 7, 2005 - 2:38am
Anonymous (not verified)

Read the thread from yesterday. Larry won't sell bk-license to OSDL.

Nope

April 8, 2005 - 7:56am
Anonymous (not verified)

Larry won't sell bk-license to OSDL

I don't think that's the case at all. He just won't give away them for free.

But Linus seems to be a bit fed up with all the whining from the community and has put down his foot to a "OK, you said BK is evil and there are free SCM that are as good. Let's find out if you're right"

- Peder

Why do you "think" up things

April 8, 2005 - 6:05pm
Anonymous (not verified)

Why do you "think" up things instead of getting the facts? That results only in polluting the web.

Why do you make up stuff and

April 9, 2005 - 9:47pm
Anonymous (not verified)

Why do you make up stuff and present it as fact? How do thoughts pollute the web? If you have factual proof of your point (I would lean toward the grandparent's conclusion from what I read) then post it, otherwise stop, as you say, 'polluting the web' with your own thoughts.

Google is your friend.

April 10, 2005 - 3:14pm
Anonymous (not verified)

Google is your friend.

Linus

April 9, 2005 - 2:17am
Anonymous (not verified)

But Linus seems to be a bit fed up with all the whining from the community and has put down his foot to a "OK, you said BK is evil and there are free SCM that are as good. Let's find out if you're right"

No not at all, this has nothing to do with it.

Linus was never worried about the whining one iota. He would just tell everyone straight that he was going to use the best tool for the job and they can put up or shut up.

With BK becoming non-free, it is no longer the best tool for the job, because the job involves putting no restrictions on the involvement of anyone. A lot of people simply wouldn't be able to do the work they do without bitkeeper (or some distributed SCM), and of those people there will be many who won't or can't pay for bitkeeper.

Were Linus to continue to use bitkeeper, there would be a risk of a large scale fork, a lot of developer unhappiness, etc. But I don't think his hand is being forced by threat of these outcomes - he has always been about open involvement and contribution and I don't think he would have ever felt he had a choice in the matter.

He may appear pretty casual and uninterested in these matters, but from my experience, he has a good set of morals and ethics, and a good sense of natural justice which he follows pretty strongly. Which IMO makes him such a good leader.

Practially any statement of the form "Linus did X because he was fed up with whining" is probably wrong, although it may appear to be so at first.

BitKeeper

April 10, 2005 - 5:04am
Anonymous (not verified)

Dude, Larry pulled the plug on BitKeeper usage for the kernel developers.

What?

April 9, 2005 - 10:02am

Did you bother reading this article or the prior one? That's 100% false.

Did you manage to miss most o

April 7, 2005 - 10:43am
Anonymous (not verified)

Did you manage to miss most of what's been discussed? I don't blame you, it's there's been a lot of nasty flames in there.

BitMover won't sell you a license if you, or anyone who works inside the same organization as you, are suspected of working on version control systems. Not even if it's in their spare time and the particular person has never used BitKeeper.

They just point to an anti-competition clause in their license agreement.

wrong. the commercial bk lic

April 8, 2005 - 1:29pm
tedu (not verified)

wrong. the commercial bk license is not the same as the free bk license. notably, it does not contain the "No free use for competitors" section. Notice the use of the word free.

"Wrong?" Am I just making thi

April 8, 2005 - 6:00pm
Anonymous (not verified)

"Wrong?" Am I just making this up or what do you mean?

Whether the "commercial" license of BK contains the clause is irrelevant as they will not sell it to you.

Find a fucking source

April 10, 2005 - 5:45pm

Look many people simply don't think this is true. The article only said that they would not provide a comped liscensce to anyone who works for OSDL but they would provide a comped liscensce to linus or alan if they leave OSDL. The fact that the BM president specifically said they would not provide a comped liscensce, when he could have just said we won't provide them a liscence, strongly implies that he would allow them to buy a liscence.

This is just normal conversational implicature. Suppose I was to tell you "The airline won't give me free tickets because I'm on the terroist watch list." Most people would naturally infer from this that the airline wasn't just denying you passage totally because if that was the case you would have said "The airline won't let me have tickets because I'm on the terrorist watch list." Now perhaps the BM president just wants to avoid admitting that he is denying OSDL a liscence entierly for some PR reason but the articles here give us no reason to believe this is true.

Thus if you want us to believe you that they won't so sell the commercial liscensce tell us what your source is. Did someone at OSDL tell you this? Did you read it somewhere (link)? Do you have personal experience with BK commercial sales?

Ok then

April 11, 2005 - 4:24am
Anonymous (not verified)

GNU Arch?

April 7, 2005 - 3:04am
Anonymous (not verified)

What using GNU Arch? It's quite a good tool.

BitKeeper

April 7, 2005 - 3:32am
Anonymous (not verified)

I was Seriously concerned how things were going to work out, and can now say that I am more than please with this announcement. Linus you have done the right thing. I know it may seem odd, but this whole Bitkeeper thing really did have my spirits down. I am so proud to be a part of such an awesome community. A big shout out to all Kernel developers "RESPECT!"

Happy Hacking
VoidEngineer

Good sentiments, but this was

April 7, 2005 - 6:52pm
Anonymous (not verified)

Good sentiments, but this wasn't Linus' choice. BitMover won't sell him a license as long as he works for OSDL, same with Andrew Morton, so tough nuts for them.

Kind of shows you how important Open Source is to McVoy, huh?

A lack of knowledge

April 8, 2005 - 6:44am
voidengineer (not verified)

Yes, it appears I was lacking in background information when I first replied. There are quite a few incomplete articles out on the wire that speak of this news without due process to the details concerning this event. So now I say it is unfortunate that things had to be as they are, but this is life. Linus and Company (lol Thorin and Company ^_^) are and have proven very resilient, and hopefully with the help of some good ale, and some time to think, the LK will be full steam ahead again.

Cheers

No

April 10, 2005 - 5:48pm

At least the text of the article I saw only said the BM president would not give Linus and Andrew a comped liscensce while they worked at OSDL. If you have some reason to believe, despite the implication in the article that it was only a restriction on the comped liscensce, that they will also stop them from purchasing a liscensce please tell us what that reason is.

distributed source control software

April 7, 2005 - 9:07am
Anonymous (not verified)

Heya,

well to hopefully give some usefull info ... here is a list of "distributed" source control software that I know of (all of these have been mentionned I think):

* svk It's based on subversion, but since it is distributed I'll add it.

* gnu arch: Although you can't compare it if it comes to stresstesing gnu arch in comparison to kernel-development, I use it for my thesis and it works quite nicely. I have seen opensource projects that use it (some on freedesktop.org Ibelieve) A negative thing is that there aren't many gui-tools at teh moment.
There is a cvs-gateway, but I haven't used it. A lot of info can be found on the wiki: documentation, references, related software, ...

* monotone

* darcs

hope this is a little bit helpfull ...,

Michel

gnu arch gui-tools

April 7, 2005 - 9:23am
Anonymous (not verified)

Heya,

the fact that gnu arch doesn't have any gui-tools is maybe not really a negative point.

Michel

gnu arch gui-tools

April 7, 2005 - 9:27am
Anonymous (not verified)

Heya,

the fact that there aren't many gui-tools/ide-integration isn't really a negative point maybe.

Michel

* Bazaar-NG is a VC system de

April 8, 2005 - 6:09pm
Anonymous (not verified)

* Bazaar-NG is a VC system developed by Canonical which lends a lot of ideas from Arch and other distributed systems.

I read through most of the th

April 9, 2005 - 2:22pm

I read through most of the thread on lkml and IIRC all of them have been mentioned and all of them are too slow. Most of the developers involved in the projects know this and are working to add/fix features before doing optimization.


One of the developers looking at the SCM packages even posted this:


I tried some time ago to import the BKCVS revisions since Linux 2.6.9
into a monotone-0.16 repository. I later tried to upgrade the database
(repository) to monotone version 0.17. The result - converting ~3500
revisions would have taken more than *one year*, fact confirmed by the
monotone developers.

Here's another

April 10, 2005 - 9:21am
Anonymous (not verified)

http://www.opencm.org/

Although SVK looks pretty promising.

I'm sorry, but that second lk

April 7, 2005 - 9:15am
Anonymous (not verified)

I'm sorry, but that second lkml post there with the link to "Please stop bugging Linus Torvalds about Subversion" makes me smile. The fact that the maintainers of a project have to tell users that their project is not a good solution for this particular situation is humorous to think about.

It does show a lot of (refreshing) humility on their part, though.

Why?

April 8, 2005 - 8:02am
Anonymous (not verified)

> I'm sorry, but...

Why are you sorry that the second post makes you smile? What exactly are you apologising for? Please stop using more words than are strictly needed.

I'm sorry but My Arse.

BTW, I don't think the comment was really that humble. Subversion isn't the right tool, but it is still a very good tool. I think this is what the SVN team were trying to say, and I would agree entirely.

Adrian (on bug-fix-Friday. Grrrr.)

P.S.

April 8, 2005 - 8:07am
Anonymous (not verified)

I see now that my post is very harsh in tone. I didn't mean to flame, my sincere apologies.

I just have particular dislike for the phrases "I'm sorry, but..." and "The way I see it.."

I have to say, I was glad to

April 8, 2005 - 11:12am
Anonymous (not verified)

I have to say, I was glad to see the svn developers respond in an informative manner; I use svn (happily:), but not on any projects of the scope and complexity of the Linux kernel, and I was curious to see what necessary features were missing..

Thanks Karl!

DARCS

April 7, 2005 - 4:22pm
Tyson (not verified)

I've tried CVS, GNU ARCH, and lastly DARCS (in that order and each for several months or years). Since I switched to DARCS I've stopped looking. It is just so nice! Seriously. It's amazing!

The commands are intuitive (everytime I went to use ARCH I had to spend 1/2hr reading the manual), the way it handles patches is brilliant, and the pushing and pulling works great. Seriously, try it even for even a day and you will be hooked.

Some people seem to be under the impression that there is some scalability/speed issues with it. I'm thinking they aren't using the proper options (like --partial to only pull down patch info back to a certain checkpoint).

There was even a DARCS kernel repository mirror for quite a while (changes to the bkcvs system broke it). I think though that this should be quite a vote of confidence for DARCS being able to handle the job.

I'm thinking the DARCS develo

April 10, 2005 - 2:36am
Anonymous (not verified)

I'm thinking the DARCS developer(s) should spend some time optimizing their code/data structures so that hacks like --partial aren't necessary. I mean, why do I have to care?

I believe the complaint was t

April 10, 2005 - 11:02am
Anonymous (not verified)

I believe the complaint was that it took too long to get the initial copy of a repository (compared to say, checkout in CVS). The reason for this is that DARCS' get creates a complete local version of the repository. It would be equivalent of making an entire copy of your /var/lib/cvs repository (which would have more comparable speed).

Now, before you blather on about how its stupid to make a local copy, go read up on distributed RCSs and read why this is a good thing(TM). In any event, at some point one no longer cares about really old patches (e.g., nobody would probably be working with patches prior to say, 2.4 of the Linux kernel). When this is the case, you no longer need a complete initial copy, and you can tell it this with --partial.

It's not a hack (and get is optimized -- including all sorts of support for hardlinking to speed it up on the same drive). It's an option. Until programs read people's minds you are going to need options. Complaining about --partial is like complaining about having to specify where to get the repository from.

One of the things that is really nice about DARCS (and a very good indication of how well it was designed) is how few commands and options you need.

Larry is hypocritical and aso

April 8, 2005 - 1:52am
Anonymous (not verified)

Larry is hypocritical and asocial,I think .

I think you don't know the gu

April 10, 2005 - 9:34am

I think you don't know the guy and that no one is interested in your opinion, as everyone has their own already. ;-)

The BSDers use the powerful CVSup.

April 9, 2005 - 9:25pm
Anonymous (not verified)

The NetBSD & FreeBSD users use CVSup that his source code is made in Modula-3 using the ezm3 compiler.

open4free © ;)

cvsup is just a distribution mechanism

April 10, 2005 - 5:30am
Anonymous (not verified)

The BSDs use CVS, and are aware of its warts, but will only switch when another system can import their entire 10+ year CVS histories without error, in addition to offering features they want. cvsup allows you to synchronise a CVS tree, or just the checked-out tree, rapidly. It's like rsync that understands RCS and CVS tags and stuff, or a fast alternative to "cvs checkout". It's not revision control software.

Comments on Open Source Software SCM

April 9, 2005 - 4:26am

a very nice paper on various oss SCM

http://www.dwheeler.com/essays/scm.html

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
speck-geostationary