Fabien's open letter to the community

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

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
bob
Posts: 20356
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: Fabien's open letter to the community

Post by bob » Mon Jan 24, 2011 4:20 pm

hgm wrote:
bob wrote:Apparently you can't read. His comments are pretty succinct IMHO. See the sentence about identical procedure names, etc...
The problem is that this is not very conclusive. If Strelka is a reverse engineered Rybka, (as has been claimed, of course I have no first-hand info on this), the procedure names in it are likely to be made up by the one who did the reverse engineering. (It would be monumentallly stupid to release the binary of a closed-source program without first stripping off the symbol table and relocation bits, and it is hard for me to believe Vas would have done such a thing. Especially if he would have thought he had something to hide...)

What is very likely is that the Fruit has been a big help in reverse engineering Rybka, if the two are so much alike. And that the one doing the reverse engineering made life easier for himself by assigning all the familiar Fruit names to the routines he dug up. That s at least how I would do it...
\

I just used the words at the beginning. More important is "It was however a whole re-write (copy with different words if you like, similar to a translation) of the algorithms. Not just an extraction of a couple of ideas as is common, and normal. "

That says a lot about the issue. In a short summary, strelka encapsulates the ideas and data structures in Fruit, although there is not a character by character match since strelka came from reverse-engineering of Rybka 1. He makes it pretty clear that the "source" for strelka was obviously fruit. Which is what several of us have been saying for a long time. Function names and variable names are, of course, meaningless, assuming the original Rybka beta was stripped of all symbols for reasons unknown. But as I mentioned when the debate started, there are global similarities that are way too significant to write off as random chance of two different programmers writing the same code...

I hope to see this debate die away one day, there are more interesting things to discuss. But of course, morally/ethically challenged people will always exist and this problem will continue to surface. It has only been going on for about 30 years now... (clones/copies in general).

rbarreira
Posts: 900
Joined: Tue Apr 27, 2010 1:48 pm

Re: Fabien's open letter to the community

Post by rbarreira » Mon Jan 24, 2011 4:21 pm

hgm wrote:
bob wrote:Apparently you can't read. His comments are pretty succinct IMHO. See the sentence about identical procedure names, etc...
The problem is that this is not very conclusive. If Strelka is a reverse engineered Rybka, (as has been claimed, of course I have no first-hand info on this), the procedure names in it are likely to be made up by the one who did the reverse engineering. (It would be monumentallly stupid to release the binary of a closed-source program without first stripping off the symbol table and relocation bits, and it is hard for me to believe Vas would have done such a thing. Especially if he would have thought he had something to hide...)

What is very likely is that the Fruit has been a big help in reverse engineering Rybka, if the two are so much alike. And that the one doing the reverse engineering made life easier for himself by assigning all the familiar Fruit names to the routines he dug up. That s at least how I would do it...
Well he did reportedly "lose" the source code of several Rybka versions (i.e. either that's a lie or he's not smart enough to use a version control system and backups properly), so doing something stupid like not stripping the symbols wouldn't be that surprising.

bob
Posts: 20356
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: Fabien's open letter to the community

Post by bob » Mon Jan 24, 2011 4:23 pm

Ovyron wrote:It's going to be a difficult case, Vas never saved his sources codes, he doesn't have the Rybka 3 one, so I'm sure he doesn't have the code of Rybka 1.1 or 2.0, all the investigations would need to be done as reverse engineered code.

It was unfortunate that Vas claimed Strelka's code as his own, since later it was found out that it had significant parts of Fruit.

As about the ply and node count obfuscations, they have been explained at Rybka forum, 3 plies are added to normalize the count relative to other engines, as earlier plies are "thinner" and don't fulfill their definition of ply, nodes are recalculated so they can be used to compare different hardware, i.e. higher nodes must mean higher strength at all times, unlike other engines that with hyperthreading show higher node count but play weaker.
Please don't continue to quote "crap". With all the authors of chess programs around, only Vas has seen it necessary to "normalize" his node counts? If you believe that, I suspect you own some ocean front property in Colorado or something as well???

It is simply impossible to "adjust" nodes to account for smp issues. The variance of that data is extreme, so any adjustment is just pure noise. And nonsense. This from someone that has only been doing parallel search since 1978. :)

