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

bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

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

Post by bob »

M ANSARI wrote:
mjlef wrote:
mcostalba wrote:
Volker Pittlik wrote:
Dr.Wael Deeb wrote:...
One question though:
Can it be compiled for the Windows operation system :?:
It shouldn't be to difficult for someone who does such ports sometimes. I'm not the one who can do it cause I'm simply missing a compiler for Windows.

However, Marco's comments about the mistakes in the Italian are interesting. What makes me wonder is that there aren't any comments in the source code. The speed how fast one forgets what he has programmed himself without comments is amazing. OTOH there are these tablebases.

vp
As a programmer I can say that is _impossible_ to work an a source like the one posted.

What I think is that there is one properly edited and commented source that this guy uses to develop and then when he has to post to public takes this 'good' source, strips comments, unify in one single big file, shuffles the formatting and gives it to the C preprocessor the result of this obfuscation process is what we see published on the site.

I could easily to the same with Stockfish and I would bet anyone of you to reconize the original from the obfuscated one although the functionality remains 100% the same up to the last bit.

I think he is doing like this to give the reader a bit of fun trying to understand what's in it. :)
I find neither version hard at all to understand. I aso do not think they were decompiled since variable names make sense and are easy to understand. I donlt even need to look at an Italian dictionary since you can tell from what calls what the purpose of things. My guess is the authors merely looked at the assembly code from other programs and combined the best ideas of each in a new program. Is stealing ideas illegal or wrong? Well, I personally think stealing an idea without credit is wrong. But is it a copyright or patent violation? I assume Vas has not patented the ideas in Rybka, so probably not that. In any case, the computer chess market is so small that any profits a programmer makes writing this code would be totally gobbled up by lawyers if they even tried to sue.

If these programs are stronger than Rybka, I am sure with an hour of source code viewing, Vas could understand any beneficial changes. With all his work on Rybka 4, I have no doubts that he will be well ahead of these programs very soon (and probably already is).

Mark
I agree, it is amazing that someone would go to such extremes to try to decompile a program. It would seem that someone who would put that much effort might better use his abilities in doing his own stuff. But then again Rybka is the strongest engine on earth and chess happens to interest "nerdy" types who would be proficient in such things and might see it as an interesting challenge. I really have no doubt that Vas already something much stronger as he probably understands his code better than anyone. Also he has much more experience in what works and what doesn't work. What I worry about is that in the next release there will be such an invasive protection scheme that it would decrease the overall strength of the engine. I think that happened to some extent with Rybka 3 but doesn't seem to have worked ... but then again much more sophisticated programs get hacked every day and I am not sure that would be the way to go. Maybe he can change his business model to having a sort of way where someone who buys an original engine is entitled to many updates per year, this way you are always ahead of the curve. Not sure how many would subscribe to something like that though as the computer chess freaks are very few in number.
I think this is naive.

(1) show me one program of any complexity that has _zero_ comments. The only ones I can think of were _not_ produced by humans, but were produced by decompilers where the comments are not a part of any executable and so cannot be retrieved.

(2) variable names are easy enough to come up with after studying the code. The first version had some stupid names that no "human" would consider using if they had originally developed the program, because we don't like to use variable names that take forever to type, and then type them over and over as we write code.

This code (ippolit/robbolito) is not something produced by human hands. whether it is a combination of decompiles from several programs or just one program is not something I would even try to answer without a lot of time, and since I really don't care, I'm not willing to waste that time to try to decipher its roots.

But anyone that thinks humans write code like that is simply being naive. Or disingenuous. or both.
User avatar
Mike S.
Posts: 1480
Joined: Thu Mar 09, 2006 5:33 am

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

Post by Mike S. »

What if there actually are comments in the original code, but the programmer simply has chosen to remove them from the public version? I mean, concluding it cannot have been written by a human just because there are no comments?! No sorry, I don't buy that.

No comments in this particular version doesn't mean that there never were comments at all. The idea that someone removes comments from the source code of an engine with that performance, for publishing, makes sense to me in case he doesn't want to make it too easy for other programmers to read and understand it. Publishing source doesn't mean someone is not competitive at all.

