Bitkeeper News Redux
gosand writes "Newsforge is running Part 1 of a two-part interview with Bitkeeper author Larry McVoy. You may recall that there was quite an uproar in the community over Linus choosing to use a proprietary source management tool. Although there are no hard numbers, the estimates are that Linus has been 10x more productive with BK."
What we did to arrive at that number was to simply measure the amount of change over the two-year period in BitKeeper and contrast that with the two-year period before BitKeeper. It worked out to about 2.5x more change.
I'm no mathematician but I'd say that's a decent way of estimating their productivity increase. But does BitKeeper actually help that much? Anyone who has every used it in a production environment please comment.
Linus is processing around 50 patches a day, 365 days a year.
That's a pretty incredible number. If that's the truth, then I'm very impressed.
Wireless News www.DailyWireless
Although there are no hard numbers, the estimates are that Linus has been 10x more productive with BK.
And I'm 1000x more productive with CVS!
Instead of pulling numbers out of the air, just say the guy likes the tool and performs better with it. Sheesh.
Javascript + Nintendo DSi = DSiCade
In one day Linus can hammer out the code that used to take him 2 work weeks? Give me a break.
...You may recall that there was quite an uproar in the community over Linus choosing to use a proprietary source management tool. Although there are no hard numbers, the estimates are that Linus has been 10x more productive with BK...
No interest whatsoever in being a flamebait here so...
Though no hard numbers exist and this is largely speculative all around, one would have to applaud Linus for using any tool that is making him 10x more productive.
I have a theory that the truth is never told during the nine-to-five hours. -- Hunter S. Thompson
There are other things to think about for terms of productivity. Like, how much time per day is he putting into it? How much faster is his setup to allow him to apply patches? Are the patches more/less/equaly in size to the ones from years ago when Linux was getting off the ground.
Evolution or ID?
"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, February 2004
;)?) or what?
Interesting... and BTW, is BK just another SCM(is that the right acronym
If it is, I'm using Subversion, and it's nice ^^
I think you will find that productivity has increase d due to open source, the big companies know that they can be beaten by free software now
Business Voyeur
There's only one small problem with measuring things that way. Things basically are more complicated during the second-two years, therby generating more work. So how much is Bitkeepers doing, and how much is simply more work comming in?
Why there was an uproar over this. Who cares if it's Free or not? It gets the job done better, and in the end that's what counts. The flame wars all over LKML and other places were just wastes of time.
BLING BLING. Meet the architecture that's changing everything.
The lesson to be learned here is very simple...
Open source and propriety software can and should be used hand in hand. The best tool for the job etc. etc. The OSS scene suffers from the idea they are members of some religion and by using anything other then Open Source they are committing a crime against the movement.
Please do not let scientific accuracy interfere with the intended humourous/interesting/insightful value of this comment
Although there are no hard numbers, the estimates are that Linus has been 10x more productive with BK.
No, it's that *everyone* was just 10x more productive after everyone stopped arguing about the whole matter.
just kidding. If BK really helps the kernel dev's, all power to them. I havn't looked at the BK website in a year or so, but one thing I think i didn't like was having to connect to the internet every couple of days if using the unregistered version. while I understand the concept, it's just a bit unsettling. it's nothing in comparison to "yearly subscriptions" for software, as seems to be the current trend for other softwares.
but that's neither here nor there. new evils do not make old evils any less evil, to be a bit extreme.
i currently have no need for BK. i'm done rambling now... mod me sideways!
BitKeeper is a fine product. Check out the other fine products in the same product line:
*BitCreeper debugging tool
*BitSleeper archiving tool
*BitDeeper anti-anti-enhancement spam tool
*BitPeeper anti-anti-porn tool
-[joke removed for your safety]-
The arch people have been making a lot of noise recently, and I've seen more projects using it. Does arch aim to provide the features that BK has currently? How close are they? Has anyone got any experiences to share?
Sometimes the correct decision is to make a decision and stick with it. I hate it when people go back and forth, and can't really nail down what they want to do. I admire that Linus made the decision, stuck with it despite outside pressure, and has proven to at least be much more productive than he was before. Linux has come a long way both technically and work-flow-wise in the last couple of years. It sounds like BK is doing a good job, even if it isn't FOSS.
Great ideas often receive violent opposition from mediocre minds. - Albert Einstein
"...the estimates are that Linus has been 10x more productive with BK." Does that mean we have a new unit of measurement for benchmarking?
Actually, it's meaningless without looking at other factors. Even the concept of more change is so open ended it tells us nothing. As Linux gains users it will certainly increase in these numbers, there is no strong indication that bitkeeper is a factor at all, or how much of a factor it is.
Although there are no hard numbers, the estimates are that Linus has been 10x more productive with BK.
Following the statement that there are no hard numbers , the ten percent figure seems more like a number pulled out of thin air and selected to not be large enough to be called outrageous but big enough to encourage people to make a change. That's not to say we are not talking about a good tool here (I have no opnion on that issue), but this is much more hype than a valid study.
I'm an American. I love this country and the freedoms that we used to have.
So why the big uproar back when Linus began to use BK? Because it was just not "kosher" to use anything else than GNU tools.
Just like the war-against-drugs bigots who cannot accept that fact someone who's a succesful professional can still smoke a joint now and then (a Finnish MP just ruined her career by admitting that she smoked pot a year ago), the free software crowd bigots feel that the reality must be made to fit the theory instead. There must not be better, more productive software than free software.
I have evaluated bitkeeper and it is an ok in terms of configuration management. Most of you are probably not familiar with SCM but what it does is allow you to have branches and multiple configurations at the same time with no threat of destroying other work. Most good tools allow you to visually see structures of files with visual branching history. CVS is a good file management tool but doesn't handle the SCM side very well (Linus mentioned in the article refusing to use CVS). I have used various SCM tools most are very good and if you don't complain but try to understand the process, you'll find yourself 10x more productive (I said I was 10x more productive but no one believed me) - I'm just finally glade someone can actually measure the success of a good SCM product and people may believe others when they say that a good SCM tool will make them much more productive; instead of looking like a dog when you blow a high pitch whistle.
I like Bitkeeper. It is the best. I think that everyone should use Bitkeeper.
What would be interesting is the volume per year since 1993, so that we could see if the growth rate has changed since BK. If I remember well, the volume has always increased a lot.
--
Go Debian!
The monotone project needs developers to create a free software tool solving the same problem. We really do need good tools that are free.
With no hard numbers the 10x number is absurd. I misread it as 10%, and even that number seemed hard to justify since all factors were not considered. 10x is an outrageous claim, and would imply that Linus previously spent almost all his time not doing programming.
I'm an American. I love this country and the freedoms that we used to have.
The only way Linus could be ten times more product on account of Bitkeeper is if he spent NINE TIMES as much time fighting with tar and patch as he did reviewing code.
We derive benefit from the pro bono work in other ways as well. When we are testing out a new release we can put it on bkbits.net and we know in seconds if we have broken something important; people use old versions of BK to talk to bkbits.net every few seconds.
Perhaps having the repository where Linux and other projects are hosted being broken to older clients now and then is a bad thing for a community (though the bk people obviously see it as positive for them - free testing). I understand they're providing everything for free, but perhaps Linux might be better off on a community-supported service (still running Bitkeeper) that is concerned a bit more production status?
I'm not intimately familiar with this, so it's just my two cents, feel free to argue.
"The universe seems neither benign nor hostile, merely indifferent." --Carl Sagan
If it is true that bitkeeper makes him ten times more productive, then he must have spent more 90% of his time in the tool he used previously (was it RCS?).
Folks -- the 10x productivity number mentioned in the article was only an anecdotal claim; Larry McVoy claimed 2x. And the latter number is backed up by some pretty fair reasoning. I RTFA and didn't get the impression anyone was pulling numbers out of their ass.
S
That's not to say that BitKeeper is the only way to get that effect, however. GNU Arch is another distributed revision control system, and Free Software to boot.
:)
"BitKeeper makes Linus 10x more productive" might be generalizable to "distributed revision control makes Linus 10x more productive" -- pity we don't have more sample data yet.
"Who cares if it's Free or not? It gets the job done better, and in the end that's what counts."
Is it? Is it really? Are we really that selfish a species, that if we get immediate gratification it's all good? We've seen this with the Nvidia drivers. We've seen this with Debian and Red hat decisions. And now we seen this with BK. Would anyone care to point out why exactly we all embarked on this journey and elected to put it under of all things a FREE license? Obviously this whole FREE thing isn't important, if we're going to so casually discard it when things get difficult.
Unlike a lot of you, Linus isn't a Linux zealot. He's said on more than one occasion that Linux/OSS is about making the right tool for the job when one doesn't already exist. It has nothing to do with shoving an ideology down everyone's throat.
In this case, Linus decided that Bitkeeper was the best tool for the job, and it is very telling that people are judging him for not complying with an almost religious ideology that he doesn't even subscribe to.
"Ask not what your country can do for you." --John F. Kennedy
There has been a noticable improvement in the 2.5-2.6 cycle compared to 2.3-2.4. Linus and the team has done a super job. Bitkeeper gets a lot of credit for it. I can't help but wonder if similar results would not have been achieved with CVS, Subversion, or arch. Are there any features Bitkeeper has that the free alternatives do not?
The GCC project is of comparable complexity to Linux. They use CVS with some success, don't they?
an ill wind that blows no good
And for the rest of us who enjoy using free software, there's the Subversion (also known as SVN) revision control system.
The article makes some moot points comparing BitKeeper to CVS - since I'm fairly sure anybody who's tried SVN would never want to go back to CVS. I now recoil in disgust whenever I have to access a CVS database - SVN's implementation solves problems in a much cleaner way than CVS and has far fewer rough edges.
That's only 6.3X more productive in Imperial Productivity Units.
IIRC he was not using any SCM at all so yes using one in gneral will help. CVS for me was able to get my team about 10x better (but then again I did most of the work anyways and this was for class).
But anything not using a SCM will be helped by using one.
I remember a discussion about this a while back and a number of people saying that Subversion should be used but isn't yet ready. I'm certainly ignorant of the nuances of version control systems. Does anyone have an update on how Subversion compares to Bitkeeper especially as it might handle kernel development?
"When we are testing out a new release we can put it on bkbits.net and we know in seconds if we have broken something important; people use old versions of BK to talk to bkbits.net every few seconds."
I'm sure they're experts in code management, but their testing procedures could use some work.
In all matters of opinion, our adversaries are insane. -Oscar Wilde
Yeah, but what about Canadian units?
The only reason we have the rights we have is that people just like us died to gain those rights. -- Cheerio Boy
And, I've been burned too many times to count when the company that makes the software changes focus or goes out of business.
Please, detail these closed-source disasters for us. They were working and all of a sudden one day, the software you had paid for quit working? Like when they went out of business, or changed focus? They used a remote-control device in the software to make it stop working?
I keep hearing these justifications for why OSS is allegedly better, but I've yet to see any evidence that this situation has ever actually happened.
Since there were "too many times to count," how about just a few? Did you learn from these experiences, or did you just keep repeating them with shoddy companies? Have you gotten better at picking vendors whose software doesn't self-destruct when they go out of business, or change focus?
Inquiring minds want to know.
*I may be wrong*, but I presume that is to prevent people from producing pass-through programs that use Access as a component and just duplicate Access functionality. As a Studio developer (Enterprise edition only, IIRC?) you can use Access as a component in your compiled software without the end-user having to buy an Access licence. So this is to prevent someone packaging up the Access engine in such a product as a new piece of database software, not preventing you from writing a new database from scratch using Visual Studio.
Nuh-uh. No he didn't!
I've read the BK flames, and what have you done
with the REAL Mr. McVoy?
Larry referenced some stuff I wrote for Open Source magazine recently. Here's the basic information if anyone wants to know what the real rate of change was for the 2.6 kernel development cycle. As for if it is faster than 2.4 we don't have real numbers (bk wasn't being used) but you can take the diffs and compare them for yourselves...
The Linux 2.6.0 kernel was released after 680 days of development. Here are some statistics about the development cycle during that time period:
- 27149 different changes were accepted into the kernel source tree. That averages out to about 1.66 changes per hour over the entire 680 days.
- 916 different developers contributed at least one kernel patch.
- 413 different developers contributed one kernel change.
- 117 different developers contributed two kernel changes.
- 57 different developers contributed three kernel changes.
- 38 different developers contributed four kernel changes.
- 20 different developers contributed five kernel changes.
- The top 10 developers contributed 10933 kernel changes.
- The top 5 developers contributed 6956 kernel changes, averaging out to about 10 kernel changes a day.
- There were 6175 merges in the kernel source tree, averaging out to about 9 merges a day.
- Including merges and code changes, there were just over 2 modifications per hour over the entire 680 days of development.
Idealism is nice and all but it doesn't get shit done.
Unless you've used BK you really have no idea just how much more powerful it is than everything else. And yes, the p2p model that BK seemingly employs is a big part of it, but only a part of it.
BK has beautiful diff and merge tools. It has incredible file history tools. But most importantly, it's best at doing it's job: accurate revision control while staying near completely out of your face. That's why we used it at SOMA, and that's why I really wish we used it at Alias. Of course, all this really just scratches the surface.
Try it. Check in code. Share it with others. Propogate changes between people. Imagine sharing a development branch served off your desktop without doing any setup other than typing "bkd". Imaging 10 people pushing and pulling code between themselves and the server. Now you understand BK. It's not that source is stored or even the toolset alone. It's the fact that umpteen developers can push and pull between themselves and/or the server and accurately propogate changes all around. Combine that with the tools Larry and crew have written, and now you'll understand why it's better.
And to be fair, I work in the field and I've used SourceSafe, CVS/RCS, BitKeeper, Perforce, ClearCase, arch, Subversion, Accurev, and others. BK is easily the best of them... by far!
--ck
He reviews the much of the changes that are going in, and he has designed some of the larger changes, but the bulk of the programming is done by others. This is why comparing the rate of the merging of patches makes sense in the first place, that is mostly what Linus does.
Just from following the kernel development from the outside it is obvious that things have been working much more smoothly after Linus started using bitkeeper than it has in a long time. In the past there has been several periods where the tension has gotten very high mostly because large number of patches has been dropped by Linus without explanation. Lately this seems to have been no problem at all. And this has happened when the rate of the patches going into the kernel has increased significantly.
There may be other reasons for this too, ofcourse. Things I can think of is that the cooperation with the "kernel lieutenants" has been working better. In particular Andrew Morton seems to do a remarkable good job. And, the fact that Linus now is working full time on Linux probably also helps.
Which one would be best to archive all my Slashdot sigs. I can't just look at my old posts and copy them back cause they all change!!
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
We have the capability to make the world's first Bionic man. Stev... Linus Torvalds will be that man. Better than he was before.
Better . . . stronger . . . faster.
*Show Linus typing while hearing that whooshing sound*
I could see it.
Most people aren't thought about after they're gone. "I wonder where Rob got the plutonium" is better than most get.
I get it, "10x" is in binary! They're just saying he's twice as productive.
Help cure AIDS, cancer, and more. Donate your unused computer time to worldcommunitygrid.org. Join Team Slashdot!
Larry used to like to joust with the would-be bitkeeper challengers. I'd like to know what he thinks of them today. My guess is that he still thinks arch is limited by its "diff&patch" foundation, but I wonder what he thinks about darcs", which has some novel algorithms for distributed revision control (I admit I don't understand them all, not being a physicist).
The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
thus the improvement.
Come now, did he NOT leave transmeta and go to OSDN and now has a lot more TIME for kernel work? Regardless of the tool.. more time = more production.
BK may be better but the tool is only as good as the operator.
I can program myself out of a Hello World Contest!!
Well, MacDonalds are not going to be happy about this news, are they now?
Tubal-Cain smokes the white owl.
The CLI has gotten a lot better since 1.0; there are a lot of places where you can use 1 command now to do things that used to take 3.
Anyhow, that's a learning curve issue, not a post-learning-stage usage issue. The post-curve functionality is, IMNSHO, more than enough to justify scaling the curve.
The other is The Simpsons.
*shrug*. I've seen folks describing Darcs as a simpler, easier-to-use Arch with worse performance characteristics, but haven't used it myself.
One plus in Arch's favor is a larger userbase (and thus the availability of tools like arch-pqm, aba, all the miscellany in Arch-contrib, and so forth). All that said, though, I haven't used Darcs, so anything I say about it is pretty much just hearsay.
If I were to switch to Bitkeeper it would be more like 100x, mainly due to the fact that we use PVCS Dimensions at work :(
What can I say, I'm an optimizer..
Many kernel developers send their changes in via
the top few developers. This causes changes to get
credited to the wrong person.
So there are many more than 916 different developers,
and the top 5 developers aren't as active as you
thought they were.
So does BK keep BK keep BK... I bet they use OS to manage it. :)
This seems like just another example where the Free/OSS model has failed.
There are many FOSS alternatives to Bitkeeper such as CVS, Subversion, and arch. And none of them come close to the productivity of this one commercial package.
Why is this? Sure, we've got peer review, no deadline/bottom-line pressure, but we still get outdone. Where is Eric Raymond's bazaar now?
Don't get me wrong, I'm a strong believer in OSS, and occasionally contribute, but there are still areas where we are sorely lacking.
When was the last time you saw a decent FOSS fps game? Crystal Space looks promising, but it's just an engine. Look at Tux Racer, another example of FOSS failure. The game was forked when the original developer decided to go closed source, and the GPL'd OpenRacer project was started. Today the closed-source TuxRacer is a rather beautiful full-featured game, and the FOSS version hasn't progressed beyond a novelty.
Then we get to see Blender, a shining example of when FOSS developers adopt a formerly closed-source project and do it right.
"Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
The GCC project is of comparable complexity to Linux. They use CVS with some success, don't they?
The FreeBSD project also uses CVS for development. Keep in mind that FreeBSD is a kernel AND an userland, which might qualify it to be an even more complex project to manage than Linux.
And on a lesser scale, there is also the example of the Mozilla project which uses CVS with a good share of success.
...doesn't exist, nor dot org, I just checked, it sounded so cool.
this is just wrong. it is just too good of a name to go unused, but I'm broke right now.
Will whomever gets it please give me an email addy from there? Or just start a web based email there? It's certainly got more zing that @google or @hotmail or @yahoo or @my_isp.com
This is not the open source movement's message. Open source is far more compatible with business interests, in fact the whole movement was defined to be more friendly to businesses. The reason they push aside software freedom is because the founders of the open source movement believed that "free software" made business leaders feel uncomfortable. So the open source movement founders not only dropped the phrase "free software", they also adopted a similar but more lax set of rules by which they would judge licenses. As a result, licenses that don't qualify as "free software" can (and some do) qualify as "open source". One is wise to be careful when evaluating licenses approved by the Open Source Initiative that they don't adversely affect your ability to continue developing your own software (such as having to choose between defending patents and licensing software, like the early APSLs did; or making embrace-and-extend possible, because the OSI has no criteria that is comparable to copyleft).
The charge of being a "religion" is nonsense, even when it is lobbed against the free software movement. It shows a lack of appreciation for what religions are and what the free software movement has been working on achieving since 1984. Nobody in the free software movement frames their argument in religious terms, in fact I've seen RMS take pains to avoid such reference. Their argument is based on what kind of society we want to live in -- one that caters to business interests or one where we and businesses can work as equals to give us all the freedom to make our computers do what we want them to do. I recommend you read the essay from the FSF that elaborates on the differences between the two movements and then reconsider the arguments the two movements are making.
Digital Citizen
The article's estimate is 50 patches a day. If kernel development continued at an accelerating rate, it might someday happen that he gets 100, 200, even 300 patches per day.
:P He'd probably have to start delegating the work somehow...
I can't imagine him having anything resembling a sane life if that happens
I personally don't care what they use, but it seems to me that for judging the improved productivity it would be important to consider that the kernel team itself became better over time and also that the team grew and more features are requested as Linux becomes more popular.
But FreeBSD is a cathedral, no bazaar. And IIRC the main argument against using CVS for Linux was that it is not up to the task in the highly distributed and diconnected environment which is Linux development
"When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
We use CVS for the primary repository, and Perforce for an extra repository with a gazillion branches where a lot of the larger projects are done.
The primary reasons we use CVS is (A) habit (it was the only relevant alternative when we started), and (B) The distribution architecture we have for it (cvsup).
Given that we use cvsup as one of our primary methods of distributing continous updates, we would have to re-train about a million users (guesstimate). We also have thousands of developers that are familiar with CVS, these would also need re-training.
Those of us that has looked carefully at the version control/configuration management issues believe we are taking a continous and fairly high cost from CVS. We are probably going to do the switch at some point, but before we do, the relevant infrastructure needs to be in place (distribution of repository copies and checkout a la cvsup is probably the most important), and we should get something with all of the features we need, so we don't have to do one more switch.
The most important that we presently lack are cheap branching, distributed branching (being able to create a branch that only exists in a mirrored repository), and idempotent merges (the same change can be merged through several branches and only enter the system once). Tracking directory metadata and helping with renames etc would be nice, but isn't that important for FreeBSD. (I believe this to be more important than the other shortcomings of CVS for smaller projects, BTW).
A final interesting thought: I believe that the sharp distinction between NetBSD, OpenBSD, FreeBSD, and DragonflyBSD is a result of the lack of distributed branching and easy merging. The personality issues and different goals are there, of course, but I believe these would have been "overrun" with the ability to easily move changes back and forth. The single issue that has resulted in the "deep" splits is the effort involved in moving changes.
Eivind.
Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.