I'm in doubt if RobboLito is a clone

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

tvrzsky
Posts: 128
Joined: Sat Sep 23, 2006 7:10 pm
Location: Prague

Re: I'm in doubt if RobboLito is a clone

Post by tvrzsky »

Michel wrote:
I am very confident that what is published is the preprocessed file, i.e. the output of gcc -E on the original source file (with comments).
Except of course that the source of RobboLito contains many #defines itself.... So it can certainly not be the literal output of the preprocessor.
I think that it is pretty obvious that neither ippolit.c nor RobboLito sources are real sources of this program. There is some other original source written maybe in C, maybe not, which was later somehow processed and both ippolit.c and Robbolito sources are different result of this conversion. So discussion about lack of comments here is just meaningless, it is not code written by human and intended for human. My opinion is that it has not been done only by C preprocessor because it would be too weak for this task. Perhaps really exists some source in b language how it is advertised on Ippolit wiki page.
zamar
Posts: 613
Joined: Sun Jan 18, 2009 7:03 am

Re: I'm in doubt if RobboLito is a clone

Post by zamar »

The problem is that changing your code to not break the GPL is easy if one is willing to spend the time. The ideas in Fruit are not copyrighted, just the implementation.
Ideas are not copyrightable (at least in most European countries). Ideas can be patented. Code is copyrightable.
So all that needs to be done is take code, change the implementation, but keep the same logic in your commercial code. This is not really violating GPL, though ethically there is a gray area. Zach is probably referring to this gray area in Rybka 1's implementation, which is a fair point.
True.
This obviously does not condone the illegal release of reverse engineered code to the public (aka Ippolit style).
Reverse engineering is not illegal. But distributing reverse-engineered code certainly is. Distributing code which takes ideas from reverse-engineered code is again legal.
The potential ethical (but not illegal) transgression is minor compared to the highly illegal reverse engineering of closed source code.
Again reverse engineering is not illegal. Distributing reverse engineered code is highly illegal. Distributing code loosely based on reverse-engineered code is gray area.

Having said all this, I still _believe_ that distributing Ippolit is illegal, because the author is hiding in the pit. However nobody has proven this. I wonder why Vasik cannot say which parts of Ippolit are exactly duplicated from Rybka3. Some expert could then reverse-engineer Rybka a bit and confirm this.
Joona Kiiski
shiv
Posts: 351
Joined: Sat Apr 01, 2006 2:03 am

Re: I'm in doubt if RobboLito is a clone

Post by shiv »

zamar wrote:
The potential ethical (but not illegal) transgression is minor compared to the highly illegal reverse engineering of closed source code.
Again reverse engineering is not illegal. Distributing reverse engineered code is highly illegal.
I meant to say in my previous post that reverse engineering and then open sourcing proprietary code is illegal, but got it wrong on the post. Thanks for the correction.
zamar wrote: Distributing code loosely based on reverse-engineered code is gray area..

Having said all this, I still _believe_ that distributing Ippolit is illegal, because the author is hiding in the pit. However nobody has proven this. I wonder why Vasik cannot say which parts of Ippolit are exactly duplicated from Rybka3. Some expert could then reverse-engineer Rybka a bit and confirm this.
You raise a interesting point that similar to how easy it is to legally copy from GPL code, it is possible to legally incorporate ideas by reverse engineering and disguising the "cloned" source code. This again would be bad ethically but is legally in gray land.

What makes Ippolit illegal then is the apparent open disclosure of rybka code (probably a large piece of it). The author could have easily modified the Rybka code in Ippolit to make it to gray area but did not want to do this as he probably values being infamous. This might also mean that a lot of code was taken from Rybka, though one never really knows.

I think Vasik does not want to study Ippolit's decompiled source with his actual implementation and state how much Rybka code there is as this

1. Takes a reasonable amount of time.
2. Might provide more details on Rybka's code.
3. Implies that Vasik has acknowledged Ippolit's status and is on speaking terms with the hackers.
peter
Posts: 3187
Joined: Sat Feb 16, 2008 7:38 am
Full name: Peter Martan

