Slashdot Mirror


RMS Calls On Linux Developers To Replace BitKeeper

JakusMinimus writes "The developer of BitKeeper has issued fighting words to RMS and he has responded on the LKML,. I remember the flap about this way back when Linus decided on BitKeeper, now it seems many of the non-free concerns were warranted."

5 of 795 comments (clear)

  1. Filesystem SCM a la ClearCase by BuildMonkey · · Score: 5, Informative
    SCM is how I earn my living. I install, maintain, and development SCM tools, processes, and automation. While I haven't used BitKeeper, I've worked on a whole raft-load of others. ClearCase, while monsterous in its complexity, is the head-and-shoulders winner for large scale development.

    ClearCase is a version database with a powerful query language. You can select file versions by label, date, owner, attributes, branch, etc. Because ClearCase is its own filesystem, it can (but doesn't have to) transparently update your view to the latest versions. (This feature is nice for server rollouts. If something is wrong, change the query and you're instantly back to the old.) Also because it is its own filesystem, ClearCase provides audit builds that tell you everything that was touched when creating a derived object.

    Updates for your view are lightning fast. And it can version directory trees, which is sorely missing in most other products. It has a documented Perl API.

    On the downside ClearCase is roughly as difficult to administer as Oracle. It is expensive in terms of dollars, server hardware, and network resources.

  2. The article RMS responded to by bruns · · Score: 5, Informative

    Here is the article that RMS responded to.

    Has some more interesting stuff in it.

    --
    Brielle
  3. Original message from Larry McVoy by PeeCee · · Score: 5, Informative

    Everyone should probably read where the discussion came from (http://lkml.org/archive/2003/7/17/124/index.html) before commenting on it. Here's a copy.

    ---

    With apologies to the list for the off topic post (I'm really trying to
    not annoy you guys but some stuff we can't let slide due to legalities).

    On Thu, Jul 17, 2003 at 01:05:05PM +0100, Rory Browne wrote:
    > Would the conduction of research(and publication of results of same) on
    > the bitkeeper formats/protocols, preclude users from using the Free version
    > of Bitkeeper, for the research project?

    Yes, for the research project and/or anything else.

    > Would the carrying out of such research using the free version of
    > Bitkeeper, prevent them from developing a product which contains
    > substantially similar capabilities of the BitKeeper Software in the
    > Future, assuming that all copies of Bitkeeper were destroyed before the
    > development started?

    Yes.

    > Would previous activity in the area of developing a product which
    > contains substantially similary features to Bitkeeper preclude users from
    > using the Free Bitkeeper software?

    Yes.

    Each question above can be restated as "Would it be OK if we used BK
    in violation of its license?". The answer is no and if you did that we
    would be forced to come after you, if we don't and some large company did
    the same thing we would have a much tougher time enforcing the license.
    Trademarks and licenses tend to lose their value if you don't enforce
    them.

    Your questions indicate one of two things: you either have a burning
    desire to work on BK itself or a burning desire to copy BK. If it's
    the former, that's easy, send us a resume and if you are a good engineer
    we'll hire you, we need good engineers with a solid understanding of file
    systems, distributed systems, graphs and sets, and/or human interfaces.

    If you are trying to copy BK, give it up. We'll simply follow in the
    footsteps of every other company faced with this sort of thing and change
    the protocol every 6 months. Since you would be chasing us you can never
    catch up. If you managed to stay close then we'd put digital signatures
    into the protocol to prevent your clone from interoperating with BK.

    Instead of trying to copy our work in violation of our license, you'd be
    far better served by doing some new work. If you like SCM then either
    work here, work on some other SCM unrelated to BK, or expect a costly
    discussion with a lawyer. I realize this is an unpopular position but
    that's tough, it's our code and our license and you obey the rules
    or suffer the consequences. The license is a contract and it's an
    enforceable contract, we have gone up against a company who spends more
    on lawyers in a week than our annual gross revenues and successfully
    enforced it.
    --
    ---
    Larry McVoy lm at bitmover.com http://www.bitmover.com/lm

  4. Re:Can someone explain what these programs DO? by tomlord · · Score: 5, Informative

    > [why is hard to write a good revision
    > control system?]

    Many reasons. Here are a few.

    1) precision. If your mp3-player crashes -- big whoop. You'll fix it, or report a bug, or try a different one. If you run your project on revision control system XYZZY for a year, and then discover that it has corrupted 6 month old data beyond repair, now you are really screwed. There are many features in revision control systems that aren't critical -- bugs can just be fixed. But there's a core part of revctl that has to be very robust.

    2) balancing art and science. I suspect that most casual uses of, say, CVS are just thinking about checking out trees, maybe updating them, maybe checking stuff in. When projects are large and busy, though, suddenly branching and merging and history auditting and all the "obscure" features are very important. The problem for the designers/authors of revision control systems is that for those obscure-but-important features: There Are No Right Answers. If you were to try to develop a purely mathematical theory of what those features should do, the fundamental theorem of the theory would be "it is impossible to implement them." In practice, the best you can do is to implement _approximations_ of what those features would ideally do. And worse, there are gazillions of different approximations to choose from. So there's a serious challenge there: to pick a subset of the possible that adds up to the most useful approximation of the impossible.

    4) making wise implementation decisions, especially regarding time and space performance characteristics. Revision control systems ultimately wind up managing a _lot_ of data, and keeping that data around for a _long_ time. In an implementation, you have to make decisions about how to store that data, trading off factors such as the complexity of the implementation, the amount of storage space you'll use, and the cost of retrieving data. Over the lifetime of a deployed revctl system, you can expect factors like CPU speed and disk economics to evolve profoundly far. As basic, text-book software implementation tasks go -- revctl is a fairly challenging one.

    5) distribution. In terms of what users are starting to demand, distribution is a comparatively new thing in revision control. Remember, it wasn't _that_ long ago that CVS didn't even support remote access to a central repository, nevermind distribution across mulitple repositories. Taking distributed operation into account, the mix of slow, medium and fast network connectivity in the world, the economics and politics of administration -- distribution amplifies the challenges of (1)..(4).

  5. Re:unbelievable. by Minna+Kirai · · Score: 5, Informative

    Exactly. You do not have to follow the GPL.

    It's not an EULA. EULAs try to forbid you from doing things which are legal. The GPL allows you to (optionally) do things which are illegal.

    Read section 9 of the GPL:
    9. You are not required to accept this License, since you have not signed it.