LWN.net Logo

Bitkeeper, the universe, and everything

Bitkeeper, the universe, and everything

Posted Feb 24, 2004 17:19 UTC (Tue) by dh (subscriber, #153)
In reply to: Centralized vs decentralized by lm
Parent article: subversion 1.0 is released

Larry??? Is it you???

:-)

Well, no-one here actually talked about Bitkeeper so far. Knowing CVS and
having read about Bitkeeper, it's clear to me (and should be clear to
anyone else having similar experiences) that there are lightyears of
difference between those two regarding capabilities - and possible
working sets. We just learned that Subversion is "CVS done correctly", so
this comparison stands for Subversion the same.

Everyone digging a little bit into capabilities of revision control
should see that

(a) the huge difference is "one repository - many repositories" and

(b) a system granting "many repositories" can always emulate a system
managing only one repository.

Because of (b), I cannot follow those who claim arch being inferior to
subversion due to not having a centralized repository. For me, it seems
as if those people haven't fully understood the concepts.

Anyway, comparing Bitmover to CVS or Subversion or any other
single-repository-system is like comparing steam engines to moon rockets.
It's boring, because you know the results... For me, a comparison between
Bitkeeper and, say, arch would be much more interesting.

Most interesting, of course, if it comes from a person neither involved
with Bitmover nor with arch...

Best regards,
Dirk


(Log in to post comments)

Bitkeeper, the universe, and everything

