BitKeeper Love Triangle: McVoy, Linus and Tridge 850
erktrek writes "NewsForge has given a brief interview to the parties involved in the (inevitable?) BitKeeper debacle." Here is some of our previous coverage.
Old programmers never die, they just hit account block limit.
Quick Summary (Score:5, Informative)
Linky [com.com]
Re:Uh, a summary? (Score:2, Informative)
Re:You git! (Score:2, Informative)
Re:You git! (Score:5, Informative)
Quote Linus:
Seems clear who he is a bit bitter at.
Re:Nice to annonuce dumping Bitkeeper, but.. (Score:5, Informative)
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.
Re:Freedom Matters (Score:5, Informative)
BitKeeper sees two problems (Score:5, Informative)
Larry McVoy sees two problems with Andrew Tridgell's reverse-engineered, free tool. One is "condoning reverse engineering". The other is, in his words:
Re:My opinion hasn't changed (Score:5, Informative)
J
2 line summary (Score:1, Informative)
McVoy is a businessman who doesn't want people to reverse-engineer Bitkeeper, but wouldn't mind if someone wrote a free replacement that wasn't reverse-engineered because he doesn't believe people should freeload off of his work.
Re:Freedom Matters (Score:3, Informative)
Amazing. The exact same post was made by Concern, here [slashdot.org]. And then Squiggleslash replies [slashdot.org] with the exact same reply that Redswinglinestapler replies with here [slashdot.org].
Are you guys just all the same people, or what?
Moderators: this is redundant, and overrated.
Re:What? (Score:5, Informative)
Re:What? (Score:5, Informative)
Re:hmm... (Score:2, Informative)
Uh, you didn't RTFA, or even follow this story, did you.
Linus and Larry both clearly continue to admire each other and each other's work. They both want the transition to go smoothly. Linus still says BitKeeper's the best. Larry and Linus both agree that stopping support for the free bitserver is a good financial decision for bitkeeper.
Tridge clearly loves bitkeeper because he continues to work on compatable products.
Larry still loves F/OSS, and encourages the F/OSS SCM guys to compete with him fairly. Linus agrees with Larry's position.
OSDL still likes F/OSS, and Tridge and Linus and continues to employ them both.
It's just one huge love-fest.
Re:I really think Tridge needs..... (Score:2, Informative)
Reverse engineering is how much of Linux came into existance. In some cases, it was reverse engineering drivers and/or hardware interfaces (most kernel drivers for cheap PC hardware). In some cases, it was reverse engineering a product based on its protocol interactions (Samba). In some cases, file formats were reverse engineered (Open Office, AbiWord, Gnumeric, KOffice, etc.)
Reverse engineering is a widely used tool in open and closed source products, and has been repeatedly defended by the courts (and is even written into the DMCA).
You mis-use the word "copied" here when what you meant to say was, "re-implemented", and yes I understand that my OS is, to a large extent, a re-implementation of many other operating systems and software products. Copying would be reverse engineering a product, and then taking that reverse-engineered code and calling it your own. Re-implementing would be reverse engineering a product and using that code as documentation to specify your own effort. If you're really paranoid and want to be able to defened your claim easily in court, you do this in two stages with two different teams, but that's just extra protection that makes having to prove your point in court much less likely.
Ultimately the burden of proof is on the entity that claims its IP rights were infringed to demonstrate that something IS a copy of their work. This is why SCO is dragging their feet in discovery with IBM: they need to demonstrate that something that IBM touched really was SCO's in the first place.
Tridge has nothing to expliain in any way.
Re:Zealotry? (Score:5, Informative)
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.
Re:Interesting (Score:3, Informative)
What Tridge did was exactly "reverse engineering", and there is absolutely nothing illegal or immoral about that. And reverse engineering software never involves looking at the original code. It seems like the SAMBA folks have published a few good write ups on the subject of reverse engineering; you might want to dig around for it.
Re:Nice to annonuce dumping Bitkeeper, but.. (Score:3, Informative)
Re:BitKeeper sees two problems (Score:3, Informative)
Fair enough. The request was for a "1 or 2 line summary", so I skipped details. Anyways, here's more of Larry McVoy's thoughts around why he doesn't want to condone RE (point b) below):
more history (Score:5, Informative)
Re:The OSS Religion Clashes With Reality (Score:3, Informative)
No, it doesn't. It sets conditions for anyone who copies, distributes or creates derivative works of software. You can completely repudiate the GPL and continue to use GPL-licensed software (except for copying, distributing, and deriving).
You're thinking of an End User License Agreement (EULA). EULAs take away users' rights. The GPL is not an EULA. The GPL gives you rights you would not have had without a license.
How Samba was written by Andrew Tridgell (Score:5, Informative)
Go, AT! [samba.org]
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
Re:What replacement systems are being considered ? (Score:4, Informative)
Linus specifically mentioned Monotone, and he's working on his own tool called git. There have been positive rumblings about Bazaar-NG.
What features are needed/why BK is so great is a long topic, but being fully decentralized and being able to run over email are some of the major features.
Shouldn't a really good SCM server system have a standardized, controlled interface that can allow simple, third-party clients, anyway ?
In fully distributed SCM, there may be no server, so all the work has to be done in the client. For exmaple, merging is one of the trickier parts of SCM, and it has to be done on the client side.
Comment removed (Score:4, Informative)
Re:Interesting (Score:3, Informative)
No, that's too narrow a definition. RE means more than writing code to duplicate another's functionality. It refers instead to the process of deducing how another program works by studying its behavior.
A program is engineered by starting with goals and writing code to achieve those goals. A program is reverse engineered by starting with a program and studying how it works in order to achieve its goals.
In this case, Tridge had to study the behavior of BK, its files and data structures, in order to write this new component. That process, of studying a program's behavior and deducing how it works, is by definition reverse engineering.
Re:Confused (Score:4, Informative)
No.
Re:Uh, a summary? (Score:1, Informative)
Re:What? (Score:5, Informative)
Jeremy Allison,
Samba Team.
Re:My opinion hasn't changed (Score:4, Informative)
What project? What OS?
AFAIK Linux is a "forward" engineering project (the device drivers might be different in some (most?) cases)
Re:Bottom Line (Score:3, Informative)
Re:Should all reverse-engineering be allowed? (Score:1, Informative)
It seems to be everyone's knee-jerk reaction that McVoy is against all reverse-engineering in general.
I wonder where everybody got that idea from. It can't possibly have been when he said this:
b) IP loss. If we sat back and did nothing about Tridge then we are implicitly condoning reverse engineering.
Re:BitKeeper sees two problems (Score:4, Informative)
Andrew Tridgell is the author or rsync, and one of the founders and major developers of samba (you know, that program that lets you connect to windows file sharing), and I don't really see how this is different from samba (and surely no-one wants rid of that?)
Re:BitKeeper sees two problems (Score:4, Informative)
This has happened before. See for the discussions about LMcV and lmbench in the 90-es. In fact, the moment I saw that Linus has AGAIN selected a Larry McVoy tool my first thoughts were "Oh no, not another lmbench". I bet I was not the only one.
Considering that he is also known to be litigation happy I am not going to qualify his behaviour that time and this time. Just read the LKM on both occasions as well as some of his musings. They are selfexplanatory.
Re:I think Tridge is lying (Score:3, Informative)
Well, since you see fit to call Tridge a liar, I'll point you to some information on just how he can ethically accomplish such tasks. Let's start with an informative post from this very thread (right near the top):
Slashdot reference [slashdot.org]
All of your questions are answered, such as "How did he test it?" and "How does he know it's interoperable?". You may also decide to browse the SAMBA site, or at least Google the Web a little bit before you hurl baseless insults like a fool.
Then, after actually getting yourself a modicum of information, maybe you can post back here with an apology before you get modded "Flaimbait" or "Troll".
Re:What? (Score:3, Informative)
Re:My opinion hasn't changed (Score:4, Informative)
The joke started about a week before April 1 when the admins were comfortable doing the switch to subversion and just needed a date and 12 hours to do it. The first proposal when they announced this to kde-devel was do to the conversion on March 31, so that everyone would wake up to an announcement that KDE has switched to subversion, and then have to figure out if it was a joke or not.
The switch didn't happen then, but it is close if it hasn't happened already.
Re:BitKeeper sees two problems (Score:3, Informative)
Whoa. (Score:3, Informative)
Unpicking it requires an export tool, and frankly, like Tridge, I wouldn't personally want to rely wholly on Larry's good graces for one as Linus seemed willing to do.
So, is Larry providing one now? Tridge's was just a proof-of-concept.
(Admittedly that's kind of moot as it sounds like Linus did extract his own BK repository already. But what if he hadn't?)
This was on his own time, not when he was billing OSDL contract hours (he's a contractor, not an employee).
Larry did that, not Tridge.
Frankly, the more I read about the situation, the more this sounds like one of those situations where a controlling and jealous husband beats his wife because he doesn't like what some of her friends are doing. Then some people take the side of the husband and blame the friends for everything.
They insist how good he was was to her, and that he wasn't really TOO controlling, really. He PROVIDED for her. Where would she have been without him? Is it too much to ask if she and her friends could just show gratitude and respect his wishes?