Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Tridgell Reveals Bitkeeper Secrets

Posted by CmdrTaco on Thu Apr 21, 2005 02:00 PM
from the stare-into-my-secret-places dept.
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?"
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by bethane (686358) on Thursday April 21 2005, @02: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.
    • by smallpaul (65919) <paulNO@SPAMprescod.net> on Thursday April 21 2005, @04: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.

      • by Frank T. Lofaro Jr. (142215) on Thursday April 21 2005, @02: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, @02:17PM (#12305071) Homepage
          It used to be legally protected, until insane laws (DMCA)

          The DMCA specifically allows reverse engineering for compatibility.
          • by tzanger (1575) <akohlsmith-sd@nOSPaM.mixdown.ca> on Thursday April 21 2005, @02: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?

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

      • by rpdillon (715137) on Thursday April 21 2005, @02:28PM (#12305197) Homepage
        Reverse engineering is not morally wrong...in fact, it is specifically protected by all the copyright laws in the US.

        Heck, "reverse engineering" is "figuring out how something works", AKA "hacking" (NOT "cracking"). This is the basis of most good technological progress and, in a different realm, science.
          • by LWATCDR (28044) on Thursday April 21 2005, @02:50PM (#12305475) Homepage Journal
            Even if I agree which I do not that reverse engineering Bitkeeper would be wrong that is not what he was doing. He was reverse engineering the protocol so that other CLIENTS could inter operate with Bitkeeper.
            One the protocol was figured out programmers could write bitkeeper plug ins for Eclipse, Anjuta, and kdevelop. You would still need the bitkeeper server. Frankly I do worry that Linus will not like his fall from grace as the darling of the OSS community. I do not know him so I will hope he will not take offense and just pack it in. Frankly I really disliked the THOU SHALL NOT WORK ON A COMPETING VCS license that Bitkeeper required.
      • by LWATCDR (28044) on Thursday April 21 2005, @03:18PM (#12305937) Homepage Journal
        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.
        • by blueskies (525815) on Thursday April 21 2005, @02:44PM (#12305382) Journal
          Kinda like how openssh is morally wrong because you can buy directly from ssh.

          Since when is using ideas developed by someone else morally wrong? Just think the moral quagmire we'd be in if scientists did shit like that. There are specific ways to protect ideas (and/or implementations): copyright, patent, trade secrets. You want to now extend these protections to any form of machine without some application process?
          • by DA-MAN (17442) on Thursday April 21 2005, @03: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?
  • by Anonymous Coward on Thursday April 21 2005, @02: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, @02: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.
  • Recycled Comment (Score:5, Interesting)

    by geomon (78680) on Thursday April 21 2005, @02: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 m50d (797211) on Thursday April 21 2005, @02: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.

    • 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 mveloso (325617) on Thursday April 21 2005, @02: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.
    • by stry_cat (558859) on Thursday April 21 2005, @02:09PM (#12304988) Journal
      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
      • by Eberlin (570874) on Thursday April 21 2005, @02:29PM (#12305217) Homepage
        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.
    • by Anthony Liguori (820979) on Thursday April 21 2005, @02:13PM (#12305023) Homepage
      One of the reasons BK kept their stuff closed was so they could take accountability if anything went wrong and now exactly how every client was accessing it. That's one of the advantages most managers see with going with a commercial company rather than a OSS solution.

      This isn't just copying functionality, it's putting a widely used system at risk because you don't agree with their practices. That's the same philosophy espoused by a lot of virus writers.


      You're kidding right? If the BK system is so brittle that it cannot protect itself against a hostile client then it should not be hosting any source code.

      If a friendly client (trying to obtain interoperability) can fundamentally break a server, just imagine what a script kiddie would do..
    • by TekGoNos (748138) on Thursday April 21 2005, @02:28PM (#12305194) Journal
      > One of the reasons BK kept their stuff closed was so they could take accountability if anything went wrong and now exactly how every client was accessing it.

      Yeah, I know and I think it is bullshit.
      Nobody should rely on the client to be nice.

      A while ago, any computer running ICQ could simply be shot down by a wrongly formatted package that ICQ would parse and break on it and (in the days of Windows 9x) take the OS with it.

      From what I read, BitKeeper has the same problem : a client can completly trash the repository if it doesnt respect the protocol. Which I call slopy design.
      I client shouldnt be able to make more damage than the user has rights and HEY! it's a f*cking version control system. I DEMAND that any change done by any client can be reversed easly (after all, this is what I use a VCS for).

      For me, it looks like BitKeeper has a HUGE reliability problem in that it relies far too much on clients respecting the protocol and that they cry out that loud to avoid people from looking closer at this design problem.
    • by Bamafan77 (565893) on Thursday April 21 2005, @03:15PM (#12305887)
      "I hope he has something more substantial to back himself up than a weak joke."

      What's suprising is how many people actually believe that's all Tridge had to do reverse engineer the BK protocol. While I'm willing to buy that he didn't need a BK client, the demo is obviously at best a trivial first step.

      Unlike most people, I can actually respect McVoy's decision to remove the free client (though not necessarily in the angry way he did it). The SAMBA and BK situations aren't exactly identical. Tridge's reverse engineering for SAMBA is not *that* big a deal to MS. So what if a Windows server gets fooled into thinking that some Linux or VMS box is a Windows machine? While this service is immeasurable to many of us, we represent a small part of MS's customer base. It's unlikely that such a thing will enable anyone to budge MS in it's golden goose OS or office productivity markets.

      But I think the situation is a little different with the BitMover guys. It's probably not THAT incredulous to imagine someone coming up with a free BK client that is better than the free version, and at least competitive with the paid-for version. If such a client is released, then no one would have a reason to buy BitMover's non-free client, thus putting a dent in BitMover's income. After all, it's not like BitKeeper has the channels to force their product down people's throats while threatening vendors who dare to sale someone else's product. They don't have the power to articially manipulate the "free" market for their benefit.

      So, IMHO, the difference is this: The Free Open Source development community doesn't have the resources to affect a goliath like MS in any significant way. But a smallfry like BitMover? The FOSS bandwidth is there to bring a company like this to its knees and McVoy knows it. No doubt he's reaped many benefits from the free BK client and his company's association with Linux, but now the other shoe has officially dropped...

      Now, I'm not arguing that BitMover doesn't deserve such a fate or that I'm siding with them. It is an open market after all and may the best man win. However, I can at least understand why McVoy and crew would be threatened by a free product competing with their non-free product. Yes Tridge building a new client *does* release Linux source from propietary SCM lock-in which is good for the *rest* of us. But let's at least admit that it's also a valid economicthreat to BitMover as well. Again, why buy their non-free client, if I can get a good enough free client off sourceforge? On a purely economic and pragmatic basis, both sides can be right.

      For the record, I don't think Tridge is in the wrong and I don't think he's "out to get" BitMover or McVoy. However, I think an unintended side-effect of his development could be the downfall of BitMover.

    • Re:Ethics aside? (Score:5, Insightful)

      by Arker (91948) on Thursday April 21 2005, @05:05PM (#12307534) Homepage Journal

      The trouble is that you can't set ethics aside unless you're unethical.

      Truer words were never spoken, and I thank you for posting them. Sad thing is the rest of your comment indicates you have set them aside already, or perhaps never had them.

      There is absolutely nothing unethical in what Tridge did here, at least insofar as has been mentioned in any of the reporting on this in the past few days that we've both had access to. There is absolutely no ethical obligation to keep an agreement you were not a party to. The rest of your rant assumes facts not in evidence, without any source, and has the definate whiff of BS to me.

      In fact, what Tridge has done here is the epitome of ethical behavior. Linus is stung now, understandably disoriented and angry because he's been proven wrong and, being human, his first response is to lash out at Tridge instead of thanking him. Give it a few years though... once his wounded pride settles down I'm sure he will, in fact, thank Tridge for this.

      Locking your data into a proprietary single-vendor format for the sake of temporary convenience was never a good idea. Everyone told Linus this, but he was too smart to listen. Now exactly what he was warned about has happened. And it was inevitable all along - if Tridge hadn't done it someone or something else would have - McVoy was a ticking time bomb. The fact that the guy isn't very stable didn't help, but honestly - McVoy could have been a saint and the thing would have still been a ticking time bomb. If Tridges actions resulted in it going off a little sooner than otherwise, then he saved Linus and many others trouble in the long run. Replacing BK wasn't going to get any easier...