Posted Feb 24, 2004 19:20 UTC (Tue) by lm (guest, #6402) [Link]

Hi Dirk,

I can't do the comparison to Arch objectively because we produce a product with a similar model. I suspect, however, that an objective comparison would come up with things like:

  • BK is 6 years old and has fulltime talented staff working on it. Hence it is more mature, better docs, better platform support, etc.
  • BK scales better. Try and import 38,000 changesets in Arch and watch what happens. That's not to say that BK is zippy, it needs be better, but it can at handle the kernel in the free version and upcoming commercial versions are much faster.
  • BK merges better, both automerges and hand merges.
  • BK is easier to use. We add a new user who syncs with bkbits.net every 45 minutes. More than 50,000 users have figured out how to use BK without ever talking to us. I've designed and built two different SCM systems, I'm well versed in at least 8 others, and I have a tough time with Arch. SVN wins that battle hands down.
  • BK has far more infrastructure built up in it to handle all those little tasks that come up when doing SCM things. BK can import/export CVS trees, for example. One customer said "we rolled out BK and threw away the 6,000 lines of perl we had wrapped around CVS, BK does all that". I can't emphasize this point enough. We can all argue which model is better in theory but even if you have the perfect model there are 1000 details that have to be handled that have nothing to do with the model.
  • Better testing. 1/4th of the BK source base is regressions. We run regressions on all platforms all the time, it's a huge stability win.
  • Better platform support. We support Windows, MacOS, all the BSD/Linux and commercial Unux platforms equally.
  • GUIs. We have some pretty pleasant GUIs and they are getting better, see bkexplorer for example. Not exactly eye candy but it gets the job done. And we offer Visual Studio integration, etc.
  • More workflows. See this description of using BK on a submarine or this talk on various BK workflows.
  • Infrastructure you can use. We have a free hosting service at bkbits.net which hosts the kernel, mysql and a pile of other projects. No ads, no nonsense, just a place to put your stuff. And it's a ton faster than sourceforge.
  • Business model. We have a business model that pays for BK development. No outside investors, hence no stupid business decisions which hurt the end users. Contrast with Arch where the primary developer is forced to beg for handouts or SVN where HP paid for the development. You may or may not like our model but SCM tools are annoyingly complex (it took SVN 3.5 years to get to a CVS clone) and you need some development effort that isn't going away.

Personally, I am starting to think it is great that Arch et al exist. They get people away from the licensing discussions and get them focussed on the model. We like the distributed model, it clearly works better, and if you have to use open source tools we'd rather have you learning about the model we think is better.

The difference between Arch and BK is going to be a lot like the difference between GCC and Microsoft's compiler. I just timed compiling BK on windows with gcc vs Microsoft's compiler: 10m41s vs 4m40s. They both do the same thing at some level, one just works better. You pays your money and takes your choice and the old adage you get what you pay for still applies.

Bitkeeper, the universe, and everything

Posted Feb 24, 2004 21:06 UTC (Tue) by ballombe (subscriber, #9523) [Link]

You know better than comparing compilation time of compilers.

Bitkeeper, the universe, and everything

Posted Feb 24, 2004 21:26 UTC (Tue) by khim (subscriber, #9252) [Link]

I just timed compiling BK on windows with gcc vs Microsoft's compiler: 10m41s vs 4m40s. They both do the same thing at some level, one just works better.

Have you tested it with Intel Compiler ? Last time I checked Intel compiled required few times more then even gcc. And it's still cost extras and it is better. It's stupid to compare compiler on speed.

Bitkeeper, the universe, and everything

Posted Feb 24, 2004 23:10 UTC (Tue) by piman (subscriber, #8957) [Link]

Hi Larry,

You put the rest of us in something of an unfair position. The BitKeeper License (as I find it at http://www.bitkeeper.com/bkl.txt) clause 3c prevents those developing products similar to BK (i.e. other SCMs or SCM-related software) from using BitKeeper under its free license. Thus, the Subversion, Arch, or Monotone developers can't try out BitKeeper to compare features, speed, and so on. Whereas since those are all released under a free software license, you are free to try them out and evaluate them even though you are competing with them.

Thus, no free SCM developers can provide a fully informed (if biased) critique of BitKeeper in the same way you can provide a fully informed (if biased) critique of Arch or Subversion. If you are so sure about BitKeeper's capabilities compared to the competition, perhaps you should remove clause 3c.

Your baiting comment about compilers is disappointing; given the amount of software development you've done, you should know better than to provide such a useless benchmark.

Bitkeeper, the universe, and everything

Posted Feb 24, 2004 23:26 UTC (Tue) by aya (guest, #19767) [Link]

Hi!

It's convenient that you mention speed, Robert Collins has been working on code lately to speed up arch by cutting down on system calls for file info. This probably won't be merged until 1.3, though. (The current release is 1.2-pre2.)

I guess I'm not qualified to say anything about BK's merge capabilities; I'm not going to use the free version, since I may hack arch in the future if I have time, and I'd rather not budget a commercial license. (Please note, this isn't a license flame. It's your software, it's your license, and I'm fine with that. In any case, I know better than to try to resurrect a horse that's been kicked to a million deaths already ... Besides, I'm glad the kernel team is using something better than the previous process.)

I do know that I don't really have a handle on arch's merging features, though, so at the very least your comment about documentation rings true. UI and documentation are commonly cited as GNU Arch shortcomings. Still, from what I've seen, arch's merge operations aren't *that* far off from BK's, though I suspect BK's are easier to use overall. The general use pattern is the same; develop in a local branch/repository of a project, filter changes into an integration branch, and have the project lead merge from your integration branch.

I will say this about the license, though: the BKL doesn't seem to be linked from any page on bitmover.com anywhere anymore. To read it, you seem to have to download and run Bitkeeper. I realize people bitch about the thing all the time, but that's not good for people who want to read the license to see if they can use BK before downloading it ...

Bitkeeper, the universe, and everything

Posted Mar 30, 2004 2:57 UTC (Tue) by ghudson (guest, #20530) [Link]

I'm not sure where Larry got the idea that "HP paid for the development" of Subversion; it sounds like he thinks some big company felt charitable one day and decided to dump a few EFTs into open source SCM development.

Subversion development is hosted and partly funded by CollabNet (which I have no financial association with), which as I understand it is a startup company whose business model is to sell a commercial product which either does now or will soon integrate Subversion, among other components. By making Subversion open source, I believe they hope to be better able to compete with the heavies like IBM/Rational than they could either by integrating CVS or by developing a proprietary SCM system.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds