Please create an account to participate in the Slashdot moderation system


Forgot your password?
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 BHearsum ( 325814 ) on Thursday April 21, 2005 @03:12PM (#12305017) Homepage
    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.
  • by Anthony Liguori ( 820979 ) on Thursday April 21, 2005 @03: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 Anonymous Coward on Thursday April 21, 2005 @03:13PM (#12305030)
    Here is the link. []

    Per Se.
  • 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 gstoddart ( 321705 ) on Thursday April 21, 2005 @03:20PM (#12305106) Homepage
    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.
  • by blane.bramble ( 133160 ) on Thursday April 21, 2005 @03:23PM (#12305138) Homepage
    Except for the all-important (at the time) BIOS.
  • by LWATCDR ( 28044 ) on Thursday April 21, 2005 @03: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 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.
  • Tridge's silence (Score:2, Informative)

    by Truth_Quark ( 219407 ) on Thursday April 21, 2005 @04:03PM (#12305689) Journal
    Was on legal advice.

    TW to Linus at []

    What's not fine is phoning their employer and asking for them to get the sack because of the code they were knocking together at home.

    If which was the case Tridge would have contacted his lawyer even though he did clearly did nothing illegal w.r.t. bitkeeper, but if Linus has influence with OSDL then he would have needed advice regarding suing for unfair dismissal.

  • by Anonymous Coward on Thursday April 21, 2005 @04:10PM (#12305810)
  • by LWATCDR ( 28044 ) on Thursday April 21, 2005 @04: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 dubious9 ( 580994 ) on Thursday April 21, 2005 @04:31PM (#12306115) Journal
    The thing with BitKeeper is that there isn't an open source equivalent. Arch and Subversion are cool, don't get me wrong, but BitKeeper has all they have and more, like some fantastic GUI utils and great merging functionality.

    BitKeeper is competing more against Rational ClearCase and the like. Compared against the other heavy weight proprietary SCMs, BitKeeper stacks up *very* well in terms of scalability, usability, and most of all: cost. You can get like 10 BitKeeper dev lincenses for the cost of one Clearcase license, and as your projects get bigger the odds of you having to hire a full time admin with BitKeeper is much lower than Clearcase.

    Thus, McVoy is trying to compete with the big boys . He doesn't see (or *want* to see) any advantage to going GPL'ed.
  • by close_wait ( 697035 ) on Thursday April 21, 2005 @06:20PM (#12307728)
    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.

Some people manage by the book, even though they don't know who wrote the book or even what book.