bob
Posts: 20356
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: Fabien's open letter to the community

Post by bob » Mon Jan 24, 2011 4:25 pm

AdminX wrote:
Ovyron wrote:It's going to be a difficult case, Vas never saved his sources codes, he doesn't have the Rybka 3 one, so I'm sure he doesn't have the code of Rybka 1.1 or 2.0, all the investigations would need to be done as reverse engineered code.

It was unfortunate that Vas claimed Strelka's code as his own, since later it was found out that it had significant parts of Fruit.

As about the ply and node count obfuscations, they have been explained at Rybka forum, 3 plies are added to normalize the count relative to other engines, as earlier plies are "thinner" and don't fulfill their definition of ply, nodes are recalculated so they can be used to compare different hardware, i.e. higher nodes must mean higher strength at all times, unlike other engines that with hyperthreading show higher node count but play weaker.
Question: If Vas LOST Rybka 3 Sources, Then how the Hell did he write Rybka 4 so fast. That is a hell of allot of code for a very strong program.
I can believe in lost source. If you look at my ftp box history, there are many gaps in old versions. I lost every last thing around 1995 when my office box had a disk failure and we then discovered that every backup we had was unreadable. So it can happen. But that was just for old versions. Current source always exists in several places, including my laptop, my office box, and our departmental NFS store...

Robert Flesher
Posts: 1207
Joined: Tue Aug 18, 2009 1:06 am

Re: Fabien's open letter to the community

Post by Robert Flesher » Mon Jan 24, 2011 4:26 pm

Eelco de Groot wrote:
Peter Skinner wrote:
Dr.Wael Deeb wrote:First thing came to my thoughts after reading the article is a huge lie Vasik was spreading through all these years....that he,Vasik,contacted Fabien regarding the fruit-Rybka affair and Fabien is fine with it and even doesn't care which as I wrote turned out to be a huge lie....
Dr.D
Do you have a reference for this? I have been trying to find one, and I can't.

I would just like to read it first hand...

Peter
Vas certainly has not said much on the subject, but this interpretation must be entirely for Wael's account. Vas has admitted "going through the Fruit code forward and backwards and taking many things" -in an interview, Fabien probably does not know about-, but nothing about contacting Fabien. Well maybe it was that Fabien was a bit hard to reach maybe. Vas claimed -in said interview also- that without Fruit Rybka would have been about twenty elo weaker but never said at which point that was so I think that is a bit meaningless, even if he meant at the time of the interview. Without a good basis you can't improve a chessprogram and with it you can as long as you keep trying to improve it. Well I think it is clear Rybka had a good basis. This was not really denied though.

Regards, Eelco

This above enlarged statement is not entirely correct. In the first video interview (prior to the written one) VAS denies that Fruit played any part in Rybka's development, and only after the BB and Zak reports were released did he change his tune. The man is a liar, why can't people see this?
Last edited by Robert Flesher on Mon Jan 24, 2011 4:28 pm, edited 2 times in total.

User avatar
hgm
Posts: 22572
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: Fabien's open letter to the community

Post by hgm » Mon Jan 24, 2011 4:26 pm

Eelco de Groot wrote:Fair enough Harm. But that also means there is very little means for Vas himself to protect his copyright against rewriting, even if he had never taken a look at Crafty's sources or Fruit sources.
Indeed, copyrights (and thus GPL, which is merely tying up a few details copyright law leave open) provide a very meagre protection. Basically only against hex-edit jobs, simple disassembly / decompilation or copy-paste of sources. Not against rewrite. Patents offer more protection, but also more restrictions on what can be patented. (You could never patent a whole Chess engine, as it contains for 99% stuff that is common knowledge, and the 1% that makes it unique might be dispersed through the code and not easily identifiable. But a specific pruning trick like null-move would IMO indeed have been patentable.) But that s of course too costly to make it worth it, especially since you would have to do it in every country separately. So your only legal protection is basically just making it technically difficult: encrypting or obfuscating the code.
That is what Vas has stated himself, and why he just seems to shrug it all off as not pertinent to his business. Neither has Fabien much ground for any claim of infringement of his own copyright, even if he had never tried to protect it by means of the GPL. As I understood it Fabien actually relinquished all his rights to Fruit anyway and these now rest with the FSF. So legally, Fabien's open letter changes nothing in my opinion as he has relinquished at least the GPL, even though the original copyright might still be his, I would not know how this is legally read.
I think that the FSF is much more likely to take legal recourse as Fabien would be. It is why they exist, while for Fabien it would be an extremely costly hobby with virtually nothing to gain. But of course I agree that Fabien's opinion on this has no added value and his letter changes nothing: Both Strelka and Fruit are open source, and we do not need Fabien spot the similarities or differences. It would have been important at the time when Strelka was still closed source, as it was when it was shown to Fabien.
So this discussion is in the end not about copyright, but about honour, fair use of ideas, and recognition. Which are important enough of course, but inherently less objective to judge as they are guided by unwritten law.

