Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

In terms of historical interest, it's also worth noting why McVoy restricted and eventually withdrew the BitKeeper license: Andrew Tridgell (of Samba and rsync) had begun reverse-engineering the protocol with the eventual intent of implementing a free client.

The resulting debacle was fairly ridiculous; Linux chastising Andrew Tridgell, continued flamewars about using a closed-source product.

What I find interesting here, though, is just how much hot water McVoy landed in. He gave away free licenses to Linux developers, then when someone in that community started reverse engineering his product with the intent to replace it, he revoked the free license, leading Linus to develop a replacement anyway -- one that has largely consumed the vast majority of BitKeeper's target market.



Tridge's reverse engineering was why McVoy withdrew the license, but he'd started to restrict it well before that. Initial releases were source-available, and had a "fail-safe" that would turn the code fully open source if McVoy's company ceased to function. Source access and the failsafe were withdrawn over time, and various restrictive clauses were added. (Most notably, around 2002, McVoy added a "non-compete" clause which purposted to restrict any user for gratis BK from working on a competing SCM for a full year after they last touched BK. I'm not sure that was ever tested in court.) Here's a brief description of the history:

http://better-scm.shlomifish.org/comparison/bk-license.html


Andrew Tridgell recreated the "reverse engineering" you mentioned in front of a live audience at linux.conf.au not long afterward; see https://lwn.net/Articles/132938/ . Summary: he saw a port number in the standard bitkeeper URLs, tried telnetting to it, tried typing "help" which listed the available commands, and tried typing the "clone" command which spit SCCS files back at him. He walked through the process and literally had the audience shouting the appropriate commands at him the whole way through, demonstrating the obviousness of the process.


Well if I recall correctly his reverse "engineering" consisted of figuring out that the protocol was a plain-text English based protocol (i.e it would be like if you were to reverse engineer FTP by looking at the TCP stream).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: