Hacker News new | ask | show | jobs
by JoshTriplett 715 days ago
> There is no way that you could make a BK clone by telneting to a BK and running commands. Those commands don't tell you the network protocol

The network protocol, according to multiple sources and the presented talk at LCA, was "send text to the port that's visible in the URL, get text back". The data received was SCCS, which was an understood format with existing tools. And the tool Tridge wrote, sourcepuller, didn't clone all of BitKeeper, it cloned enough to fetch sources, which meant "connect, send command, get back SCCS".

Anything more than that is hearsay that's entirely inconsistent with the demonstrated evidence. Do you have any references supporting either that the protocol was more complicated than he demonstrated on stage at LCA, or that Tridge committed the network surveillance you're claiming?

And to be clear, beyond that, there's absolutely nothing immoral with more extensively reverse-engineering a proprietary tool to write a compatible Open Source equivalent. (If, as you claim, he also logged a friend's network traffic without their express knowledge and consent, that is problematic, but again, the necessity of doing that seems completely inconsistent with the evidence from many sources. If that did happen, I would be mildly disappointed in that alone, but would still appreciate the net resulting contribution to the world.)

I appreciate that you were incensed by Tridge's work at the time, and may well still be now, but that doesn't make it wrong. Those of us who don't use proprietary software appreciate the net increase in available capabilities, just like we appreciate the ability to interoperate with SMB using Samba no matter how inconvenient that was for Microsoft.

3 comments

> Have you tried it?

the one you're replying to, @luckydude, is Larry McVoy, who created BitKeeper.

Fascinating, I was unaware of that link (and don't systematically check people's HN profiles before replying). Thank you for the reference; I've edited my comment to take that into account.
I worked on bk

> The data received was SCCS, which was an understood format with existing tools.

You'd be surprised. SCCS is not broadly understood. And BK is not exactly SCCS.

I read the SourcePuller code when it was published (sp-01). It's pretty easy reading. I give Tridge credit for that. I wrote a little test, got it to checkout the wrong data with no errors reported. Issue was still there in sp-02 .

Rick saying "I worked on BK" is the understatement of the century. He showed up and looked at my code, I had done things in a way that you could have walked the weave and extract any number of versions at the same time. He was really impressed with that. I split apart stuff that Rick had not seen before.

Then he proceeded to fix my code over and over again. I had a basic understanding of SCCS but Rick understood the details.

Rick knows more about SCM than any guy I know.

And he is right, SCCS is not well understood and BK even less so.

> Do you have any references supporting either that the protocol was more complicated than he demonstrated on stage

BitKeeper itself is open source now and (an old version) of the protocol is documented at https://github.com/bitkeeper-scm/bitkeeper/blob/master/doc/p....