Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Tridgell Reveals Bitkeeper Secrets 373

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?"
This discussion has been archived. No new comments can be posted.

Tridgell Reveals Bitkeeper Secrets

Comments Filter:
  • by bethane ( 686358 ) on Thursday April 21, 2005 @03:01PM (#12304886) Homepage Journal
    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.
    • The main difference is that Linus did not reverse engineer the MINIX kernel in order to write Linux's kernel. It's legit.
      • by Frank T. Lofaro Jr. ( 142215 ) on Thursday April 21, 2005 @03:09PM (#12304986) Homepage
        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.
        • by Binestar ( 28861 ) on Thursday April 21, 2005 @03:17PM (#12305071) Homepage
          It used to be legally protected, until insane laws (DMCA)

          The DMCA specifically allows reverse engineering for compatibility.
          • by tzanger ( 1575 ) on Thursday April 21, 2005 @03:25PM (#12305163) Homepage

            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?

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

          Ignoring your insightful sarcasm, the IBM PC didn't even need to be reverse engineered since IBM would give you a map of the pinouts and everything else.
          • Except for the all-important (at the time) BIOS.
            • Except for the all-important (at the time) BIOS.

              But the BIOS was reverse-engineered the Right-Way(TM). From this article [theregister.co.uk]:

              In most jurisdictions, reverse engineering must be performed in a clean-room context. The people performing the reverse engineering may create documentation on the file formats and APIs, and the re-implementation must be performed by a team which has no direct contact (other than the documentation) with the first team. This is how, for example, the original IBM PC BIOS was reverse eng

              • Clean-room reverse engineering is not a requirement of US copyright law. Use of it is an ironclad defense against copyright infringement, but failure to use it isn't automatically copyright infringement.

                The reason the PC BIOS was reverse-engineered that way is likely due to two things
                1) The overwhelming power of IBMs lawyers
                2) The fact that the BIOS did such simple things that even independently-developed code would end up looking very similar in part.
          • 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.

            • 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.)

              And except for IBM, on a small number of machines, for about six months, I don't recall MCA being used by anyone.

              Much like the status of EBCDIC doesn't concern me much either. =)

              Of course you're right. I was referring to the original IBM PC -- but I had forgotten the BIOS needed reverse engineering. :-P

        • Worked well for MAC clones.
        • Somehow I imagine this happened before you were wearing long pants--but the IBM PC was an open spec.

      • by jbn-o ( 555068 ) <mail@digitalcitizen.info> on Thursday April 21, 2005 @04:44PM (#12306365) Homepage
        Please explain what is illegitimate about reverse engineering Bitkeeper's network protocol in an effort to distribute a free software program which is network-compatible with the proprietary Bitkeeper program.
    • Oh, I thought it was about specifying data requirements, so that arbitrary systems could be built against it.
      You're right; interoperable version control software would be teh sUx0rz.
    • He is not allowed to write one because of the license

      Besides, rewriting BK doesn't mean that reverse-engineering does everything. Developing BK has taken many years and many developers. Look at wine for a example.
      • He is not allowed to write one because of the license
        Linus isn't using BK any more so he is no longer bound by the BK license. Do you think the BK license required Linus to promise to never write a competing product for the rest of his life?
        • by HishamMuhammad ( 553916 ) on Thursday April 21, 2005 @04:03PM (#12305681) Homepage Journal
          Do you think the BK license required Linus to promise to never write a competing product for the rest of his life? Amazingly, yes. Apparently, the original license did not specify a time frame, so it could be interpreted as valid for undetermined time. The revised license seems to specify 1 year as the no-compete clause.
          • by DA-MAN ( 17442 ) on Thursday April 21, 2005 @04:27PM (#12306061) Homepage
            Amazingly, yes. Apparently, the original license did not specify a time frame, so it could be interpreted as valid for undetermined time. The revised license seems to specify 1 year as the no-compete clause.

            But Larry McVoy revoked the license. Doesn't that mean that the no-compete clause has been revoked with the rest of the license?
    • It would be moraly wrong if he himself had done it after promising not to , but he didn't and there is no law i know of that restricts reverse enginering(not that companys don't try with some though).

      for example Wine would be a moral linux no-no , samba also , many many other things including as parent said, the kernel.

      What this ammounts to is Linus saying "linux is immoral" ... I respect the fact that we all make mistakes , but forgivness comes after an apoligy.
    • by smallpaul ( 65919 ) <paul @ p r e s c o d . net> on Thursday April 21, 2005 @05:51PM (#12307344)

      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.

      • What you suggest is plain incorrect - you are assuming Tridge had no 'good endgame'. Which is plain silly. His aim was simply to make a tool people could use in lieu of BitKeeper to help manage to source tree, without the use of BitKeepr? How is this _not_ a good endgame? Saving money for people working on open source project? The whole use of BitKeeper in the first place makes the management of a kernel source tree outrageous for an open source project. Initially the clients were free and now the BitKeeper
      • by bshanks ( 520250 ) on Thursday April 21, 2005 @10:46PM (#12309786) Homepage
        Sure, but then why not apply that analysis to Larry's action to pull the license?

        Once the tool has been developed, Larry has two choices:

        * Pull the license (which is bad for everyone)
        * Ignore the tool (which isn't so bad)

        So, looking at it this way, Larry's action of yanking the license had no good (profitable, valuable) results.

        Now of course, Larry can say, but the point of yanking the license is that my threat to yank the license was intended to deter people from doing what Tridge did. I am just protecting my right to make a living off my software. I had to follow through on my threat to protect my credibility; if I didn't, then what would stop people from profiting off my coattails?

        But Tridge can say, but the point of reverse engineering the system is that my threat to reverse engineer the system was intended to deter Larry from imposing unreasonable conditions on the community. I am just protecting the the commnity's right to access its data. I had to follow through on my threat to protect my credibility; if I didn't, then what would stop Larry from continuing to refuse to give us the access we deserve?

        So, as you see, the "what is practically good (profitable, valuable)" analysis doesn't give us a conclusion here. Either Tridge or Larry could have avoided having the license pulled.

        The type of analysis that WOULD decide the conflict is one which looks at who is being treated fairly or unfairly, or one which considered the "rights" of all parties (i.e. my right to make a living off BitKeeper without having it reverse engineered, vs. my right to access the metadata of the Linux kernal development).

        For example, if a criminal mastermind had an atom bomb aimed at New York city and demanded your wife and your firstborn child as ransom, and you refused, and he blew up New York, then it wouldn't make sense for someone to say that the mastermind was a good man but that you are responsible for the destruction of New York. But, using Linus's "good (practical, valuable)" analysis, all that can be concluded is that both the criminal and you were responsible. The more sensible conclusion is that your wife and your child have a right not to be ransomed to some criminal, but that the criminal has little right to your wife and child, therefore he is the bad guy here. But this necessarily involves taking a stand on the fairness of each side's demands.

        Linus seems to be claiming that he doesn't want to get caught up in a discussion of rights, but by blaming Tridge, he is probably implicitly assuming that Larry's putative right not to have others "ride his coattails" holds more weight than Tridge's putative right to interoperate and to access metadata without signing a license agreement.
      • I've read the same messages, and find it incredibly strange that the previous message would get modded to 5 when it's simply repeating a bunch of tripe that Linus spewed forth on realworldtech.

        Of the many rebuttals he received, allow me to give a choice quote:
        (note: I had to reformat this because the slashdot gestapo lameness filter is on overdrive today)


        Name: Karl Stenerud (kstenerud@hotmail.com) 4/14/05

        Linus Torvalds (torvalds@osdl.org) on 4/14/05 wrote:
        -
        >Tridge wanted to create a tool that checke
  • by Anonymous Coward on Thursday April 21, 2005 @03:02PM (#12304906)
    A man named Johan Mikelson who keeps track of every bit inside his head!
  • Perhaps a stretch (Score:5, Insightful)

    by jonnystiph ( 192687 ) on Thursday April 21, 2005 @03:06PM (#12304948) Homepage
    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.
    • The only reason Bit-Keeper is annoyed is because they see a free product competing with thier own. Most companies adopt a business model of giving the client away for free and charging for the server. To the best of my knowledge, Tridgell was reverse-engineering the client, not the server. That shouldn't have resulted in any revenue loss to BitKeeper if they had followed the traditional business model. Wasn't BitKeeper also giving their client away for free?
      • by babbage ( 61057 )

        With BitKeeper, every repository can be both a clone of one repository -- a client -- and the parent of another repository -- a server. The system is completely distributed, peer-to-peer, whatever you want to call it.

        This is not a CVS / SVN workalike where everyone checks things out of and in to a central server instance: the same bk tool can be used to both bk pull changes down from a parent/server and bk push changes back to a clone/client -- and you can do this circularly, so the same two repositories

    • Actually, I think they (BitMover) are upset because there is no NDA in "telnet". So Tridge could check their commands and still work on another VCS.
  • Recycled Comment (Score:5, Interesting)

    by geomon ( 78680 ) on Thursday April 21, 2005 @03:15PM (#12305044) Homepage Journal
    I've read a few exchanges from the /. crowd, read a few statements by Linus and the gang, have read McVoy's interpretation of the BK saga, and have come to one conclusion:

    No one but the three people involved in this fiasco *really* knows what happened to get this situation to the stage where people begin a verbal free-fire in public.

    McVoy is a business man; true to his heart, he needs to keep the BK user strung out on his code. Hell, I would feel the same sense of outrage that he feels if someone threatened to kill my cash cow. Don't pretend that every one you wouldn't feel the same way if it was *your* revenue stream. To me, anyone who claims an absolute vow of poverty is looking for a monastery to live in. Everyone I know would fight to protect a source of financial income.

    Selfish? You bet. But nature has created more selfish beings than egalitarian ones. Nature favors pragmatism.

    But McVoy could have let this one ride a bit more. It is just a matter of time before someone cracks his model. Then he will have to play the same game as Microsoft and Adobe only on a different level. Too bad for him, though, that his inexpensive advertising scheme didn't last. That is another little detail that goes relatively "un-remarked" upon in the various forums I've read. Larry had one of the hottest programmers in FOSS using his SCM. In fact, this Man Of The Year lavished all kinds of praise on his progeny! You would have to pay more than the "free" license fee for that kind of advertising. Shit, probably A LOT more. If Linus had been paid for his endorsements, that could have added up to quite a sum of money. Larry has wisely kept those funds securely in his pocket.

    Again, I'd do that too. The monks of this world can keep their vows.

    Linus? Well, it was kind of hard to turn down a free license for one of the best SCMs on the market. If I had been in his position, I would have grabbed the product and ran. In fact, I would like to personally thank Larry for helping juice the Linux kernel development. I know SCO has been rummaging around in the Linux closet for evidence that it was their intellectual property that made the kernel advance so quickly. I believe that Larry's BK contribution probably made the significant increase in kernel production possible. Judging from Linus' angst and outrage, I think he believes that too.

    But Linus is being a bit thin skinned. Does he believe he is the ONLY programmer that has been burned by relying on a proprietary product for their work? Didn't he listen to all the people who had been telling him about *their* bad experiences with proprietary lock-in? From what I've read in the past, they had plenty of legitimate worries that this was going to happen. I'm sure that Linus knew it would happen someday too. He's just pissed that it happened NOW as opposed to LATER.

    Boo hoo, get over it, this too will pass, etc. But why attack Tridgell in public? Hmmm.... That does raise some interesting questions. And why get all bitchy about it?

    There is something we are not getting in this little soap opera. Tridgell is silent, probably for good reason. But why would Linus take him to task knowing that he would not be able to respond publicly?

    And Perens? This is a slugfest that only Gates, Darl, and RMS would love - all for differing reasons. Why does Perens feel compelled to call out Linus over his treatment of Tridgell?

    I thought the points made by some posters about just how Tridgell was sniffing packets to see the metadata protocols is extremely insightful. To have BK protocols running on his network would require that he be operating a client and server somewhere where he could see it, no? What network was he sniffing if he didn't have a license?

    What amazes me is that the attempt to get BK's protocols didn't happen *sooner*. With all of the pissing and moaning that erupted when Linus started using BK, I would have thought there would have been someone doing what Tridgell was accomplishing years
    • by qbwiz ( 87077 ) *
      I thought the points made by some posters about just how Tridgell was sniffing packets to see the metadata protocols is extremely insightful. To have BK protocols running on his network would require that he be operating a client and server somewhere where he could see it, no? What network was he sniffing if he didn't have a license?

      He could have asked someone to operate Bitkeeper on his network, or gone to a network where someone was using Bitkeeper. I bet at least one kernel developer would be willing t
      • I bet at least one kernel developer would be willing to let him do that.

        I agree. I am astonished that this didn't happen sooner.
      • by Surt ( 22457 )
        You know you can look at the packets going both into AND out of your computer, right? Why would you need physical control of the server to see its packets?
    • By "Recycled Comment" you mean "this is what everyone else has already said, so why don't I say it too and look bright", right?
    • The linked article demonstrated how Tridge accessed the bk system. He typed 'clone' at it, and it started spitting BK data at him. He dumped that binary data to disk and started munging through it. He was looking at the *on-disk format*, not any "wire formats" other than the one demonstrated with the telnet session. He didn't need to be sniffing anyone's network to do this.
      • He didn't need to be sniffing anyone's network to do this.

        Yeah, I wrote this before the demonstration was published.

        The other points are still valid. Why is Linus so pissed? Would he have been equally pissed if it had been done by someone other than Tridgell? etc, etc.
    • by m50d ( 797211 ) on Thursday April 21, 2005 @03:33PM (#12305259) Homepage Journal
      But why would Linus take him to task knowing that he would not be able to respond publicly?

      Because that's the best time to attack someone. I think, despite what you say, Linus didn't believe it must end. He felt this one would be different. Ultimately he made a bad call, he's angry about it, and to distract attention from his misjudgement he's attacking someone who can't respond.

      And Perens? This is a slugfest that only Gates, Darl, and RMS would love - all for differing reasons. Why does Perens feel compelled to call out Linus over his treatment of Tridgell?

      Because someone had to do it, and it had to be someone with the standing. Linus is doing something horrible, but do you think he or his fans would listen if you or me called him on it? Which I would, in an instant. But probably only Perens and ESR had the stature to do this.

    • Re:Recycled Comment (Score:5, Interesting)

      by swv3752 ( 187722 ) <swv3752&hotmail,com> on Thursday April 21, 2005 @03:40PM (#12305332) Homepage Journal
      McVoy and Torvalds are friends. It has been posted earlier that McVoy went to Torvald's home to pitch the use of BitKeeper.

      Linus speaking out against Tridge, is simply that of someone backing up his friend. Unfortunately for Linus, it makes him a hypocritical git.

      • by goon ( 2774 ) <peterrenshaw@sel ... al.com minus bsd> on Thursday April 21, 2005 @10:42PM (#12309756) Homepage Journal
        '... Linus speaking out against Tridge, is simply that of someone backing up his friend... '

        No I see it a bit differently - I think its more than justa about friends its a philosophical clash. I came to this conclusion reading about samba on the samba website and the following statement hit me ...

        • '... Samba is an Open Source/Free Software suite that provides seamless file and print services to SMB/CIFS clients. ...' (the emphasis is mine)

        This contrasts with Torvalds more pragmatic approach in getting things done. Which is more correct is a matter of personal opinion. Pragamatism vs strict GNU adherance.

    • And Perens? This is a slugfest that only Gates, Darl, and RMS would love - all for differing reasons. Why does Perens feel compelled to call out Linus over his treatment of Tridgell?

      Consider also that Parens has known McVoy since they were both kids. I believe Parens truely believes that Linus / McVoy are treating Tridgell badly, and that Tridgell was only working to advance FOSS and not to be vindictive or harmful. And I believe he's right.
  • by mveloso ( 325617 ) on Thursday April 21, 2005 @03:16PM (#12305053)
    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.
    • I think I should be terrified that I know what you're talking about.
    • Re:The Linux Life? (Score:3, Interesting)

      by JoeBuck ( 7947 )
      Yes, person 1 (Linus) liked a tool. But person 2 (Tridge)'s actions (basically stumbling on a way of getting the data out of BitKeeper) should not have led person 1 to lose rights to the tool. It was person 3 (Larry)'s decision to demand that either OSDL fire Tridge or, Linus quit OSDL, or Linus lose the right to use BitKeeper. This ultimatum was completely unnecessary; he thought he could bully OSDL. It didn't work.

      But the breakup is at a good time. Larry's managed to bootstrap BitMover into a viabl

  • Ok, I don't read The Register much, but the titles of the "related articles" caught my eye. Pretty tough to figure out which side they are on:

    'Cool it, Linus' - Bruce Perens

    Torvalds knifes Tridgell
    The Larry and Linus Show: personalities vs principles?
    Linus Torvalds in bizarre attack on open source
    Linus Torvalds defers closed source crunch
    • Ok, I don't read The Register much, but the titles of the "related articles" caught my eye. Pretty tough to figure out which side they are on:

      'Cool it, Linus' - Bruce Perens
      Torvalds knifes Tridgell
      The Larry and Linus Show: personalities vs principles?
      Linus Torvalds in bizarre attack on open source
      Linus Torvalds defers closed source crunch

      There is such a thing as truth. Maybe they are just sacrificing US style balanced coverage in favour of it.

      Not everything is subjective.

  • by Scott Lockwood ( 218839 ) * on Thursday April 21, 2005 @03:25PM (#12305156) Homepage Journal
    Am I the only one here who things that real freedom is achieved only when you can tollerate an opposing point of vew?

    Why can't BK develop, and sell software under any liscense they choose? Why isn't Linus free to use that solution if he so chooses? Why is it ok for us to rip on the MS type people for behavior that is OK for us to emulate in support of free and open software?

    Why is it ok to try and screw BK over, who spent a great deal of money to develop this?
  • Is Tridge the elusive IBM hacker who "hacked" into SCO when the claimed [groklaw.net]:

    "IBM exploited the bug to bypass SCO's security system, hack into SCO's computers, and download the very files IBM has now attached to its motion"

Math is like love -- a simple idea but it can get complicated. -- R. Drabek

Working...