Slashdot Mirror


BitKeeper Love Triangle: McVoy, Linus and Tridge

erktrek writes "NewsForge has given a brief interview to the parties involved in the (inevitable?) BitKeeper debacle." Here is some of our previous coverage.

64 of 850 comments (clear)

  1. You git! by AirLace · · Score: 4, Funny

    Does the name 'git' strike anyone else as an odd name for a (kind-of) SCM system?

    Or is this Linus making a not-so-subtle pot-shot at Larry McVoy?

    1. Re:You git! by ray-auch · · Score: 4, Informative
      Based on one one his posts (see here) it might just as likely be aimed at Tridge (if it is aimed at anyone).

      Quote Linus:

      When we were trying to figure out how to avert the BK disaster, and one of
      Tridges concerns (and, in my opinion, the only really valid one) was that
      you couldn't get the BK data in some SCM-independent way.
      So I wrote some very preliminary scripts [...snip...] Larry was ok with the idea to make my export format actually be natively
      supported by BK (ie the same way you have "bk export -tpatch"), but Tridge
      wanted to instead get at the native data and be difficult about it. As a
      result, I can now not only use BK any more, but we also don't have a nice
      export format from BK.
      Yeah, I'm a bit bitter about it.


      Seems clear who he is a bit bitter at.
    2. Re:You git! by Anonymous Coward · · Score: 5, Insightful

      There's nothing wrong with Tridge writing a program that can read Bitkeeper'd files any more than there is Open Office writing programs that can read Microsoft Word files. Interoperability is good. Linus is being silly if he's blaming Tridge for anything here.

    3. Re:You git! by mkavanagh2 · · Score: 5, Insightful

      Not to mention samba sharing files and printers, or email clients interoperating with exchange, or Linux having the ability to read FAT32 and NTFS partitions.

      I think "Tridge" is being scapegoated because Larry McVoy is Linus' buddy, so he doesn't want to lay the blame on him.

  2. Quick Summary by WD_40 · · Score: 4, Informative

    "Linux leader Linus Torvalds has begun looking for a new electronic home for his project's source code after a conflict involving the current management system, BitKeeper"

    Linky

    --

    "With sufficient thrust, pigs fly just fine." -- RFC 1925

  3. My opinion hasn't changed by Sanity · · Score: 5, Insightful
    The crux of the issue is that BitKeeper's CEO, Larry McVoy, has a big problem with reverse engineering, he considers it immoral. Personally I think that reverse engineering is entirely legitimate, people have been building on each-other's ideas since ever, and I am sure BitKeeper wasn't created in a vacuum either. You borrow from the collective commons of ideas, but in return you must give back too.

    Reverse engineering is particularly warrented for the purposes of interoperability, and this seems to have been the motivation of Andrew "Tridge" Tridgell. He wasn't reverse engineering BitKeeper to "steal" McVoy's ideas, he was doing it so that he could gain access to the Linux kernel without using non-free tools. McVoy's position is one that you might expect from Microsoft on Samba, but not from someone that claims to support the ideals of free software.

    Bottom line? I'm with Tridge on this one, McVoy is wrong, what he wants and seems to expect is effectively patent-level protection of his ideas.

    1. Re:My opinion hasn't changed by Wesley+Felter · · Score: 4, Insightful

      Furthermore, it seems that if Larry McVoy wanted patent-like protection on the ideas in BitKeeper, he should have just filed patents. At least we understand how patents work.

    2. Re:My opinion hasn't changed by chris_mahan · · Score: 5, Insightful

      Same here. Reverse Engineering is a Good Thing. That's how we geeks figure stuff out and make things better than before. If someone has a problem with reverse engineering, that person must be in the 'proprietary' camp.

      I say McVoy was trying to tie his proprietary product to the linux kernel development. Can't fault him, really, he's acting as a suit. The geeks that let him do that: shame. The ones that called his shenanigans: kudos.

      It doesn't matter if it's the best tool for the job. What matters is that the tool is not entirely within your control. It's like the chinese buying aircrafts from the americans, and the americans building a remote shutoff switch in the target aquisition radar. (bad analogy, I know... Sowwy.)

      --

      "Piter, too, is dead."

    3. Re:My opinion hasn't changed by dark_panda · · Score: 4, Informative

      KDE never used BK. That was an April Fool's joke. Apparently they are switching from CVS to Subversion, though.

      J

    4. Re:My opinion hasn't changed by Welsh+Dwarf · · Score: 4, Insightful

      The point is that Tridge hasn't signed any liscence.

      He hasn't even clicked through one. He wasn't useing the BK client, and was thus compleatly unbound by what BitMover thought and in the right to do what he was doing.

      The day he installs the BK client and clicks through it's liscence, you'll be 101% right, until then I'm with tridge on this one.

      --
      Ask 8 slackers a question, get 10 awnsers (a citation, but I can't remember from who)
    5. Re:My opinion hasn't changed by nadamsieee · · Score: 4, Insightful
      If someone has a problem with reverse engineering, that person must be in the 'proprietary' camp.

      Reverse-engineering is perfectly legal (when done correctly) and is employed by proprietary folks regularly. How do you think the PC-clone market got started?

    6. Re:My opinion hasn't changed by Waffle+Iron · · Score: 4, Insightful
      If McVoy thinks that reverse-engineering is so "dishonest", then why did he offer to give free tools to a worldwide project whose primary focus is to reverse-engineering an entire OS? The most likely reason is that the reason was to get some cheap marketing exposure for his product.

      IMO, it seems a little hypocritical that he's starting the name-calling only after the reverse-engineering isn't benefitting himself.

    7. Re:My opinion hasn't changed by squiggleslash · · Score: 4, Informative

      I was using Microsoft networking back in the late eighties, on a network of something called a Research Machines Nimbus, at school. Oddly enough, we ran Windows 1.0 over it, with hilarious results (ie it was slow and crashed a lot.)

      Anyway, the point is Microsoft's SMB protocols pre-date Windows. Windows interoperated with them without any problems, they were just DOS drives, after all.

      You young'uns! You don't know how hard it was then! We used to have to wire coax to the back of PCs to get out Ethernet networks, kid!

      </TONE>

      --
      You are not alone. This is not normal. None of this is normal.
    8. Re:My opinion hasn't changed by 51mon · · Score: 4, Insightful

      Software patents are also tricky because you need original ideas to patent, and the SCM field is extremely mature, even if very few products implement all of the many ideas that have been around, many of them since the 1960's.

      I'm not familiar with BitKeeper, but I use to do pre/post sales technical work on one of the big (at the time) SCM tools, and I see nothing in Bitkeepers description that looks terribly original.

      That is not to criticise it, the real value in SCM tools is doing their job well, being well integrated into the programmer work environment, and keeping out of the way except where they add value, not being innovative computer science.

      It is possible Bitkeeper have devised mysterious complex mathematical enhancements on the theory of changesets - but I doubt it, and even if they have I doubt that is what adds much of the value perceived in BK.

      Indeed many "old time" developers use to complain bitterly when we were selling SCM that the modern tools often lacked integration features the older tools had.

      Although this was largely market driven, trying to appeal to as big a market as possible, where as many of the earlier tools targetted a much smaller toolset (Cobol on IBM Mainframes for example), not least because there were less tools around then, and interoperability and portability were more talked about than actually implemented before the late 1980's.

    9. Re:My opinion hasn't changed by Dominic_Mazzoni · · Score: 4, Insightful

      why did he offer to give free tools to a worldwide project whose primary focus is to reverse-engineering an entire OS?

      I'm not sure you know what reverse engineering means. Linux does not need to, and never needed to, reverse engineer Unix or any operating system. Linux is an independent implementation of freely published POSIX specs. The way it works internally is entirely a new invention. Similarly, many Linux programs are designed to emulate the same core functionality as other programs (some of them non-free), but can do so without reverse engineering because the protocols and file formats are freely available, and the implementation can simply be reinvented from scratch.

      There are only three areas where reverse engineering happens in Linux development: writing tools (like OpenOffice) that open proprietary file formats, writing emulators like Wine that implement the Windows API, and writing device drivers for devices that don't have full specs. However, I don't think that those account for the majority of the focus of Linux, and it's certainly not hard to make use of Linux without ever running across any of these three areas. (For example, there are lots of device drivers that did not make require any reverse engineering.)

      Reverse engineering has a very particular meaning. Writing something similar to something else is not reverse engineering.

    10. Re:My opinion hasn't changed by drinkypoo · · Score: 4, Insightful

      McVoy is trying to lock people - his customers, for chrissakes - into BitKeeper by preventing them from getting data out of the BK repository in any way of which they do not approve. He is claiming two things; that reverse engineering is wrong, and that tridge's client may somehow break BK. To the first point, he is wrong; not only is it a legally-protected activity (at least in the U.S.) but it is a fundamental engineering method that has been guiding engineering as long as there's been engineering, and then some. To the second point, he is again wrong; clients do not break servers. Servers break servers, when they do something stupid in response to a client request. A client request that would result in database corruption should be denied. There should be nothing you can do, for example, in a SQL query, that will stop the RDBMS from working. A SCMS is supposed to maintain old revisions and let you work on new revisions, and handle merging code, right? Where in there does it say that the client should be able to corrupt the database? This is what McVoy is saying is a risk with a third party client. In other words, BK is not designed with reliability in mind. Do you trust BK? Do you think McVoy is making reasonable statements? McVoy IS down the same creek as Microsoft. Vendor lock-in, trying to prevent people from developing interoperating tools, and placing blame for failure of their systems on other companies. That sounds quite a bit like Microsoft to me. If they ever get a monopoly, we'll see how they do on the fair trade practices, but in the meantime they're Microsoftian enough for me to avoid them like the plague that they apparently are. It may be a fantastic product when you don't want to do anything it doesn't provide for, but frankly I think that's a bullshit way to purchase (or, as we do today, license) software and not at all good for the long haul.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  4. Ewww by elasticwings · · Score: 5, Funny

    Wow, that is definitely one video I definitely wouldn't want to look for a torrent of.

  5. Riding of Coat-tails. by ShaniaTwain · · Score: 5, Insightful

    Larry has a very clear moral standpoint: "You can compete with me, but you can't do so by riding on my coat-tails. Solve the problems on your own, and compete _honestly_. Don't compete by looking at my solution."

    Hmm.. and where does that end? Is it dishonest to not re-invent the wheel for your new automobile? This is a tricky area because outright copying of someone elses work without their permission is not right, but figuring out how someone else has solved a problem is kind of the way progress works.

  6. Re:weak answer from Tridge by dartboard · · Score: 5, Insightful

    He's probably either:
    a) getting sued and his lawyers have advised him not to release too many details
    b) worried about getting sued and his lawyers have advised him not to release too many details

  7. Re:weak answer from Tridge by qortra · · Score: 4, Insightful

    Why wait until some undefined "later" point to explain one's self, if one has nothing to hide?

    for legal reasons

  8. Re:weak answer from Tridge by Sanity · · Score: 5, Insightful
    Boy, I hate to say it, but whenever somebody "defers" on defending themself, it sure looks like they have something to hide
    Huh? The fact that he didn't use BitKeeper to do this and therefore there is no question of him being bound by its license is ample "defense" in itself, as if any "defense" should be needed for reverse engineering.

    Please lets get this straight - there is nothing immoral about reverse engineering, particularly in the interests of interoperability as seems to be the case here.

    Its sad to see people put celebrity before principal, if this were Microsoft making these arguments against Samba, rather than Linus' friend making them against this Tridge guy, there would be no question as to which side most slashdotters would come down on.

    The principal doesn't change just because the people in question claim to be friends of free software.

  9. When Is Reverse Engineering Wrong? by globalar · · Score: 4, Interesting

    It seems that Larry McVoy has a fine line between a replacement and reverse-engineering (in this case compatibility?).

    From the article (Torvald's statement):

    " What Larry is _not_ fine with, is somebody writing a free replacement by just reverse-engineering what _he_ did."

    I always am sympathetic to reverse engineering efforts, because frankly interoperability is ultimately a good thing. I am not sure what sort of principle we can follow if reverse-engineering is bad in this case. Where is the line? Is it a property line?

    1. Re:When Is Reverse Engineering Wrong? by Sanity · · Score: 4, Insightful
      Where is the line? Is it a property line?
      Please don't buy into the double-think that ideas are property, the two concepts have almost nothing in common. Thomas Jefferson said it best: He who receives an idea from me, receives instruction himself without lessening mine; as he who lights his taper at mine, receives light without darkening me.
  10. Re:The article in summay by Jeremy+Erwin · · Score: 4, Funny

    Thanks for stripping out the formatting. I despise paragraph breaks, and now, I don't have to read them!

  11. Re:Interesting by arkhan_jg · · Score: 5, Insightful

    Better yet, since Larry is since against reverse engineering of his work, I hope he only uses IBM PC's, as all others stem from the original reverse engineering of the IBM BIOS.

    --
    Remember kids, it's all fun and games until someone commits wholesale galactic genocide.
  12. What? by Sanity · · Score: 5, Insightful
    If you're using the BitKeeper server, you should be agreeing to their terms of use.
    So when you visit a website hosted on Microsoft IIS you must agree to its license?

    Wow, I had better call my lawyer next time I decide to surf the web!

    1. Re:What? by Sanity · · Score: 4, Informative
      No, but if you _host_ a site on Microsoft IIS, you must agree to the license...
      Yeah, and if you RTFA you will notice that Tridge didn't use BitKeeper:
      I did not use BitKeeper at all in writing this tool and thus was never subject to the BitKeeper license. I developed the tool in a completely ethical and legal manner.
    2. Re:What? by nadamsieee · · Score: 4, Informative

      Exactly. And Tridge was NOT hosting a BK site. What he did was perfectly ethical. Furthermore, reverse engineering is a vital part of our economy, and McVoy needs to stop making himself look foolish by vilifying it.

    3. Re:What? by smittyoneeach · · Score: 4, Insightful
      Here
      Given his success at SAMBA, it's a reasonable bet that

      he can do it

      he's ethical
      The obvious question is, how much better will we all be when a good merging application is as free as the fundamental theorem of calculus?

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    4. Re:What? by Anonymous Coward · · Score: 5, Insightful

      Andrew Tridgell is smart and principled, and he's not just any hacker. He invented the rsync algorithm for his Ph.D. dissertation, and he has a lot of experience with reverse engineering formats (he started the SAMBA project). He's definitely smart enough to pull it off, and his word is good enough for me. You may not agree with what he did, but if you're going to call him a liar, you'd better back it up.

    5. Re:What? by Jeremy+Allison+-+Sam · · Score: 4, Informative

      You are wrong. tridge does not use bk as part of his OSDL work (which is entirely on Samba4).

      Jeremy Allison,
      Samba Team.

    6. Re:What? by Fry+a+Lad+Up · · Score: 4, Insightful
      I find it difficult to believe that someone can "reverse engineer" ...

      I find it difficult to believe that you know more about clean-room development of software compatible with proprietary software than does tridge at Samba.org. :-)

    7. Re:What? by TCM · · Score: 4, Interesting

      Bitmover hosts the project for you and instructs you to use their client to work with the server.

      Wait a second, that is how BitKeeper works? _They_ host the server and you use a non-free client to access it? And Linux uses _that_ as its main repository? Someone wake me please.

      --
      Of course it runs NetBSD. BTC: 1NT7QvbetmANwaMzhpVL6
  13. Good for its time, now it's time to move on by br00tus · · Score: 4, Insightful
    If I hadn't paid close attention to it, I'd probably be as against the use of Bitkeeper as anybody. If one looks at the situation at the time though, Linux development was in a rut at just the time Linux companies were taking off in the stock market. Bitkeeper allowed Linus to work faster and delegate more authority. Some key features of Bitkeeper will probably be in the SCM Linus uses to replace it. I'm very happy to see Linux come back to a free software model of development.

    I am not a zealot, so I do not think it was a sin to temporarily use non-free software, especially when there were a lot of circumstances at the time leading to this at the time - we didn't want a Linux fork or Linus having a nervous breakdown, or so on. You have to look at things like a war - there is an objective, there is strategy and there is tactics. Bitkeeper was a necessary tactical retreat, but now that Linux is moving beyond Bitkeeper, we can see it fit in with the overall good objective and strategy behind Linux. The thing people like me worried about was the fortitude of the Linus core team as they began using Bitkeeper - is this a tactical retreat, or are they going over to the dark side? With recent events, we can see they did the right thing.

    I think people should have sympathy with the situation at the time that led to Bitkeeper. It's alright for Richard Stallman to be pure and a zealot - that's his job. But it was a tactical necessity. On the other side of the coin are the little worms who whine how some developer floating around out there tried to reverse engineer Bitkeeper and offended the tender sensibilities of Bitmover and Larry McVoy, and how Linus doesn't crawl in subjugation before Bitmover and by implication other short-term corporate concerns. I don't think these people really understand even corporate America, never mind industrial or information production in general. Corporate America doesn't respect little worms that crawl around and do whatever are ordered, they just get used up until they're of no use any more and are then thrown away. And who ever said Linux was for corporate America anyway? I always thought of Linux as by engineers, for engineers. Which is not the same things as by engineers, for corporate America. That's what most of us do for our day jobs.

    1. Re:Good for its time, now it's time to move on by btarval · · Score: 5, Insightful
      An excellent point indeed.

      And let us not forget that one of Richard Stallman's most important efforts, porting of gcc to the x86, was not done in a vacume. It required a commercial version of UNIX for the x86, and the commercial version of ATT's C compiler and Assembler. All quite legally done, too.

      RMS and the rest of the world moved on from that as well, and the results are the Linux world we have today.

      --
      The best way to predict the future is to create it. - Peter Drucker.
  14. Re:weak answer from Tridge by jdavidb · · Score: 4, Insightful

    Why wait until some undefined "later" point to explain one's self, if one has nothing to hide?

    That's a good question. We should immediately execute anybody who insists on talking to a lawyer when arrested. After all, why wait until some undefined "later" point to explain one's self, if one has nothing to hide?

  15. Re:Nice to annonuce dumping Bitkeeper, but.. by endx7 · · Score: 4, Informative

    They didn't drop BitKeeper. BitMover dropped the free version BitKeeper and refused to license the paid version to any employees of OSDL.

    Being Linus works for OSDL, that pretty much means BitKeeper has to go or Linux has to leave OSDL. It is the same case for Andrew Morton. I think Linux prefers to drop Bitkeeper.

  16. Re:I really think Tridge needs..... by jdavidb · · Score: 5, Insightful

    What exactly do you want him to say? He's never agreed to the BitKeeper license, and he's not bound by it. How could his defense possibly be any stronger?

    What is this, some kind of astroturfing effort by McVoy to try to make us think that "everyone" feels like Tridge's defense is weak? What, exactly, is deficient in his statement?

  17. Re:Freedom Matters by Liselle · · Score: 5, Informative

    So nice of you to copy this comment from an earlier story, verbatim, without crediting the original author.

    --
    Auto-reply to ACs: "Truly, you have a dizzying intellect."
  18. BitKeeper sees two problems by dstone · · Score: 4, Informative
    Any chance we could get a 1-2 line summary of what the "debacle" is exactly?

    Larry McVoy sees two problems with Andrew Tridgell's reverse-engineered, free tool. One is "condoning reverse engineering". The other is, in his words:
    Corruption. BK is a complicated system, there are >10,000 replicas of the BK database holding Linux floating around. If a problem starts moving through those there is no way to fix them all by hand. This happened once before, a user tweaked the ChangeSet file, and it costs $35,000 plus a custom release to fix it.

    If Tridge's tool is out there we are now supporting our code and his code. We couldn't do that.

    1. Re:BitKeeper sees two problems by Frank+T.+Lofaro+Jr. · · Score: 4, Insightful

      There is something really wrong with a tool if some user tweaking a ChangeSet file causes damage that costs $35000 and needs a custom release to fix!

      --
      Just because it CAN be done, doesn't mean it should!
  19. Server Should Enforce Immutability by Cosine+Jeremiah · · Score: 4, Insightful

    What happens if Tridge's client sucks?

    Someone looks at the source and makes it better.

    What happens if it corrupts older files?

    That sounds like a problem that can only occur if the server doesn't enforce proper ACLs. Older files cannot be corrupted by "updates" or "checkouts" unless there's an architectural problem with the server.

    A source control system should enforce immutability of older revisions. Only administrators should have any delete powers at all to clean up, and the idea of modification of committed revisions should be right out! I expect the server to enforce this.

    If word gets out that that damn BitKeeper source control system has corrupted 6 months worth of work, that's bad publicity.

    And it's their own fault for that bad publicity. They should have written code that properly enforced immutability of older stuff.

    Of course, if that data cannot be recovered from backups, then it's Linus's fault. :)

  20. Really? by Elwood+P+Dowd · · Score: 5, Insightful
    There is no doubt Tridge is being cast as the villain in this piece.
    Huh. I just don't get that. Sure, McVoy casts him the villain, but agreeing with McVoy means you assume reverse engineering is wrong.

    I don't think many of NewsForge's readers are going to be anti-reverse engineering. Like Sanity says, McVoy appears to want patent-level protection of his work. He doesn't have patent-level protection of his work, whether that's because he doesn't hold patents or because Tridge lives somewhere safe.

    I don't think McVoy is exactly a villain here either. He just needs to quit acting like he got taken advantage of. He was doing a service and now it's not worth it to him so he's stopped. Larry McVoy, quit your bitching for your business' sake. However well founded you think it is, it only makes you sound like an asshole.
    --

    There are no trails. There are no trees out here.
  21. Re:weak answer from Tridge by kfg · · Score: 5, Insightful

    Or he finds the idea of getting involved in a "he said, she said" public mud flinging fest to be personally distasteful. It may be hard to believe here on Slashdot, but there really are people who feel that way.

    He made the relevant points, that he did not use Bitkeeper at all in developing his tool and was never subject to the Bitkeeper license.

    KFG

  22. Re:Interesting by jc42 · · Score: 4, Interesting

    My thoughts, too. So far, I haven't seen any explanation of why the phrase "reverse engineering" is being used. If Tridge's comments are correct, the phrase just doesn't seem to apply.

    Usually, "reverse engineering" means that I've written code that does what someone else's code does, and I wrote it after studying the other code's behavior but not the code itself. Now, maybe Tridge saw the BK code, maybe he didn't; I can't tell. But it seems that what he wrote doesn't really mimic what BK did. He was adding a new capability as a sort of add-on. So his work fails to satisfy the first part of the definition, and isn't "reverse engineering".

    But I haven't really seen much in the way of details.

    Could someone who says that "reverse engineering" is involved please explain 1) how you define the phrase, and 2) why it applies in this case?

    It's always good to get a common definition of terms before we start condemning someone for doing something that they say they didn't do.

    --
    Those who do study history are doomed to stand helplessly by while everyone else repeats it.
  23. Re:Zealotry? by Sanity · · Score: 5, Interesting
    I know that it's heresy to say this on slashdot, but it sounds like things were running pretty fine until rabid open-source zealotry reared its ugly head.
    I see nothing ugly about a guy's desire to use free software, and to put the work in to make it happen, in fact it is exactly the spirit that drives the free software movement.

    On the other hand, I see plenty that is ugly about BitMover trying to impose the terms of their license on a guy who apparently didn't even use their software to build a free replacement for it.

  24. Re:Zealotry? by Some+Bitch · · Score: 4, Informative
    Then this 'Tridge' guy comes along

    He hardly "Came along", if I remember right he wrote most of rsync and was the initial author of (and is still a major developer of) Samba. Devising and reverse engineering protocols is what he does.

  25. Bitkeeper is hardly 100% original by NatteringNabob · · Score: 5, Insightful

    Bitkeeper traces it's roots to Sun's Teamware, which was not written by Larry McVoy, to Sun's NSE-lite which was partially written by McVoy, to Sun's NSE which McVoy had absolutely nothing to do with except being an unhappy customer, to Eric Scmidt's PhD dissertation which Larry had nothing to do with, to Apollo's DSEE which Larry had nothing to do with, to SCCS which Larry had nothing to do with. Bitkeeper is largely an amalgamation of 3 previously existing ideas, the Teamware/NSE distributed development model, changesets, and the CVS pserver. It's a little hypocritical for Larry to complain about other people riding on his coat tails when Bitkeeper is, like most successful products, a really good implementation of a bunch of ideas that were invented by a lot of other people over a lot of time.

  26. Re:weak answer from Tridge by chrisd · · Score: 4, Insightful
    I gotta say, if you are going to besmirch tridge, you better be have a much better reason than this. Tridge, creator of rsync and co-creator/developer of Samba is easily one of the best developers of our generation, and his character is simply beyond reproach.

    Chris DiBona

    --
    Co-Editor, Open Sources
    Open Source Program Manager, Google, Inc.
  27. McVoy: Ultimate Open Source Advocate? by Kurt+Granroth · · Score: 4, Insightful

    I've been trying to make sense of Larry McVoy's actions here and the only sane conclusion I can come to is that he is one of the ultimate advocates of Open Source. He is willing to go as far as destroying his own company to make a point on the benefits of Open Source!

    Right now, he is saying this to potential BitMover clients: "If you use BitKeeper, then I will control your development process. I am free to change how you work at just a whim." Can you imagine even ONE company that would accept terms like this? I can't.

    Therefore, his actions now will have the result of destroying his company. That means that he is either incredibly stupid or has some other plan so clever that nobody (or almost nobody) sees it. I think it's the latter.

    He's said many times that he is a big advocate of Open Source. Now, he is showing an object lesson on how horrible proprietary software can be. "Look at how much I can screw you over," he is telling us. "I wouldn't be able to do this if BitKeeper was Open Source."

    Very clever! By sacrificing his company, he gets his point across much more strongly than mere words could ever do. Bravo McVoy!

  28. Re:Zealotry? by Sanity · · Score: 4, Insightful
    Then, while a temporary cease-fire is arranged so that the matter can be discussed and resolved maturely, he violates this truce.
    I have seen no evidence that Tridge ever agreed to this "truce", and if not, how could he possibly violate a truce that he never agreed to?

    I have also seen no reason to suggest that Tridge cannot be trusted when he claims that he didn't use BitKeeper, and since Tridge is the free software developer in this debate, I am more inclined towards sympathy with him than towards a guy that thinks reverse engineering for interoperability is immoral.

  29. Re:Confused by Soko · · Score: 4, Insightful

    Read the article - Tridge reverse engineered BitKeeper without once using BitKeeper or it's source code. By doing this, he was not bound to the BitKeeper license.

    Seeing as Tridge is the main SAMBA dev, I think he has lots of experience doing reverse engineering work on closed systems with zero access to the source.

    Sorry, not /. hypocracy this time.

    Soko

    --
    "Depression is merely anger without enthusiasm." - Anonymous
  30. Balancing freedom and zealotry by crimethinker · · Score: 4, Insightful
    Good quote from the article: "Tridge believes strongly enough in free software that he thinks anyone using non-free software is living in sin."

    While McVoy may be overstating things a bit, I get this sort of vibe from some F/OSS people, most notably RMS, who adovcated outlawing proprietary source code in the GNU Manifesto.

    I run SuSE 9.2 at home, and I use Firefox and OpenOffice on Windows at work. I also provide the "freedom" angle for every tool we consider using or purchasing. We use GCC instead of commercial compilers so that we never have to renew a license or pass around a dongle. We use a libre and gratis source code management tool. Our lab machines and test stations run linux.

    Even in hardware, I try to inject freedom: we are buying a Bitscope instead of a competitor's product because their gratis (but not libre, duly noted) software runs on Windows or Linux, while the slightly-more-capable competitor only runs on Windows. Additionally, the Bitscope interface is documented well enough that we will be writing one for an automated hardware validation test, something that would be much more difficult if we had to reverse-engineer the protocol.

    I found myself explaining this philosophy to our FNG (f-ing new guy) recently, when he asked why we didn't buy tool X from vendor Y: "we want to control our tools, rather than have our tools control us."

    Contrast this to our JTAG/ICE which used to support Motorola and IBM PowerPC chips until the company was bought a few times and wound up in the Motorola family of companies. We had to upgrade the firmware and software to support a new Mot chip, and with that we lost the support for the IBM PPC chips.

    F/OSS is great, but we will not make inroads if we have an attitude like that attributed to Tridge; we cannot [openly] "look down" on those who are stuck in the land of proprietary software, or we come across as self-righteous zealots, and we all know how well that sort of attitude is taken these days.

    -paul

    --
    Pistol caliber is like religion: everyone has their favourite, and theirs is the only right choice.
  31. more history by veg_all · · Score: 4, Informative

    Context is everything. I posted this article (written at the time of Linus' adoption of bitkeeper) from Linux World in the last BK thread. Casts the current events in an interesting (and not McVoy-friendly) light.

    --
    grammar-lesson free since 1999. (rescinded - 2005)
  32. Should all reverse-engineering be allowed? by LittleStone · · Score: 4, Insightful

    It seems to be everyone's knee-jerk reaction that McVoy is against all reverse-engineering in general.

    But if he's okay with competition, reverse engineering is always a part of competition and he should be fine with it.

    After RTFA, what I get is, if you reverse engineer BK, learn how it works, and implement something that's not plugged into BK's network, and compete with McVoy, he's fine with it. The "riding on his coat-tails" is when you reimplement his solution using BK's network, and compete with BK directly.

    Before you jump into conclusion the network is open so everyone can use it, consider this: you are not just reading information from BK's network, but also changing the information, and possibly corrupting the network data. You can say it's a flaw.

    So it comes to this: should reverse-engineering, on the third party's property, that could cause harm to the third party be allowed?

    I'm not sure letting an implementation that potentially render the whole network useless should be protected as valid reverse-engineering.

    --
    A sig is redundant.
  33. How Samba was written by Andrew Tridgell by smittyoneeach · · Score: 4, Informative

    (prostituting anonymously)
    Go, AT!

    How Samba was written
    ---------------------
    Andrew Tridgell
    August 2003
    Method 1:
    ---------
    First off, there are a number of publicly available documents on the
    CIFS/SMB protocol. The documents are incomplete and in places rather
    inaccurate, but they are a very useful starting point. Perhaps the
    most useful document is "draft-leach-cifs-v1-spec-02.txt" from 1997
    which is a protocol specification released by SNIA and authored
    primarily by Microsoft (with significant input from many other people,
    including myself). This document has expired as an IETF draft, and
    Microsoft has dropped their attempts to get CIFS accepted as an IETF
    standard, but the document is still available if you look hard enough
    with an internet search engine.
    There are numerous other public specifications for various pieces of
    the protocol available. I maintain a collection of the ones I know
    about in http://samba.org/ftp/samba/specs/
    Method 2:
    ---------
    I call this method the "French Cafe technique". Imagine you wanted to
    learn French, and there were no books, courses etc available to teach
    you. You might decide to learn by flying to France and sitting in a
    French Cafe and just listening to the conversations around you. You
    take copious notes on what the customers say to the waiter and what
    food arrives. That way you eventually learn the words for "bread",
    "coffee" etc.
    We use the same technique to learn about protocol additions that
    Microsoft makes. We use a network sniffer to listen in on
    conversations between Microsoft clients and servers and over time we
    learn the "words" for "file size", "datestamp" as we observe what is
    sent for each query.
    Now one problem with the "French Cafe" technique is that you can only
    learn words that the customers use. What if you want to learn other
    words? Say for example you want to learn to swear in French? You would
    try ordering something at the cafe, then stepping on the waiters toe
    or poking him in the eye when he gives you your order. As you are
    being kicked out you take copious notes on the words he uses.
    The equivalent of "swear words" in a network protocol are "error
    packets". When implementing Samba we need to know how to respond to
    error conditions. To work this out we write a program that
    deliberately accesses a file that doesn't exist, or uses a buffer that
    is too small or accesses a file we don't own. Then we watch what error
    code is returned for each condition, and take notes.
    Method 3:
    --------
    Method 3 is a greatly expanded variant of the "swear words" technique
    I have already mentioned. It involves writing something called a
    "protocol scanner". A protocol scanner is a program that tries all
    possible "words" in some section of a protocol and uses the response
    to automatically deduce new information about the protocol. It is like
    the French Cafe technique but with a very patient waiter.
    For example, some section of the protocol might contain a 16 bit
    "command word" that tells the server what operation to perform. There
    are 64 thousand possible command words, so we try all of them and note
    which ones give an error code other than "not implemented". Then we
    need to work out how much supplementary data each command word needs,
    so the program tries 1 byte of blank data, then 2 bytes then 3 bytes
    etc until the server changes its response in some way. When the
    response changes then you know (with a fairly high level of confidence
    at least) that you are using the right quantity of data. You then try
    using non-blank data, putting in a filename or a directory name or a
    username until the server changes its response again. After a large
    number of tries the program eventually finds a combination of data
    that gives no error code at all - the server

    --
    Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  34. and thus, R.Stallman was right all along... by N3wsByt3 · · Score: 4, Insightful

    Since people keep saying the same things, I'll keep responding with the same too:

    It's a bit silly to say 'I told you so" - especially since I didn't actually say it. I thought the arguments made by Linus had some logic behind it too (the technical-merit-before-anything-else approach). Often I thought both sides (Stallman and Linus) had some valuable viewpoint on it, and it was difficult to say who actually was right on the matter.

    It seems now, after all, it was R.Stallman all along. Yes, Linus has a good point in chosing for technical superior alternatives...BUT, in the end, as is clearly shown now, you can't just devide the political/ideological/proprietary issue from the mere technical one. When push comes to shove, an alternative that isn't really free, isn't really an alternative. You are always dependend on the goodwill of whomever owns the product- even when buying it, I may add.

    So, it would seem the viewpoint of Linus, in this instance, is the weaker one, because now he doesn't have a 'tecnological superior' product anymore, and what is he going to do? Go for another proprietary product, because it's technologically better? And have the same thing happen to him again? I don't think so. I think he learned his lesson, and he will go for the really free alternatives that R.Stallman suggested, which, albeit not as good, at least allow you to continue with it as you see fit.

    Stallman can be a nag sometimes because of his gnu/linux diatribe, but in this instance, he was right.

    --
    --- "To pee or not to pee, that is the question." ---
  35. Re:Reverse engineering by jc42 · · Score: 4, Interesting

    Linux is basically a reverse engineered Unix.

    A bit of pickiness is in order here. Strictly speaking, linux was an independent implementation of POSIX, not Unix(TM). Yes, POSIX was a rubber-stamping of Unix Sys/V as an industry standard. But the distinction is important, legally and ethically. When governments require that you follow an official standard if you are to sell to them, it's really not right to tell me that I can't follow the standard without getting into legal trouble with some corporation. Publishing a spec as an official standard should give me permission to build tools to the standard. This is what Linux did, and everyone outside SCO seems to agree that it was legal.

    Saying it's "reverse engineering" to implement a published, official standard stretches the meaning of the phrase so far that it becomes nearly meaningless. Next I expect to hear that if I use meters or grams, I'm "reverse engineering" a measurement system.

    Of course, this doesn't really apply to the current discussion, since BK isn't exactly a published standard.

    I'm still looking for an explanation of exactly what Tridge did that qualifies as "reverse engineering". TFA and other supposed explanations don't seem to explaining anything. I can't tell what the offending code actually did, and why it's considered "reverse engineering". Tridge seems to say that it did something that BK didn't do already. Or am I misreading something?

    --
    Those who do study history are doomed to stand helplessly by while everyone else repeats it.
  36. You sure are confused by Merk · · Score: 4, Insightful

    Case 1: CherryOS violates the license to some open source software by taking it, adding some slight functionality, and renaming it, claiming it's 100% original code.

    Case 2: Tridge reverse-engineers the bitkeeper protocol / binary format, intending to release an open-source version.

    Case 1: Violates source code license, used to do something illegal, taking open software and making it closed.

    Case 2: Adheres to all laws and licenses, takes something closed and makes it open.

    Tridge didn't use proprietary code, and he wasn't reverse engineering an open-source project. (What open-source project did you think he was reverse-engineering? Linux? Why would you need to reverse-engineer an open source project anyhow, rather than reading the source and chatting with the original developers?)

  37. Re:weak answer from Tridge by Jeremy+Allison+-+Sam · · Score: 4, Interesting

    Indeed. I've been staying out of this as I know too much about what really happened to comment publicly.

    But one thing I will say is that tridge has done *nothing* wrong in this matter.

    As for his short reply to the question, unfortunately this is for reasons outside his control.

    Jeremy Allison,
    Samba Team.

  38. Re:So it's about control by drinkypoo · · Score: 5, Insightful

    Let's look at reverse engineering for a minute. First of all, even the DMCA has a clause that protects reverse engineering for the purposes of interoperability. That's right, one of the most draconian media laws we've ever seen protects the right to figure out what something does so that you can interface to it. This is precisely what Tridge was attempting to do.

    For the user, Free Software is about not being locked into a proprietary solution. BK is apparently the antithesis of this - they would very much like to lock you into BK. This is made abundantly clear when McVoy says "If we sat back and did nothing about Tridge then we are implicitly condoning reverse engineering."

    For me, that tells me everything I need to know about bitmover. Reverse engineering is a necessary and even protected activity. If you want to lock people into your solution, you just don't get it.

    [...]if other clients can connect, then that opens up whole areas of problems for which he could not be responsible. How could it be fair to expect him to invest time and money in sorting out problems caused by third-party code? Especially when he'd be incapable of fixing said code, or even from preventing it being used?

    What McVoy is saying, and what you are apparently agreeing with, is that it's reasonable that BK should be such a house of cards that it is possible to knock it over in such a way that you can't put it back again. McVoy tells us how unreliable and unmaintainable BitKeeper is in the following bit:

    BK is a complicated system, there are >10,000 replicas of the BK database holding Linux floating around. If a problem starts moving through those there is no way to fix them all by hand. This happened once before, a user tweaked the ChangeSet file, and it costs $35,000 plus a custom release to fix it.

    Why on earth is there no way to fix them by hand? Why, in fact, can I not just turn back the clock to a point where the system was not corrupted? Are they really passing information around without sanity checking? I'm sure a lot of people are saying "I can tell this asshole isn't a programmer" as they read this, but does something like this really give you a warm fuzzy feeling, knowing that if your BK DB is somehow corrupted, you're going to need a custom release of the BK software?

    The moral high ground would be to ensure some way of getting all the information out of BK DBs (which I gather McVoy was going to provide)

    Was going to provide? If bitmover had seen interoperability as a goal from the beginning (the very least I will accept out of proprietary software that is part of a core business process) then it would have been provided already, Tridge would never have had reason to write tools that interfaced to BitKeeper via its internal protocols (Assuming that is what is happening, which all of this strongly implies - I don't know just what was written obviously) and this whole thing never would have happened. Instead, what happened here is that bitmover decided that they didn't want what they saw as competition, and wants to be able to lock their customers into their product, preventing them from retrieving the entirety of the data - data which belongs to them.

    Tridge's efforts were entirely prudent. Functionality was needed and was not present, and he sought to add it. Bitmover was apparently not very interested in providing it; otherwise why write anything? Tridge's efforts may not have been helpful - I'll wait to see some code (or not) before I pass judgement there. However, I am inclined to say that they were helpful, in that I do not believe that the Linux development process should involve proprietary tools when there are free tools that will do the job. If Linux needs functionality not currently present in Free software, IMO the proper course to follow

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  39. It's worse than that by Angst+Badger · · Score: 4, Insightful

    That's bollocks. Reverse-engineering is not riding on the coat-tails of anyone. It ensures that the product is 100% compatible.

    It's not just bollocks, it's rank hypocrisy coming from Linus Torvalds, who would be a completely unknown, minor software developer in Finland if he hadn't ridden -- dry-humped, actually -- on the coattails of Unix. The same goes for his last employer, whose business is built on a reverse-engineering of x86 microcode.

    Ordinarily, I'm quite fond of Linus, but in this case, he's being a ridiculous ass.

    The whole idea behind free software, IMHO, is that by encouraging reverse-engineering, among other forms of transparency, it ensures that software development is accelerated because you can't rest on your laurels. Your good ideas become the community's (and your competitors') good ideas, and you have to keep coming up with new good ideas to stay ahead.

    This is the reverse of the closed source world where having had good ideas once entitles you to maintain a monopoly to the detriment of the consumer.

    --
    Proud member of the Weirdo-American community.
  40. Re:I really think Tridge needs..... by 0xABADC0DA · · Score: 4, Insightful

    Basically you would like to know all about his motivations. Who the f*ck cares? The entire problem is a hissy fit about somebody reverse-engineering a protocol and Tridge isn't the hissy.

    But to answer for him anyway:

    Why did he do it? Because he wanted to.
    Is OSDL paying for it? Ask OSDL.
    Why he kept going when OSDL promised he'd stop? He's not OSDL.
    Was it worth it? Ask McVoy.
    Why was reverse-engineering the only way? Because of the BitKeeper license.
    Will he keep going with the project? If Linux falls back to BitKeeper.

    Seriously this is just pissed-off.com 101. Reverse-engineering a protocol is not wrong, immoral or impolite. It does not require justification. Purposely keeping a protocol closed however, does.

  41. But using BitKeeper has been *good* by EnglishTim · · Score: 4, Insightful

    Linus says it himself:

    "...we did get three very productive years out of it, and we not only learnt how SCMs can work, we also taught a lot of people what to expect of a _good_ SCM, so anybody who claims that it was a waste of time to go with BK obviously doesn't have his head screwed on right. BK did good."

    There seems to be the idea that now that they've got to move off BitKeeper that it's the end of the world. It isn't. What if they hadn't used BitKeeper - kernel development would not have progressed at nearly the rate that it has and they'd still be in the same position they are in now, but with less work done on the kernel. They'd still have had to work out some alternative SCM, they might just have had to do it sooner.

    I really don't see what the big deal is. Linus hasn't lost anything by using BitKeeper - you say that he was "dependent on the goodwill of [BitMover]", but dependent for what? we still have the Linux source - the only thing he was dependent on them for was the productivity that no open source product was capable of offering. So all he's done is gain, and lost nothing.

    The sky hasn't fallen.