Eelco
Sure, but those are very subjective matters. There are enough people that would see absolutely nothing wrong / dishonest / shameful with rewriting an open-source code, and use it as a starting point for an improved engine. In fact I am pretty sure that more than 75% of all engines we know are exactly that.

User avatar
Dr.Wael Deeb
Posts: 9635
Joined: Wed Mar 08, 2006 7:44 pm
Location: Amman,Jordan

Re: Fabien's open letter to the community

Post by Dr.Wael Deeb » Mon Jan 24, 2011 4:29 pm

Graham Banks wrote:
M ANSARI wrote:Somehow I feel I understand the post differently than others. It seems like Fabien is "asking" about several allegations and wants to be up to date on what the allegations are ... nothing I read says anything about confirming anything..........
This is also how I see it at this stage.
Fabien is asking for further information and will then need time to study what is required before he can make some definitive statements on the issue.
I think it's great that Fabien has chosen to get involved and I sincerely hope that Vas will have his say too (if required).
Vasik will remain silent like a butt as he always do....
The good thing is that the whole chess community will finally recognize him as a fat liar....
Dr.D
_No one can hit as hard as life.But it ain’t about how hard you can hit.It’s about how hard you can get hit and keep moving forward.How much you can take and keep moving forward….

Frank Quisinsky
Posts: 4819
Joined: Wed Nov 18, 2009 6:16 pm
Location: Trier, Germany
Contact:

Re: Fabien's open letter to the community

Post by Frank Quisinsky » Mon Jan 24, 2011 4:33 pm

Hi Bob,

1978 :-)
So many years back ...

If you remember on this time do you have from time to time the feeling ... This was yesterday?

Often I am thinking such things.

The year I started with my first chess computer. A year before I learned at first how to set mate with KQ-K.

A great chess year, also the GMs tourneys of this year.
GM Robert Hübner best time ... do you remember!

Best
Frank
Last edited by Frank Quisinsky on Mon Jan 24, 2011 4:34 pm, edited 1 time in total.
I like computer chess!

User avatar
Dr.Wael Deeb
Posts: 9635
Joined: Wed Mar 08, 2006 7:44 pm
Location: Amman,Jordan

Re: Fabien's open letter to the community

Post by Dr.Wael Deeb » Mon Jan 24, 2011 4:33 pm

AdminX wrote:
Ovyron wrote:It's going to be a difficult case, Vas never saved his sources codes, he doesn't have the Rybka 3 one, so I'm sure he doesn't have the code of Rybka 1.1 or 2.0, all the investigations would need to be done as reverse engineered code.

It was unfortunate that Vas claimed Strelka's code as his own, since later it was found out that it had significant parts of Fruit.

As about the ply and node count obfuscations, they have been explained at Rybka forum, 3 plies are added to normalize the count relative to other engines, as earlier plies are "thinner" and don't fulfill their definition of ply, nodes are recalculated so they can be used to compare different hardware, i.e. higher nodes must mean higher strength at all times, unlike other engines that with hyperthreading show higher node count but play weaker.
Question: If Vas LOST Rybka 3 Sources, Then how the Hell did he write Rybka 4 so fast. That is a hell of allot of code for a very strong program.
If you are a talented liar,it's easier than you think Ted :wink:
Uncle Vasik is finally busted regards,
Dr.D
_No one can hit as hard as life.But it ain’t about how hard you can hit.It’s about how hard you can get hit and keep moving forward.How much you can take and keep moving forward….