I don't know if other elements will be found which can suit as evidence or not, but "no comments" is something just to be noticed, but without clear conclusion IMO.
Regards, Mike
User avatar
rhollay
Posts: 150
Joined: Wed Mar 08, 2006 8:26 pm

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

Post by rhollay »

What could be the idea behind publishing the SOURCE code, and at the same time making it hard for others to read and understand, by removing comments and using meaningless variable names...?
Making a program open source usually means that the author wants others to be able to learn from it, or to develop it further. Removing comments does not make any sense in that case, IMO.
They could better leave it closed source then.
Alexander Schmidt
Posts: 1203
Joined: Thu May 10, 2007 2:49 pm

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

Post by Alexander Schmidt »

michiguel wrote: Vas may have picked them, did not steal them.
There are different opinions.

For sure there where more similaries between Fruit 2.1 and Rybka 1 Beta than between Ippolit and Rybka 2/3.
User avatar
Eelco de Groot
Posts: 4565
Joined: Sun Mar 12, 2006 2:40 am
Full name:   

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

Post by Eelco de Groot »

rhollay wrote:What could be the idea behind publishing the SOURCE code, and at the same time making it hard for others to read and understand, by removing comments and using meaningless variable names...?
Making a program open source usually means that the author wants others to be able to learn from it, or to develop it further. Removing comments does not make any sense in that case, IMO.
They could better leave it closed source then.
Try to be a little more paranoid. In my totally non-professional opinion this could be for several reasons,

♣ They don't have everything, because of the decompiling proces, like Robert says.

♣ They have more than they show, RobboLito is proof of that, this is just a way of creating confusion, a test how far they can go, and to have some excuse by being so-called 'open source'. The more the programmers try to decipher it, who benefits and who does not? Is that very hard to figure out? It's a way of maximizing harm while at the same time minimizing the threat of legal counteraction.

Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

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

Post by michiguel »

Alexander Schmidt wrote:
michiguel wrote: Vas may have picked them, did not steal them.
There are different opinions.
We are talking about ideas, so it is not a matter of opinion. You cannot steal what it has been offered openly to you.

In regards to code, there has been (unfounded until proven) implications in this forum that has nothing to do with my comment. I found disgusting the concept that a programmer "stole" ideas from open sources. This is as ridiculous as stealing ideas from books. With the same criteria, every single one of the programmers here "stole" ideas from Knuth.

I also found disgusting the comparison between a serious programmer that revolutionized the field with someone who hide his/her/their name/s and reverse engineered code from other places, whether it is from Rybka or some other program. I may even understand to give the benefit of the doubt to the these alleged modern Robin Hoods, but taking this opportunity to mud VR's name once again is beyond ridiculous.

For sure there where more similaries between Fruit 2.1 and Rybka 1 Beta than between Ippolit and Rybka 2/3.
There were promises to show the similarities between F2.1 and R1 beyond the UCI parser and that never happened. Besides, it is irrelevant to judge the behavior of Mr. Robin Hood.

Miguel
User avatar
rhollay
Posts: 150
Joined: Wed Mar 08, 2006 8:26 pm

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

Post by rhollay »

Yes, Eelco. That was my point exactly.
I also think that they have little understanding about how the program works, and after decompiling it they made the sources available just to make harm for the original author.
The reason could be the same of that of writing viruses: childish pleasure of making harm.
User avatar
Eelco de Groot
Posts: 4565
Joined: Sun Mar 12, 2006 2:40 am
Full name:   

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

Post by Eelco de Groot »

So we are both paranoid maybe Robert! I really hope this thing will go the way of Strelka soon.

But I'm not so fanatic about needing the strongest chessprogram to play Najdorf games on Playchess 24 hours a day etc. I really want to make something stronger than Rybka but not like this :) I realize for those that just want to win at chess it is harder to ignore this, I really feel a bit sorry for all those guys on Playchess getting their butt kicked by Harvey :) :? So I hope we, the Stockfish programmers or Bob's Crafty or other programs can beat this thing, if Rybka IV can't :) Who knows... at least it is more interesting to think of it that way...

