Slashdot Mirror


Tridgell Reveals Bitkeeper Secrets

wallykeyster writes "The Register is reporting on Andrew Tridgell publicly demonstrating how to interoperate with Bitkeeper. During his keynote at the Linux.Conf.Au, Tridgell connected to a BitKeeper site via telnet and used the mostly forgotten "help" tool. Ethical arguments of aside, what really counts as reverse engineering anyway?"

14 of 373 comments (clear)

  1. lol @ #buttes, failures. by bethane · · Score: 5, Interesting

    Well, I think it's safe to say that Linus Torvalds is wasting his time on his new RCS, 'git'. He may as well just go ahead and write a BitKeeper-compatible system, since he liked BK so much. Oh, wait. That's morally "wrong". So says the guy working on a clone of the UNIX operating system. Something doesn't quite add up here.

    --


    Bethanie: Whore...
    Fan Whore
    1. Re:lol @ #buttes, failures. by Frank+T.+Lofaro+Jr. · · Score: 5, Insightful

      Exactly. He didn't do something immoral, like cloning the IBM PC via reverse engineering.

      We should have never had the PC revolution, because that resulted from the availability of PC clones.

      We should have to pay over $1000 for a system with only 200 megs of disk and 8 megs of RAM. We should eat from the poison tree of reverse engineering.

      (end of sarcasm)

      Seriously, reverse engineering is legit. It is responsible for a lot of progress. It used to be legally protected, until insane laws (DMCA) and insane judges (Southern District of New York, Federal court system, etc) got involved.

      --
      Just because it CAN be done, doesn't mean it should!
    2. Re:lol @ #buttes, failures. by BHearsum · · Score: 5, Informative

      Uhm. Nope.

      Linus has stated that a centralized system would not work -- which is why subversion is a bad choice. He *needs* something distributed. Apparantly monotone was a possible choice, but in the end he decided to write his own system.

    3. Re:lol @ #buttes, failures. by tzanger · · Score: 5, Insightful

      The DMCA specifically allows reverse engineering for compatibility.

      I just had a discussion over dinner with some friends about this very subject. What it basically came down to was that even if there is a provision for it, it's gonna take someone with deep pockets willing to go to court over this. Hell even Adobe won't take it on, and they'd need it to use the Nikon raw file format.

      The discussion also brought up an interesting point -- When is compatibility not the reason to reverse-engineer something? I mean even if you reverse engineer with the intent to make your own product, are you not technically trying to interoperate with something else?

    4. Re:lol @ #buttes, failures. by blueskies · · Score: 5, Funny

      And who the HELL are you to be telling Torvalds how he should spend his time?

      I did some research on him:

      He is Mikael Johansson.
      His slashdot ID is 814403.
      And here is a link to his account in case you want to know more: http://slashdot.org/~Mikael%20Johansson.

    5. Re:lol @ #buttes, failures. by LWATCDR · · Score: 5, Informative

      Wow the list of things that are just wrong with you post is long.

      No Unix is not Open Source and no it was not in the past. Some BSD versions of it are You had to pay extra for the source to UNIX and you where not allowed to copy it.

      VAX is not an OS it is a family of computers. VAXs could run Unix, VMS, and a host of other OSs. VMS is still alive and is now called openVMS. Sure there are a lot more systems running Windows, Linux, and Unix than VMS but it is a very robust and secure system that is still at the heart of some very important systems.

      The first DOS had no Unix in it. It was more of a clone of CP/M. CP/M was not like Unix at all except that it had a command line and some strangely named utilities like pip. Only when Dos version 2.0 came out did any remotely Unix style features like directories and the pipe get added.

      SUN is not an OS it is a company. They did have Sun OS and now Solaris both of which are UNIX. And they paid for the UNIX source code as did IBM for AIX. Berkley was given the code I think then got sued for giving away BSD until the court found out that AT&T had borrowed back a lot of BSD code so it became a wash.

      "If BitKeeper wishes to keep their source proprietary then it is morally wrong."
      This is also just garbage and totally ignores the real issue. I do not care what RMS or anyone else says closed source is not immoral. People should have the "FREEDOM" to keep their source closed, open it, or to charge anything they want for it as long as they are not a monopoly.

      I have no problem with them keeping their source proprietary. That is their right. We are not talking about source code here. We are talking protocols and methods and that is a very different thing.
      What I find very wrong is using a programing tool that has a license that restricts what type of software I can write! If I wanted to use Bitkeeper I could not use it to manage the source of a Bitkeeper like program! What is worse is if I used Bitkeeper I could not then WORK on a Bitkeeper replacement even if I used CVS for that project! Imagine if I was not allowed to write a c++ compiler using Visual c++! Or I was not allowed to work on OpenOffice because I used Excel at my job! How people would be screaming about that! Bitkeeper I guess had every right to require it however I have to say that to accept that seems just wrong. I am sure that at the time it seemed like a fast solution to a big problem. Now it could turn into an even BIGGER problem.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    6. Re:lol @ #buttes, failures. by smallpaul · · Score: 5, Insightful

      I think I understand Linus' thinking about this based on some of his emails that were not as widely circulated as others. Linus is a pragmatist. He doesn't see open source or reverse engineering as intrinsically morally good or bad.

      He sees them as good things if they produce good (profitable, valuable) results. He is upset with Tridge because he believes that Tridge had no good (profitable, valuable) end-game. Tridge's actions were destined to destroy the cooperation between the Linux kernel team and BitKeeper. Yet there is no situation in which those actions lead to benefit to either the kernel team, or the open source community or the BitKeeper company (in Linus' opinion). Here he is in his own words.

      Tridge wanted to create a tool that checked out BK trees for people who didn't sign the license. But it still needed BK to actually do anything useful - since it would not actually do the work that BK did.

      "Hey, that's a useful helper". Yes, except when it isn't.

      And it isn't, if releasing it just causes the BK protocols to change, and people who used BK in the first place to have to stop using it, and when using the tool against a BK repository is a violation of the license that the BK user agreed to.

      See the problem now? Tridge's tool would have been useful if that usage had been sanctioned by BitMover. But since that tool ends up invalidating your right to use BK in the first place, and since that tool can not replace what BK did, then yes, the tool is pointless.

      So you have three choices
      - don't use the tool (which makes it useless)
      - use the tool, but stop using BK (which makes it useless)
      - use the tool _and_ use BK, which violates the BK license

      Two useless cases, and one outright license violation.

      Now, let's look at a _constructive_ case: let's say that Tridge had written a really good SCM. Now the choice would be:
      - use the tool (cool, that works)
      - use BK (cool, that also works)

      and everybody would be happy. If a developer wanted to switch to Tridges hypothetical tool, BK comes with the stuff needed to export your own data.

      In other words, it wasn't the act of reverse engineering that is wrong. It is the act of screwing up Linus' life and BitKeeper's advertising scheme without having any beneficial side effects.

  2. Bit Keeper's actually... by Anonymous Coward · · Score: 5, Funny

    A man named Johan Mikelson who keeps track of every bit inside his head!

  3. Perhaps a stretch by jonnystiph · · Score: 5, Insightful

    Does anyone remember taking thier first radio apart "just to see how it works". This in the most base form was reverse engineering. Personally if you have the resources and the desire, by all means. Find out what makes it tick. The only reason Bit-Keeper is annoyed is because they see a free product competing with thier own. Not yet persay, but in the very near future.

    --

    If we don't make light of everything, we are just stumbling in the dark - Blank

  4. Re:Do this change something? by stry_cat · · Score: 5, Insightful
    Linus has made his decision and i think that this isn't that good for bitkeeper.


    Actually I think it is good for bitkeeper. No one at my company had ever heard of BitKeeper until this controversy started. Now they're looking into using it.

    Any publicity is good publicity
  5. The Linux Life? by mveloso · · Score: 5, Funny

    These political spats are fun, but realistically speaking, this is degenerating into an episode of "The Simple Life."

    Next thing you know, Torvalis will be breaking up with Perens because "well, he knows what he did."

    Person 1 liked a tool. Person 2's actions caused the first person to lose rights to his tool. Person 1 vents. Person 3 vents on Person 1. BFD.

    Soon, there will be a group hug and an exchange of hair care products. End of story. Welcome to "life in the big leagues of software." Tune in next week, when Person 5 attempts to purchase a voltage regulator.

  6. PC reverse-engineering != typing "help" in telnet by js7a · · Score: 5, Insightful
    IBM would give you a map of the pinouts and everything else
    On the contrary, the entire "microchannel archtecture" is still considered a trade secret by IBM (please correct me if I'm wrong, but I think there is a contractual reason that it might always be.)

    Also, you still can't get docs on a whole lot of BIOS stuff which was reverse engineered years ago, because of indefinite-duration contractual obligations.

    In any case, certainly, using telnet to type "help" and reading the resulting documentation does not count as reverse engineering. It is instead a form of RTFM/RTFD.

  7. Re:Do this change something? by Eberlin · · Score: 5, Insightful

    Of course that is until people look deeper into what the publicity is all about. McVoy pretty much illustrated the inherent dangers of not being Open Source -- that at a whim (of a madman?) all your data are belong to them.

    Worse yet, we've illustrated that here's someone who's willing to do just that...yank his product from under a high profile project.

    If your company is looking into using BK, you may wish to take these recent events into consideration or at least bring them up to those making the decisions.

  8. Re:tridge's source code is up for download by close_wait · · Score: 5, Informative
    Here are some relevant sections from the README

    cePuller was written for two reasons. First, because the terms of the free BitKeeper license are not suitable for some members of the free software community. This can occasionally lead to frustrating situations where a free software developer wishes to access a BitKeeper repository, and is either unable to, or can only access it via a gateway that translates the repository into another format, possibly losing some information.

    The second reason for writing SourcePuller was to provide a open library of routines that can talk to BitKeeper servers and manipulate local BitKeeper repositories. It is hoped that this library will be used by the authors of other source code management systems to allow them to interoperate with BitKeeper. Eventually this should result in an improvement in the quality of the various bk repository gateways.

    SourcePuller is not intended to be a full replacement for BitKeeper. Instead, you should use SourcePuller as an interoperability tool for situations where you cannot use bk itself. SourcePuller is missing a large amount of core functionality from BitKeeper, and thus is not suitable as a full replacement.

    Update - April 2005
    -------------------

    As you probably know, there has been quite a fuss lately about this code and the fact that BitMover has now withdrawn the free version of bk. First off, I would like to say that this result was not the intention when I wrote this code. I had hoped that an alternative open client would be able to coexist happily with the proprietary BitKeeeper client, as has happened with so many other protocols. An open client combined with the ability to accurately import into other source code management tools would have been a big step forward, and should have allowed BitMover to flourish in the commercial environment while still being used by the free software community.

    I would also like to say that BitMover is well within its rights to license BitKeeper as it sees fit. I am of course disappointed at how BitMover has portrayed some of my actions, but please understand that they are under a lot of pressure. Under stress people sometimes say things that perhaps they shouldn't.

    As I have stated previously, my code was written without using bk. Some people expressed some skepticism over that, perhaps because they haven't noticed that bk servers have online protocol help (just type 'help' into a telnet session). I don't think it is unreasonable to assume that this help was intended for people like myself who wished to implement new clients.

    I would like to thank all the people who have supported me in the development of this tool by providing useful advice both before, during and after the development of the code. I tried to consult with a wide range of interested parties and the feedback I got was certainly appreciated.

    Finally, I would like to point out the obvious fact that Linus was perfectly within his rights to choose bk for the kernel. I personally would not have chosen it, but it was his choice to make, not anyone elses. Linus is now in the unenviable position of changing source code management systems, which is a painful task, particularly when moving away from a system that worked as well as bk did. If you want to help, then help with code not commentary. There have been enough flames over this issue already.