Thursday, November 08, 2007

Hide and Seek where I lost!

Once upon a time someone created a Bittorrent website named SeedPeer [1]. Over
the years they grew bigger and popular. Then they also wanted to write a
bittorrent client. Recently they announced that their client (named SeedPeer
too) is mostly ready.

The above part is known. Then, Alan, the author of very-much-open (MIT/X11
licensed) MonoTorrent posted his objection that SeedPeer was based on
MonoTorrent (is it a rip off ? or based on ?) [2]. What annoyed him was that
the SeedPeer folks said nothing about MonoTorrent anywhere and claimed that
the code is all theirs. Quite right for Alan to be disappointed. I read his
blog, chuckled and said to myself ..."sigh! yet another victim of MIT/X11 and
BSD style licenses"[3] (coincidentally, I have read several posts in the last
few weeks that somehow end up with the openness of the above licenses; BTW,
beagle is also under MIT, which means you can sell it too...).

I like playing hide and seek so I downloaded SeedPeer to see how they managed
to agree to MIT/X11 and not say anything publicly. Quite possibly they credit
the author in a sneaky way somewhere. Ahh no. The exe and other related files
mentioned nothing of that sort. Ok, I went ahead and posted a comment
pointing out that SeedPeer people need to abide by the license [5].

For some reason I had that page open, so when I checked later a lot of people
were complaining of plagiarism and stuff. Probably someone even claimed that
SeedPeer has nothing do with MonoTorrent (it was something like "just because
its in C# does not mean ..."). I said to myself valid point, maybe Alan is
wrong... and thought to perform a silly test: compare the output of "strings"
of SeedPeer.exe [6] and MonoTorrent.{exe,dll}. Hmm... there was a lot of
matches, not only coincidental ones but suspicious ones. Like SeedPeer.exe
had "Mono.Math" in it - why was SeedPeer using Mono if they claimed before
that they are only focussing on Windows for the time being. Then there were
lots of strings that I only found in MT source and with uncommon names. I
posted a message in jest, saying I found a huge list of common strings and
that they probably have a few minutes to mangle the class/method names in
their source.

It was quickly followed by another post (from one of the admins, I suppose)
that they are not afraid and I should post the list. Also once their software
is complete, they would open source it. That kind of ticked me off ... could
I be that wrong ? Could the common words in "strings" be that coincidental ?
Well, off to "monop2 -p", the easiest "decompiler" at hand. Got the names,
removed the namespace and did a direct comparison. Irrelevant, but I could
not find any one line shell command to return the common lines from two
files; google helped me find a one line perl command. Anyway, there were 109
matches! And a lof of them were from private classes in MonoTorrent. The
similarity was too striking to be a coincidence. I modestly reported my

I have not been able to access the site since then. It was down; I should say,
it was down from my computer. Because, curious, I accessed the site from
another computer and it was nice and jolly up. Except ... the SeedPeer.exe
article, the download link to the exe and some other news articles are gone
[5]. I guess they "banned" me for, I guess reading their policy on their faq
page, "using comments section to insult others" (that was the closest match;
I also could not figure out if they mean blocking IP when they say "banned" -
since I am not a member at all).

I wished I had accessed that page using Firefox. Beagle firefox extension
would have indexed it right away and I would have a copy of the forums page.
I used Konqueror which does not always save the pages in its cache directory;
I just checked, there is no cache file for the forums page.

Like Adleman [7] (ahem), I like to break stuff. And thats what I did when they
argued that SeedPeer is their own and solely theirs. But I suck at
hide-and-seek, I really do!


Friday, November 02, 2007

Good Luck Joe

Please join me in welcoming Joe Shaw, the second non-Novell maintainer of the Beagle project. Joe has solid knowledge of the codebase yada yada yada...