What's the latest on the Rybka-Fruit situation

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: What's the latest on the Rybka-Fruit situation

Post by bob »

Sven Schüle wrote:
michiguel wrote:
Onno Garms wrote:
bob wrote: You need to re-read things then, as you seriously overlooked things. First, there are several _identical_ blocks of code in Rybka 1.6.1 and Crafty 19.0. The C code in Crafty is presented (along with a couple of built-in bugs) and the assembly language from Rybka 1.6.1 is given with a reverse-compile back to see. There are _perfect_ matches. In one case, for a block of code that is 100 lines of C (EvaluateWinner()). Other examples include NextMove(), NextEvasion() and such. Those are _not_ "algorithms."
Are you sure that we are talking about the same paper?
I was talking of
http://www.open-chess.org/download/file.php?id=304

This is basically the only ressource I know. Crafty is not mentioned in it at all. Maybe the thing I have overlooked is the link to some other ressource?
I also had a quick look at
https://webspace.utexas.edu/zzw57/rtc/eval/eval.html
but that does not seem to be fundamentally different from the PDF above.
You are missing the leaks from the panel.

Miguel
@Onno: there is a newer version of the Mark Watkins paper here. It now mentions also Crafty. The evidence shown there looks quite heavy, nevertheless it should neither be relevant for the current ICGA investigation nor for Fabien and the Fruit-Rybka case since it is all about the early pre-beta "Rybka 1.6x". That case is definitely very relevant for Bob, though, no doubt here.

Sven
It is more relevant than that. Rybka 1.6.1 played in a CCT event. When I looked at Rybka 1 beta, I found chunks of Crafty code in there. The "bench" command, several hundred lines of code, were copied exactly, including test positions, output formats, etc. Also a significant amount of bitboard "stuff" was "borrowed"...
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: What's the latest on the Rybka-Fruit situation

Post by bob »

Milos wrote:
Sven Schüle wrote:The evidence shown there looks quite heavy, nevertheless it should neither be relevant for the current ICGA investigation nor for Fabien and the Fruit-Rybka case since it is all about the early pre-beta "Rybka 1.6x". That case is definitely very relevant for Bob, though, no doubt here.
In this case I agree with you. Moreover, if Rybka 1.6x is a private engine (it has not been distributed in any way) the case is also not legally relevant for Bob, as a matter of fact it's not (legally) relevant at all. In addition to this, since Bob does not provide explicitly any license with his source code he cannot claim any violation of (legal) rights.
Incorrect. This program played in CCT6, in direct violation of the license agreement that has been in Crafty's source code since it was released... And, of course, it also violates tournament rules as well, since they require originality. And parts of Crafty are in Rybka 1 beta, which means they are in rybka 1, which participated in ICGA events. Again in violation of Crafty's and ICGA's license/rules. And then there is Fruit...

It is all "relevant".
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: What's the latest on the Rybka-Fruit situation

Post by bob »

Milos wrote:
UncombedCoconut wrote:
Milos wrote:In addition to this, since Bob does not provide explicitly any license with his source code he cannot claim any violation of (legal) rights.
Strange. I thought you were literate.
Having license quoted just in main.c is not sufficient to cover the whole package. License have to be present either separately with clear explanation of terms or in every source file. A term "program" in license in main.c is at least dubious. That's why ppl like Bob suck at legal things, coz they think if they "invent" some license in their "Alice's wonderland" it will also be good in a real world.
Maybe you should consult an IP lawyer before you start judging other ppl's literacy.
Sorry, but that is false. That is a requirement of the GPL. But not licenses in general. main.c is the primary start of Crafty. The license is clear and explicit. And copyright doesn't need any "statement" anyway.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: What's the latest on the Rybka-Fruit situation

Post by bob »

michiguel wrote:
Onno Garms wrote:
Milos wrote: Moreover, if Rybka 1.6x is a private engine (it has not been distributed in any way)
It obviously has been distributed to at least one person, otherwise the panel would not have it.
It was given to a tester and the author specifically did not authorize the release and/or the distribution. The tester gave the copy to the panel thinking he was cheated, despite the author said "no".

Whatever it was, this is not a copy that was distributed. In other areas, with an agreement like this, the tester is an extension of the author.

The main and the most serious problem is that one R1.6 version participated in a CCT tournament. However, this was not part of ICGA, which makes things a bit complicated for this organization to enforce.

Miguel
In addition to this, since Bob does not provide explicitly any license with his source code he cannot claim any violation of (legal) rights.
As others said: First, Bob does provide a license in main.c. Second, even without a license statement, code is copyrighted and must not be copied into your released program without a permission.