mwyoung
Posts: 996
Joined: Wed May 12, 2010 8:00 pm

Re: Fabien's open letter to the community

Post by mwyoung » Mon Jan 24, 2011 4:35 pm

De Vos W wrote:
Graham Banks wrote:
M ANSARI wrote:Somehow I feel I understand the post differently than others. It seems like Fabien is "asking" about several allegations and wants to be up to date on what the allegations are ... nothing I read says anything about confirming anything..........
This is also how I see it at this stage.
Fabien is asking for further information and will then need time to study what is required before he can make some definitive statements on the issue.
I think it's great that Fabien has chosen to get involved and I sincerely hope that Vas will have his say too (if required).
If Strelka is Fruit says Fabien Letouzey and Strelka is Rybka says Vasik Rajlich, isn't this saying that Rybka is Fruit ?

http://rybkaforum.net/cgi-bin/rybkaforu ... l?tid=3006


1 2 3 4 5 6
By Vasik Rajlich Date 2008-01-11 12:26

I've taken a look this morning at the Strelka 2.0 sources.
The picture is quite clear.
Vast sections of these sources started their life as a decompiled Rybka 1.0. The traces of this are everywhere. The board

representation is identical, and all sorts of absolutely unique Rybka code methods, bitboard tricks and even exact data tables are used

throughout. Significant portions of the search and evaluation logic are not fully disassembled - the author has left in hardcoded

constants and used generic names (such as "PawnStruScore0" & "PawnStruScore1", "PassedPawnValue0" through

"PassedPawnValue7", etc) which show that he hasn't yet fully understood what is happening.

In some cases, these traces do also extend beyond the inner search and evaluation kernel. For instance, Rybka and Strelka are the

only engines which I know about which don't report "seldepth" and "hashfull". Rybka's UCI strings are used throughout.

The author did at first make attempts to hide the Rybka origins, for example by masking the table values in earlier Strelka versions. He

also made significant attempts to improve the program. The attempts at improvement are not very original, but they are everywhere.

They include PV collection, null verification (and in fact changes to the null implementation itself), some endgame drawishness

heuristics, a handful of new evaluation term, a new approach to blending between opening and endgame eval terms, and so on. They

also do include various structural changes, such as knight underpromotions, on-the-fly calculations of many tables, the setting of

piece-square table values, etc. These changes are extensive and no doubt lead to differences in playing style and perhaps a useful

engine for users to have, but they do not change the illegality of the code base.

In light of the above, I am claiming Strelka 2.0 as my own and will release it in the next few days under my own name. The name of the

author with the pen name "Osipov" will be included if he comes forward with hiw own real name, otherwise an anonymous contribution

will be noted. The contributions of Igor Korshunov will also be confirmed and noted if appropriate. All usage permissions will be granted

with this release.

I do not see obvious signs of other code usage, but perhaps this deserves a closer look. Some of the transplanted ideas, such as the

null verification search, are rather naive implementations of the approach in Fruit/Toga, although my first impression is that that code

itself is original. The Winboard parser from Beowolf which was added to Strelka 1.0 seems to have been completely removed. If

someone else does find other signs of code theft, please get in touch with me and I will give proper credit in the upcoming release.

If someone has suggestions about an appropriate license, and in particular the pros and cons of the GPL for a chess engine and for this

unusual scenario, or if someone would be willing to help in preparing this code and license for release, please also get in touch with

me.

As this code is two years and several hundred Elo old, I am not going to launch any major action. However, 'Osipov' has already

threatened to repeat the procedure with Rybka 2.3.2a. (He did this after I declined to grant him rights to commercialize Strelka.) If this

situation does repeat with a newer Rybka version, I will not just stand and watch any more. In the meantime, if someone has information

about 'Osipov', please get in touch with me.

What this shows is Mr. Banks used his power as moderator to suppress other programs, not out of some moral outrage, because someone took programming code. It would seem now all his antics, censorship, and moral outrages was nothing more then cover to hack for Rybka.

The open letter is clear, Vas took Fruit code, where is the moral outrage from Mr. Banks now. Where is the slash and burn tactics now for Rybka from Mr. Banks. Why does Mr. Banks not ban Rybka? Why does Mr. Banks CCRL Rating List still have Rybka on the rating list?

Post Reply