Re: I'm in doubt if RobboLito is a clone

Post by peter »

bob wrote: That is simply bogus reasoning. Someone releases the source, so that others can see what is being done, but they remove the comments to make it harder? That won't pass any sort of "reasonableness" test. I looked at the code when it first came out. It was pretty clear how it was derived initially, because it looks exactly like what a highly optimized program would look like once compiler has finished optimizing.
Could it be that the looking like of the code is the result of an effort, to let it look like gained by disassembling, even if this is not so?
Peter.
RaimundHeid

Re: I'm in doubt if RobboLito is a clone

Post by RaimundHeid »

peter wrote:
bob wrote: That is simply bogus reasoning. Someone releases the source, so that others can see what is being done, but they remove the comments to make it harder? That won't pass any sort of "reasonableness" test. I looked at the code when it first came out. It was pretty clear how it was derived initially, because it looks exactly like what a highly optimized program would look like once compiler has finished optimizing.
Could it be that the looking like of the code is the result of an effort, to let it look like gained by disassembling, even if this is not so?
What about applying some common sense in this case: Let's assume IPP/ROB was *not* the result of a re-engineered strong program but instead the original work of an excellent programmer or programming team. What would you do if you were in his/their situation:

a) Promote and sell an engine for 50$ to thousands of customers and earn some applause.
b) Publish the source for free.

Only if you honestly opt for b) the initial assumption can be true. If the initial assumption is false you will only have to ponder which strong program it was that has been re-engineered.
Steve B
Posts: 3697
Joined: Tue Jul 31, 2007 4:26 pm

Re: I'm in doubt if RobboLito is a clone

Post by Steve B »

RaimundHeid wrote:
a) Promote and sell an engine for 50$ to thousands of customers and earn some applause.
b) Publish the source for free.
not taking a position either way here but IIRC
wasnt Fruit the strongest engine of its day(2005) and wasnt it eventually published for free?

Steve
peter
Posts: 3187
Joined: Sat Feb 16, 2008 7:38 am
Full name: Peter Martan

Re: I'm in doubt if RobboLito is a clone

Post by peter »

RaimundHeid wrote: b) Publish the source for free.
Only if you honestly opt for b) the initial assumption can be true. If the initial assumption is false you will only have to ponder which strong program it was that has been re-engineered.
You didn't quite get my point. I meant what about having the source code of a well known program but wanting to let it look like as if you had come to it by disassembling, not to be asked where else you could have it from?
Peter.
Michel
Posts: 2272
Joined: Mon Sep 29, 2008 1:50 am

Re: I'm in doubt if RobboLito is a clone

Post by Michel »

wasnt Fruit the strongest engine of its day and wasnt it published for free?
But it wasn't published as an obfuscated source.

If you want to release something as open source why would you obfuscate the source?
Alexander Schmidt
Posts: 1206
Joined: Thu May 10, 2007 2:49 pm

Re: I'm in doubt if RobboLito is a clone

Post by Alexander Schmidt »

RaimundHeid wrote:a) Promote and sell an engine for 50$ to thousands of customers and earn some applause.
b) Publish the source for free.
You missed one important point: The author seems to hat capitalism :)

It would be no problem to sell this product, even with opened source noone finds an evidence it is a clone.
RaimundHeid

Re: I'm in doubt if RobboLito is a clone

Post by RaimundHeid »

Steve B wrote:
RaimundHeid wrote:
a) Promote and sell an engine for 50$ to thousands of customers and earn some applause.
b) Publish the source for free.
not taking a position either way here but IIRC
wasnt Fruit the strongest engine of its day(2005) and wasnt it eventually published for free?

Steve
Fruit wasn't way ahead of the pack back then and was soon caught by Shredder, Fritz and last but not least Zappa.

And afterwards Fabien Letouzey might have regret to publish the source. At least he went for closed source afterwards and tried to sell Fruit but it wasn't a big success in the dawning of the Rybka era, I assume.