Regards,
Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
Alexander Schmidt
Posts: 1203
Joined: Thu May 10, 2007 2:49 pm

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

Post by Alexander Schmidt »

michiguel wrote:
Alexander Schmidt wrote:
michiguel wrote: Vas may have picked them, did not steal them.
There are different opinions.
We are talking about ideas, so it is not a matter of opinion. You cannot steal what it has been offered openly to you.

In regards to code, there has been (unfounded until proven) implications in this forum that has nothing to do with my comment. I found disgusting the concept that a programmer "stole" ideas from open sources. This is as ridiculous as stealing ideas from books. With the same criteria, every single one of the programmers here "stole" ideas from Knuth.

I also found disgusting the comparison between a serious programmer that revolutionized the field with someone who hide his/her/their name/s and reverse engineered code from other places, whether it is from Rybka or some other program. I may even understand to give the benefit of the doubt to the these alleged modern Robin Hoods, but taking this opportunity to mud VR's name once again is beyond ridiculous.

For sure there where more similaries between Fruit 2.1 and Rybka 1 Beta than between Ippolit and Rybka 2/3.
There were promises to show the similarities between F2.1 and R1 beyond the UCI parser and that never happened. Besides, it is irrelevant to judge the behavior of Mr. Robin Hood.

Miguel
Taking ideas from open source is of course OK. Thats the basis of the open source idea :)

With stealing I mean taking the code and use it for your own program, no matter if it is the UCI parser only, or the whole program. In both cases someone uses the work of others for a own project without permission.

In case of decompiling and taking ideas, I would also say this is stealing, because there is no permission for decompiling in the terms of use. Also stealing of stolen material is still stealing :)
User avatar
slobo
Posts: 2331
Joined: Mon Apr 09, 2007 5:36 pm

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

Post by slobo »

Alexander Schmidt wrote:
michiguel wrote:
Alexander Schmidt wrote:
michiguel wrote: Vas may have picked them, did not steal them.
There are different opinions.
We are talking about ideas, so it is not a matter of opinion. You cannot steal what it has been offered openly to you.

In regards to code, there has been (unfounded until proven) implications in this forum that has nothing to do with my comment. I found disgusting the concept that a programmer "stole" ideas from open sources. This is as ridiculous as stealing ideas from books. With the same criteria, every single one of the programmers here "stole" ideas from Knuth.

I also found disgusting the comparison between a serious programmer that revolutionized the field with someone who hide his/her/their name/s and reverse engineered code from other places, whether it is from Rybka or some other program. I may even understand to give the benefit of the doubt to the these alleged modern Robin Hoods, but taking this opportunity to mud VR's name once again is beyond ridiculous.

For sure there where more similaries between Fruit 2.1 and Rybka 1 Beta than between Ippolit and Rybka 2/3.
There were promises to show the similarities between F2.1 and R1 beyond the UCI parser and that never happened. Besides, it is irrelevant to judge the behavior of Mr. Robin Hood.

Miguel
Taking ideas from open source is of course OK. Thats the basis of the open source idea :)

With stealing I mean taking the code and use it for your own program, no matter if it is the UCI parser only, or the whole program. In both cases someone uses the work of others for a own project without permission.

In case of decompiling and taking ideas, I would also say this is stealing, because there is no permission for decompiling in the terms of use. Also stealing of stolen material is still stealing :)
The original open source idea was to help other open source ideas to be born and benefit a computer chess community as a whole, not to benefit a reduced number of individuals.

But, suddenly, we had a "smart guy" who decided to "pick up" some ideas and get commercial.

Well, it is also one of possibilities, but it was not the original idea of open source authors, and who decides to change the "spirit of the open source idea" should make an agreement with open source authors whose ideas have been used, and pay them copyrights. These copyrights don´t exist in the original open source idea, but they do exist for those who does not accept the original open source idea, those who decides to "pick up" freely what they want and get commercial.

Some Argentinians have problems to get it.
"Well, I´m just a soul whose intentions are good,
Oh Lord, please don´t let me be misunderstood."