Slashdot Mirror


Interview with Tom Lord of Arch Revision System

comforteagle writes "Every revision control system has its supporters and detractors, but none is as polar as Arch. Either you hate it or think it is the best thing in revision control ever. Built more around what our beloved kernel hackers use (BK), Arch is definitely a departure from CVS and Subversion. I've interviewed Tom Lord, Arch's daddy, about the application, and he has some -ahem- interesting answers and opinions."

14 of 334 comments (clear)

  1. I'm left out... by Three+Headed+Man · · Score: 5, Funny

    "Every revision control system has its supporters and detractors, but none is as polar as Arch. Either you hate it or think it is the best thing in revision control ever."

    They forget those of us who have never heard of it before.

    --
    I'm probably at the karma cap. Mod up a funny troll instead, it lightens the mood :)
    1. Re:I'm left out... by Humble+Legend · · Score: 5, Informative

      I used Bitkeeper for about two weeks, before being told that since I'd said this on the arch list: "I'd cringe if I had to use Bitkeeper", and because of my public pro-stance on free software (as they had researched from my homepage - http://www.souldound.net/), I was on their shitlist and they would not sell me, and therefore the company I currently work for, a license to use Bitkeeper.

      Needless to say, I found this a little confronting, took stock of my temporary moral slip in even considering the use of proprietary software (forgive me Free Software gods), and promptly got stuck into arch/tla, which I've now been using for about a month.

      In my experience, tla is more flexible - the design really does reach high, although the learning curve (at the moment at least) is a little higher for sure - you really do have to go read the tutorial, wiki, etc. I found the people on the gnu-arch-users@gnu.org mailing list to be very helpful though - even if personal/ power tiffs were going on, those involved never ceased to be supportive in replying to my questions.

      Hope that's a useful datapoint,
      Zenaan

      --
      * The Humble Legend * Debian Enterprise: http://debian-enterprise.org/ * Homepage: http://soulsound.net/ * PGP Key: h
    2. Re:I'm left out... by Anonymous Coward · · Score: 5, Funny

      What is it with version control and asshats? It's like they're attracted to each other or something. I doubt anyone would deny McVoy is an asshat, and Tom Lord certainly hasn't seen daylight in years do to his choice in rectal headwear. The SVN devlopers can be asshats from time to time. I'm not sure if the CVS authors are asshats, but they're probably dead by now anyway. A ClearCase developer punched a baby once (in his defense, the baby was being kind of a dick).

      I rest my case. Version control makes asshats out of people.

  2. Shouldn't headline read by Anonymous Coward · · Score: 5, Funny

    Interview with Tom, Lord of Arch Revision System

  3. How to download the source: by Anonymous Coward · · Score: 5, Funny

    # cd /usr/src
    # export CVSROOT=:pserver:anoncvs@cvs.gnuarch.org:/usr/cvsr oot
    # cvs login - the password is anoncvs.
    # cvs checkout arch

  4. Glad to see.... by GillBates0 · · Score: 5, Informative
    Support Services (coming soon...)
    * Per Incident
    * Subscription
    * Deployment Services
    * Custom Development

    that they're considering starting Support services soon. As a Configuration Management guy at a fairly large company, one of the reasons major corporations choose commercial version control software (Rational ClearCase, etc) over the open source counterparts (CVS, etc) is primarily due to lack of formal support.

    I'm all for open source and even dislike it when companies reject Linux because of "lack of support" (this is ofcourse changing with RedHat's efforts), but experience has taught me that not everybody in a large organization is a hacker and willing to figure out the intricacies incase something goes wrong. They'd rather pay for a service contract incase anything goes wrong.

    And ofcourse, there's also the accountability angle (which I dislike) to it, when you're using the version control software to develop critical/huge amount of bread-and-butter software - companies want to be able to have someone to point fingers at incase something messes up.

    --
    An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
  5. All that and he doesn't explain... by omaha · · Score: 5, Insightful

    I use subversion and have been on the lists for a couple of years now. Tom Lord has been to those lists as well. In all those times, including this one, he has never explained how arch is better. For the lead developer to be unable to communicate the rasion d'etre for a project in a way that makes others curious is not a good thing.

    Primarily, he has only flamed svn. Even this interview he talked more about svn than arch. Nothing he said raised any interest in me to look at arch.

    Also, his criticism of svn's current backend was true 8 months ago. There is another backend that will be available soon. And with that, the sytem will be able to handle additonal backends in good form.

    SVK, which Lord mentioned, is a feather in svn's hat since it uses subversion as a base. If distributed mode is a real need I would suggest looking at BK or svk.

    1. Re:All that and he doesn't explain... by omaha · · Score: 5, Informative

      As to svn backends... I think it is prudent to point out a false statement made by Lord.

      from: http://web.mit.edu/ghudson/info/fsfs/

      "FSFS" is the name of a Subversion filesystem implementation, an
      alternative to the original Berkeley DB-based implementation. See
      http://subversion.tigris.org/ for information about Subversion. This
      is a propaganda document for FSFS, to help people determine if they
      should be interested in using it instead of the BDB filesystem.

      and from http://subversion.tigris.org/svn_1.1_releasenotes. html
      "Non-database repositories

      It's now possible to create repositories that don't use a BerkeleyDB database. Instead, these new repositories store data in the ordinary filesystem. Because Subversion developers often refer to the repository as "The Filesystem", we have adopted the rather confusing habit of referring to these new repositories as "fsfs" repositories... that is, a Filesystem implementation that uses the OS filesystem to store data."

    2. Re:All that and he doesn't explain... by SpootFinallyRegister · · Score: 5, Insightful
      this interview contribures nothing. almost all of his comments about subversion seem to be of the "you suck!" variety; plenty of emotion, not much fact. on the points he did make:

      Subversion requires a fairly heavyweight server

      i run a subversion repository on a FreeBSD system with a Duron 600 and 128Mb of memory, and the upstream link is only 128kbps dsl. subversion runs as smooth as silk, locally and remotely. i do not consider this to be a heavyweight server.

      The implementation is too complicated, the use of BDB as the primary back end creates admin hassles... managing database log files and backups

      somewhat true. i dont like the fact that subversion is currently tightly bound to BDB and Apache, but this is purely behind the scenes -- subversion's implementation can (and i imagine will) be evolved to support many backends, and issues with BDB are just issues with BDB. i dont think its fair to expect subversion to be fully open and support all sorts of databases and file systems for its backend at 1.06. furthermore, evolution of the implementation can be done so that old repositories still work fine with a new version, the new version has the option to use a dfferent backend, and most importantly, there will be absolutely no difference for user whatsoever.

      having to run a recovery process or worse on the server whenever it fail

      recovering a corrupted database of filesystem is never fun. nobody looks forward to running fsck. however, Lord makes this sound like a common operation for whenever something fails -- clearly, he has never typed the words svn help cleanup. when user operations go bad, it doesnt corrupt the repository, and recovery isnt necessary. any problems created by an interrupted operation affect only the working copy, and can be fixed with a simple svn cleanup.

      the poor merging support

      Lord references the poor merging support a few times, but fails to actually detail a complaint. branching as a copy is just a clean intuitive manner to visualize a new branch off of the current line, and one that works with his precious named identifiers instead of version numbers as well. the merging is a little different than cvs, but is as good at worst. if Lord can go off on "Arch is great (you just have to learn all about it and configure your environment in just the right way)", i would think he would leave some leeway for subversion requiring a user to have at least a general birds eye view of its operation.

      overall, this interview is like a political campaign that only attacks. i do not see any arguments in the text of "arch is better in this area because...", i only see "XXX is bad for the other guys." i've always taken the same view of these campaigns: if he had substance to support his product, he would have given it to us.

      and in finale, he uses the final paragraph to make excuses for arch having most of the same shortcomings he lists for other revision control systems.

      in all honesty, i am not familiar with arch. if arch does things better than subversion, i would love to hear it; and i am not claiming here that subversion is better. i can't, since i dont know arch. Lord would have been wise to use this interview as a forum to tell us about arch, and tell us why its good, but he didnt, and he has unfortunately turn my view on arch from neutral to maybe a little negative by virtue of jerkitude.

      i take one overall feeling from this interview, due to its lack of content and vitriolic but often uninformed attacks. Tom Lord, who are you trying to fool?

  6. Argument by Slashdot(r) ? by legLess · · Score: 5, Funny

    Tom Lord sounds like he got his argumentation skills by watching Beavis and Butthead, reading JeffK, and getting into flame wars with trolls on /.

    Q: What's wrong with Subversion?
    A: It sucks.
    Q: What's wrong with CVS?
    A: It sucks.
    Q: Can you be more specific about Subversion?
    A: Yes. Subversion is teh suck. I realize that's a little inflamatory, so let me say that the sky is blue, dogs are hairy, and Subversion is TEH SUCK, fagg0t!!11
    Q: Can you be more specific about CVS?
    A: Yes, allow me to be more specific. It sux0rs. Hard. CVS is teh sux0r.
    Q: What's good about Arch?
    A: It rules. Also, I have a large penis. Fagg0t.

    --
    This isn't as much "normalization" as it is "don't take so many drugs when you're designing tables."
  7. No people skills. by Ectospheno · · Score: 5, Interesting

    Tom Lord has tried to work more closely with other revision control packages before (including the subversion team) but he has been hampered by his complete and total lack of people skills. I don't think he tries to, but he ends up offending everyone he tries to have a "discussion" with. Its comical and sad at the same time.

  8. arch is... by EsbenMoseHansen · · Score: 5, Informative

    The good things about arch is:

    1. Changeset orientation --- patches are project oriented, not file-oriented, which is better (IMHO)
    2. Easy to make a private branch of a repository which you do not have access to
    3. Supposedly good merge mechanism
    4. Revisions are stored as simple changesets (patches) with only tarring and bzip2'ing.
    5. It has a lot of advanced features.

    The first two are why I use arch. The bad things are

    1. In Tom Lord's words, tla (the arch implementation) is a box of sharp knives. In other words, the interface is dangerous, uncomfortable, extremely badly documented and very clunky. E.g. simple operations like switching branch requires several commands and until all commands are executed the local version is in an inconsistent and unusable state
    2. It's very slow. When working from a local repository, it feel roughly like cvs on a public mirror. A patch to partly fix this was rejected.
    3. It uses just about every character available to the UNIX file system, including comma, =, {,} and more, and generates insanely long name. Some work is supposedly going on to fix the long names, though.
    4. To use safely, you have to know some graph theory. (I do, but I don't believe everyone should)
    5. Some commands are only safe if you have perfect knowledge of other users actions (star-merge).

    Oh yeah, the development has just sun-flared just when it had begun starting up again. A huge flame war (where Tom's primary contribution seemed to be "Grow up", "You're childish" and worse) arch is now without a release manager, and understandable nobody wants to take that role.

    In short, arch has great promise, but needs some drastic changes.

    --
    Religion is regarded by the common people as true, by the wise as false, and by rulers as useful.
  9. I want to thank the Subversion team by MemoryDragon · · Score: 5, Insightful

    Although this is an Arch thread, after these rantings by Tom Lord (geeze does he really need to bash other projects without any serious explanation every time he gives an interview) For the wonderful CVS replacement they made. I used SVN for half a year in my last job, and the thing never gave me any serious trouble. From the day it reached 1.0 there was at least a basic integration support there, and the mailing lists are well moderated. Thanks Subversion team for the excellent program you delivered, you dont deserve Tom Lords constant bashing. But back to Arch, everybody knows it is a good program, all it needs is better tool integration. The problem has been existing for years.

  10. Re:darcs by Anonymous Coward · · Score: 5, Interesting

    Hi,

    I (Larry McVoy) have looked over Darcs, Monotone, Arch, Codeville, and I think some others that I can't remember and I can easily say that no, they haven't discovered much of what we have done.

    Let's take darcs as an example. It's a cool system if you are a math or physics person. You can write proofs about how it works, much like BitKeeper. We like that and applaud anyone who is thinking that hard (and if you are looking for a job please come talk to us, we are always hiring). However, darcs suffers from the math problem. It's all about math and not at all about being pragmatic. Here's a for instance. The BitKeeper tree holding the 2.6 kernel has about 55,000 changesets. A null update using BK is 4 seconds (which is insanely slow in our opinion). Try doing the same thing with darcs and you will wait and wait and wait... That's just the first example of how it doesn't scale. The openlogging tree for linux is somewhere north of 110,000 changesets. *All* other systems die with that sort of load. We're slow but we work and we know how to fix the slow part.

    This problem space is strange, it is part math and part pragmatism. You have to do both and darcs does one of them. And it does it in only one of the areas, there are many many more. Repository synchronization, rename handling, merging, user interface, installation tools, working well on Windows as well as Unix, etc., etc.

    Our payroll is higher than any open source SCM system has generated by a factor of 50. It's higher than the reiserfs payroll, it's higher than lots of well known little companies doing useful stuff. It's high because there are lots and lots of corner cases *in addition* to the hard math stuff which needs to be done.

    Since we're talking about Arch, here's another example: we recently got a commercial customer who tried out arch on windows and came back and told us BK was at least 10x faster. And we told him that we think BK is way too slow on Windows. He liked that. The point being is that it isn't just about architecture, or licensing, or features, it's about a lot of not-so-fun stuff and that's why a commercial answer will always be better than a free answer. It costs a lot of money to solve the non-fun problems. Open source solves the fun problems (extremely well, I might add) but unless the project is very visible (i.e., the kernel) it starts to fall down when you hit the non-fun problems. Think about it - if noone is paying you money or telling that you rock while you are doing the grunt work - how long are you going to do that? Not very long, just look at 90% of the "projects" on sourceforge, all talk, no code.

    It's worth repeating that last bit. SCM is an undervalued field. Every engineer thinks that they can reproduce what BK does with a few scripts wrapped around CVS or RCS. While they may think that it flies in the face of the over 100 man years we have in BK and we know we are nowhere near good enough. The bummer is that the perception is that this stuff is easy but the reality is that it is hard. Both technically hard and detail hard. It's way more work than people think. But precisely because people don't value it, that's why the only real answer is a commercial answer. Yeah, yeah, you all love to give me crap because BK isn't GPLed but *none* of you have put in 1/10th as much effort as I have or have made 1/10th as much of a difference in this space. Talk is cheap, show me a better answer and I'll be impressed. It won't happen because it costs way way way too much money to deliver a better answer. How's the arch installer on windows? Graphical? Is it careful about not screwing up the registry? Can you have two different versions installed at the same time? What about the transport layers? Works over http? Really? Through all the wacky proxies out there? You get the idea, right?

    That's why all this discussion of arch or darcs or whatever is just nonsense. You all think this stuff is easy so you are never going to cough up the $30M or so it will take to solve it right. Sad but true. I guess it's good for us, it means we have a market, but it would be nice if you knew a bit more about the topic. I love it every time it comes up, the world is definitely becoming more aware at least.

    --lm