I'm not sure if it is possible to publish source code and to prohibit private changes as Bob did in his license and if a license placed in just one source file is effective, but we don't have to answer these questions to find that the distribution of a Crafty based engine (which Rybka 1.6.x was) is a copyright violation.
Distributed means "given to someone other than the person that created the thing." You can have exactly one "sale" and yet still you are bound by commercial trade laws. You don't have to pass some threshold. If you give away one copy, that is "distribution." However, in this case, this is a moot point. There was not just _one_ copy distributed. Several received copies and reported on their test results...
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: What's the latest on the Rybka-Fruit situation

Post by bob »

Onno Garms wrote:
Sven Schüle wrote: @Onno: there is a newer version of the Mark Watkins paper here.
Thanks. That seems to be what I have overlooked.
It now mentions also Crafty. The evidence shown there looks quite heavy, nevertheless it should neither be relevant for the current ICGA investigation nor for Fabien and the Fruit-Rybka case since it is all about the early pre-beta "Rybka 1.6x". That case is definitely very relevant for Bob, though, no doubt here.
Fully acknowledged. Heavy evidence for a copyright violation against Bob by copying code. Shows that Vas did break copyrights. But findings in Rybka 1.6.x do not prove that there are copyright violations in Rybka 1.0 beta as we currently assume that the latter has nothing in common with the old weak engine but the name.
Bad assumption. My first examination found "bench.c" was in Rybka 1 beta, unchanged. Same positions. Same output formats. Same stuff done. There are other pieces present as well, but one is enough... Rybka 1 is "double-guilty" as it has both fruit and Crafty in it...
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: What's the latest on the Rybka-Fruit situation

Post by bob »

SzG wrote:
ozziejoe wrote:it does establish a pattern of behavior. It shows that vas was willing to copy code at one time.
I wonder how you derive a pattern from only one sample.
Two samples? Fruit _and_ Crafty were copied...
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: What's the latest on the Rybka-Fruit situation

Post by bob »

ozziejoe wrote:you are right. it is only one sample which is not reliable. It is possible that he copied code in this one instance and did not do it in any future instances. Maybe he had some sort of ethical revelation and realized "I better write the next rybka from scratch instead of copying other people's code." This is a possibility. Moral transformation is always possible.


I'll be interested to see if the ICGA conclude that he has copied from fruit. Even if they conclude he has, this is still only an N of 2 and does not establish that he copies code in every instance.




best
Joseph
You can find lots of discussion showing that at least thru rybka 3, fruit code is still present. All versions from Rybka 3 back were violating ICGA/CCT/etc rules when they participated in tournaments. We are waiting for any sort of response from Vas to see what is up with more recent code...
Tom Barrister
Posts: 227
Joined: Tue Oct 05, 2010 5:29 pm

Re: What's the latest on the Rybka-Fruit situation

Post by Tom Barrister »

Mr. Rajlich can't use Crafty or Fruit code in Rybka without permission from the respective copyright owners. Why is that hard to understand?

No license agreement? Standard copyright law applies; refer to the highlighted sentence.

If a license exists, then the terms of that license override copyright law where applicable, provided said terms don't violate any other law (i.e. those covering fair use). It the license said that using Crafty code without permission was against the terms of the license; refer to the highlighted sentence.
This production is being brought to you by Rybka: "The engine made from scratch.™"
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: What's the latest on the Rybka-Fruit situation

Post by bob »

Onno Garms wrote:
ozziejoe wrote:it does establish a pattern of behavior. It shows that vas was willing to copy code at one time.
Sure, but we are having something like a court on Rybka 1.0 Beta. We act as judges. Findings like the copyright violation against Crafty would have been useful in the phase where we acted as detectives, but that phase has long been over now.

If you are accused to have stolen A, you cannot be adjudged because it was proven that you stole B some time before.
Actually you can. Judges often admit "prior bad acts" into evidence when the prosecution is attempting to show a "pattern of behavior.:" It is not uncommon at all. It is not proof by itself, but it absolutely destroys the credibility of the accused when he says "all versions of Rybka were completely original except for tiny snippets to count bits or whatever..." And you show that even his _first_ engine has significant, verbatim, copying. And that his second does too. And the third. And the fourth. By the time he claims Rybka 4 is "completely original" one has several prior examples of that same statement, and each time they were false. That can be used to evaluate their current statements for truthfulness or the lack thereof...
ozziejoe
Posts: 811
Joined: Wed Mar 08, 2006 10:07 pm

Re: What's the latest on the Rybka-Fruit situation

Post by ozziejoe »

Well put Bob! My apologies for disagreeing with your early assessments of Rybka years ago ( i wanted to believe rybka was legit because it was so good). I am sure, as a university lecturer, you have seen lots of code from your students and you know how to recognize plagiarism.