Rule #2 and its use during history

Code, algorithms, languages, construction...
User avatar
Rebel
Posts: 515
Joined: Wed Jun 09, 2010 7:45 pm
Real Name: Ed Schroder

Rule #2 and its use during history

Post by Rebel » Sun Apr 29, 2012 1:57 pm

http://chessprogramming.wikispaces.com/ ... l+Examples

1989 - Quickstep - Richard Lang clone (copyright breach)

1996 - Gunda - Crafty clone (copyright breach)

2002 - El Chinito - Crafty clone (copyright breach) Author admitted the wrong doing.

2003 - List - I leave this case out. Reul was banned but later reinstated.

2006 - Lion++ - Fruit clone (copyright breach) Authors admitted because felt they did nothing wrong.

2010 - SquarknII - Robolito version with only 3 instructions changed.

===

All good decisions. All have in common that (source) code was taken as a whole and a derivative was the result. In none of the cases rule #2 and its interpretation became under pressure. Copying was proven, end of story. A second ingredient what they have in common is that all of them were easy to debunk as a clone.

2011 - Rybka

Bob - rule #2 has been about copying since day one.

16 programmers (and not the first ones) accuse the Rybka programmer of copying Fruit. A number of copy-traces are given (time-control including "0.0", setjmp, root search time control similarities, PST-code to generate PST's, move[-1]=0) but for the rest the accusations surround only one theme: similarities in EVAL and on the latter the interpretation of rule #2 comes into play for the first time of the ICGA history.

So 2 different topics: 1) real traces of copying and 2) the volume of similarities that together with (1) should make a convincing case for a copyright breach.

CHAPTER ONE: About the alleged Fruit copying

1. Time control (not copied)
2. 0.0 (alternative explanations, YMMV) (elo gain 0)
3. setjmp (borrowed from Fruit by the admission of Vas to unwind the recursive search) (elo gain 0)
4. root search time control similarities (not unlikely borrowed from Fruit) (elo gain 1-2)
5. Fruit's PST-code to generate PST's (likely imported into C# for own use) (elo gain 0-5 where 5 is a lot)
6. move[-1]=0 (just splits the UCI string into 2 strings by separating the POSITION part from the MOVES part) Simple programmers convenience.
7. Calling search from UCI (almost identical code) (elo gain 0) It's place is not unusual, saw it in a version of Glaurung too.

Your mileage may vary but I don't think that's much to proof verbatim copying all of Fruit and then make changes ending up as a derivative. The elo gain is about 5-7 where 7 is a lot. Besides Vas said he took many things from Fruit, (3) admittedly falls into that category, (4) (5) (7) likely do so. It only proofs what he stated 3 weeks after the Rybka 1.0 release, traces he took from Fruit. No real big surprise. It would be strange if there weren't any. The above is in screaming contrast with the history of ICGA cloning, these were crystal clear cases of verbatim copying, this is just a poor list. Take the pre-Rybka's as another example, those had Crafty code all over, a 100% derivative.

In retrospect (and that's always easy) the Rybka investigators should have stopped the investigation right here, consider and weight the "verbatim copy evidence" as insufficient and that verbatim copying can't be proven. I don't blame them for their continuation as they at the time did not had enough opposition such as the above counter analysis and also it's a golden rule exploring a total new area with very few historic references (jurisprudence, knowledge, insight) doing things for the first time usually is a receipt for the introduction of (many) errors. It's the natural way how humanity makes progress doing things better the second, third time.

CHAPTER TWO: Rule 2

In a separate post. Apparently I am being long winded mood today.

User avatar
Rebel
Posts: 515
Joined: Wed Jun 09, 2010 7:45 pm
Real Name: Ed Schroder

Re: Rule #2 and its use during history

Post by Rebel » Sun Apr 29, 2012 2:01 pm

Continuation...

CHAPTER TWO: Rule 2

As there is no hard proof of verbatim copying Fruit's EVAL the Rybka investigators searched for "evaluation similarities" to strengthen their case Rybka being derived from Fruit. And here rule #2 comes into play, the subject of originality. Or as Mark Lefler has put it: Vasik took too much in the eyes of the panel.

The complete quote:

Ed, I think that is the best summary of this whole thing. Vasik took too much in the eyes of the panel. More than enough to call the versions of Rybka we examined to be called "derivatives", and he did not report this as required by the rules.

It's obvious MarkL is talking about "taking ideas" here, not code as otherwise rule #2 would allow verbatim copying to some extend after all which is out of the question. And so the Panel according to MarkL has ruled Vasik took "too much" ideas from Fruit. This is a totally new situation in the history of the ICGA, since day one (quoting Bob) rule #2 has been about copying and I agree with him, it is exactly my recollection from the past and the sole reason why I signed Fabien letter because I believed Vasik copied Fruit, made changes and called the result his own.

So apparently the true meaning of rule #2 is that there is an (undefined) limit on the number of ideas you are allowed to take from open-sources. It's not about copying any longer (it always was) but the volume you take of common (non-copyrightable) chess knowledge idea's found in every decent chess program is suddenly a major issue.

So what has the ICGA-Rybka case learned us?

1. Open sources are hijacked by the ICGA to serve as a model you can't take an undefined number of ideas from, else.....

2. "Too much" is defined by the ICGA programmers, the Panel.

3. There was (and still is) no definition of "too much". I am still waiting.

4. So for the moment be careful when you study open-sources, implement what you have learned differently, or better don't study them at all. And if you do after all then don't say in public you have taken many things from program xxx.

hyatt
Posts: 1242
Joined: Thu Jun 10, 2010 2:13 am
Real Name: Bob Hyatt (Robert M. Hyatt)
Location: University of Alabama at Birmingham
Contact:

Re: Rule #2 and its use during history

Post by hyatt » Tue May 08, 2012 5:05 pm

"too much". Any amount that exceeds "just enough".

mjlef
Posts: 43
Joined: Thu Jun 10, 2010 6:51 pm
Real Name: Mark Lefler

Re: Rule #2 and its use during history

Post by mjlef » Thu May 10, 2012 4:04 am

Rebel wrote:Continuation...

CHAPTER TWO: Rule 2

As there is no hard proof of verbatim copying Fruit's EVAL the Rybka investigators searched for "evaluation similarities" to strengthen their case Rybka being derived from Fruit. And here rule #2 comes into play, the subject of originality. Or as Mark Lefler has put it: Vasik took too much in the eyes of the panel.

The complete quote:

Ed, I think that is the best summary of this whole thing. Vasik took too much in the eyes of the panel. More than enough to call the versions of Rybka we examined to be called "derivatives", and he did not report this as required by the rules.

It's obvious MarkL is talking about "taking ideas" here, not code as otherwise rule #2 would allow verbatim copying to some extend after all which is out of the question. And so the Panel according to MarkL has ruled Vasik took "too much" ideas from Fruit. This is a totally new situation in the history of the ICGA, since day one (quoting Bob) rule #2 has been about copying and I agree with him, it is exactly my recollection from the past and the sole reason why I signed Fabien letter because I believed Vasik copied Fruit, made changes and called the result his own.

So apparently the true meaning of rule #2 is that there is an (undefined) limit on the number of ideas you are allowed to take from open-sources. It's not about copying any longer (it always was) but the volume you take of common (non-copyrightable) chess knowledge idea's found in every decent chess program is suddenly a major issue.

So what has the ICGA-Rybka case learned us?

1. Open sources are hijacked by the ICGA to serve as a model you can't take an undefined number of ideas from, else.....

2. "Too much" is defined by the ICGA programmers, the Panel.

3. There was (and still is) no definition of "too much". I am still waiting.

4. So for the moment be careful when you study open-sources, implement what you have learned differently, or better don't study them at all. And if you do after all then don't say in public you have taken many things from program xxx.
I am sorry, you are not quoting me properly. I said "Vasik took too much in the eyes of the panel". You added "ideas", which I did not say. Vasik too a lot more than simply ideas. He took (uncredited) very specific methods of measuring features and scored them the same way as in Fruit 2.1. Some ideas have only one way of measuring (say isolated pawns). But he even took the ways there were combined (for example, for pawns, how isolated, doubled, passed, candidate, backward.. and so on were measured. There were very few differences in the eval features measured and scored. As for a definition of "too much", the Watkins documents go into exactly how the panel measured the overlap and gives the match for standard deviations and compared it with many programs. I suggested you do the same analysis of some of your own programs to try and demonstrate any similar overlap of methods, but so far no one has come up with any other program so similar to Rybka or Fruit (other that ripoffs like Strelka). I think we very scientifically justified our decisions. There is no legal definition in patent or copyright cases of what is "too much". We gave numbers.

User923005
Posts: 616
Joined: Thu May 19, 2011 1:35 am

Re: Rule #2 and its use during history

Post by User923005 » Thu May 10, 2012 7:08 pm

All chess programs are collections of other people's ideas.
To claim otherwise is pure hypocrisy.

Now, to steal someone else's code is wrong. I don't know whether Vas has done this or not.

Let me further add, that you can't steal an idea. Ideas belong to everyone. It's like stealing math. There's nothing wrong with it.

I do admit that the law of many lands allows for protection of ideas via patent. While I find this repugnant, I would certainly obey it.

It would be an interesting exercise to have chess programmers honestly examine their own programs and figure out how much of it really belongs to them.

Did they invent the pvs search they are using? The LMR that they are using? The null move that they are using? The Zobrist hashing that they are using? What really is uniquely theirs?

I guess that the old timers like Dr. Hyatt have a large percentage of pure innovation. Perhaps as large as 30% (just a SWAG). But I suspect that most chess programs contain less than 5% innovation.

User avatar
Rebel
Posts: 515
Joined: Wed Jun 09, 2010 7:45 pm
Real Name: Ed Schroder

Re: Rule #2 and its use during history

Post by Rebel » Sat May 12, 2012 12:59 am

mjlef wrote:
Rebel wrote:Continuation...

CHAPTER TWO: Rule 2

As there is no hard proof of verbatim copying Fruit's EVAL the Rybka investigators searched for "evaluation similarities" to strengthen their case Rybka being derived from Fruit. And here rule #2 comes into play, the subject of originality. Or as Mark Lefler has put it: Vasik took too much in the eyes of the panel.

The complete quote:

Ed, I think that is the best summary of this whole thing. Vasik took too much in the eyes of the panel. More than enough to call the versions of Rybka we examined to be called "derivatives", and he did not report this as required by the rules.

It's obvious MarkL is talking about "taking ideas" here, not code as otherwise rule #2 would allow verbatim copying to some extend after all which is out of the question. And so the Panel according to MarkL has ruled Vasik took "too much" ideas from Fruit. This is a totally new situation in the history of the ICGA, since day one (quoting Bob) rule #2 has been about copying and I agree with him, it is exactly my recollection from the past and the sole reason why I signed Fabien letter because I believed Vasik copied Fruit, made changes and called the result his own.

So apparently the true meaning of rule #2 is that there is an (undefined) limit on the number of ideas you are allowed to take from open-sources. It's not about copying any longer (it always was) but the volume you take of common (non-copyrightable) chess knowledge idea's found in every decent chess program is suddenly a major issue.

So what has the ICGA-Rybka case learned us?

1. Open sources are hijacked by the ICGA to serve as a model you can't take an undefined number of ideas from, else.....

2. "Too much" is defined by the ICGA programmers, the Panel.

3. There was (and still is) no definition of "too much". I am still waiting.

4. So for the moment be careful when you study open-sources, implement what you have learned differently, or better don't study them at all. And if you do after all then don't say in public you have taken many things from program xxx.
I am sorry, you are not quoting me properly. I said "Vasik took too much in the eyes of the panel". You added "ideas", which I did not say. Vasik too a lot more than simply ideas. He took (uncredited) very specific methods of measuring features and scored them the same way as in Fruit 2.1. Some ideas have only one way of measuring (say isolated pawns). But he even took the ways there were combined (for example, for pawns, how isolated, doubled, passed, candidate, backward.. and so on were measured. There were very few differences in the eval features measured and scored. As for a definition of "too much", the Watkins documents go into exactly how the panel measured the overlap and gives the match for standard deviations and compared it with many programs. I suggested you do the same analysis of some of your own programs to try and demonstrate any similar overlap of methods, but so far no one has come up with any other program so similar to Rybka or Fruit (other that ripoffs like Strelka). I think we very scientifically justified our decisions. There is no legal definition in patent or copyright cases of what is "too much". We gave numbers.
Let me be short, the deal was that Vasik copied Fruit, hence programmers signed the Fabien letter. No fancy word games, the key-word is copying. Did he copy Fruit or not. Did he take a shortcut and got his first 2700 elo for free or not. That is and was the issue. Be as clear as Bob, "rule #2 is about copying since day one". If you (still) think Vasik copied Fruit keep your conviction by all means, Bob does. However if you are not so sure any longer then undo the injustice.

And clearly define "too much" in rule #2, I guess the generation of programmers that grow up with strong open sources would like to know where to draw the line. And the line is unclear as the R/F case convincingly has demonstrated.

mjlef
Posts: 43
Joined: Thu Jun 10, 2010 6:51 pm
Real Name: Mark Lefler

Re: Rule #2 and its use during history

Post by mjlef » Sat May 12, 2012 3:01 am

Rebel wrote:
mjlef wrote:
Rebel wrote:Continuation...

CHAPTER TWO: Rule 2

As there is no hard proof of verbatim copying Fruit's EVAL the Rybka investigators searched for "evaluation similarities" to strengthen their case Rybka being derived from Fruit. And here rule #2 comes into play, the subject of originality. Or as Mark Lefler has put it: Vasik took too much in the eyes of the panel.

The complete quote:

Ed, I think that is the best summary of this whole thing. Vasik took too much in the eyes of the panel. More than enough to call the versions of Rybka we examined to be called "derivatives", and he did not report this as required by the rules.

It's obvious MarkL is talking about "taking ideas" here, not code as otherwise rule #2 would allow verbatim copying to some extend after all which is out of the question. And so the Panel according to MarkL has ruled Vasik took "too much" ideas from Fruit. This is a totally new situation in the history of the ICGA, since day one (quoting Bob) rule #2 has been about copying and I agree with him, it is exactly my recollection from the past and the sole reason why I signed Fabien letter because I believed Vasik copied Fruit, made changes and called the result his own.

So apparently the true meaning of rule #2 is that there is an (undefined) limit on the number of ideas you are allowed to take from open-sources. It's not about copying any longer (it always was) but the volume you take of common (non-copyrightable) chess knowledge idea's found in every decent chess program is suddenly a major issue.

So what has the ICGA-Rybka case learned us?

1. Open sources are hijacked by the ICGA to serve as a model you can't take an undefined number of ideas from, else.....

2. "Too much" is defined by the ICGA programmers, the Panel.

3. There was (and still is) no definition of "too much". I am still waiting.

4. So for the moment be careful when you study open-sources, implement what you have learned differently, or better don't study them at all. And if you do after all then don't say in public you have taken many things from program xxx.
I am sorry, you are not quoting me properly. I said "Vasik took too much in the eyes of the panel". You added "ideas", which I did not say. Vasik too a lot more than simply ideas. He took (uncredited) very specific methods of measuring features and scored them the same way as in Fruit 2.1. Some ideas have only one way of measuring (say isolated pawns). But he even took the ways there were combined (for example, for pawns, how isolated, doubled, passed, candidate, backward.. and so on were measured. There were very few differences in the eval features measured and scored. As for a definition of "too much", the Watkins documents go into exactly how the panel measured the overlap and gives the match for standard deviations and compared it with many programs. I suggested you do the same analysis of some of your own programs to try and demonstrate any similar overlap of methods, but so far no one has come up with any other program so similar to Rybka or Fruit (other that ripoffs like Strelka). I think we very scientifically justified our decisions. There is no legal definition in patent or copyright cases of what is "too much". We gave numbers.
Let me be short, the deal was that Vasik copied Fruit, hence programmers signed the Fabien letter. No fancy word games, the key-word is copying. Did he copy Fruit or not. Did he take a shortcut and got his first 2700 elo for free or not. That is and was the issue. Be as clear as Bob, "rule #2 is about copying since day one". If you (still) think Vasik copied Fruit keep your conviction by all means, Bob does. However if you are not so sure any longer then undo the injustice.

And clearly define "too much" in rule #2, I guess the generation of programmers that grow up with strong open sources would like to know where to draw the line. And the line is unclear as the R/F case convincingly has demonstrated.
"fancy word games"? I really hate this kind of rhetoric. I was quite clear. Yes Vasik copied Fruit. Not having access to the source code, we cannot show he used the same variable names and such. But we can show the early Rybkas used just about every term in the evaluation of Fruit, and he did not inform the ICGA that he did this. He broke the rules.

The ICGA has not banned programmers from using other people's evaluations. But they need to be informed of it and receive the original author's approval. Look at GridChess in this tournament: http://www.grappa.univ-lille3.fr/icga/t ... php?id=173 It used part of Toga, Fruit and Crafty, but with permission and acknowledgement on the entry form. I advise anyone entering future ICGA tournaments just to come clean. Admit on the entry form what you used and have the TD (and whoever he/she assign to help) investigate if this is proper.

User923005
Posts: 616
Joined: Thu May 19, 2011 1:35 am

Re: Rule #2 and its use during history

Post by User923005 » Sat May 12, 2012 3:20 am


"fancy word games"? I really hate this kind of rhetoric. I was quite clear. Yes Vasik copied Fruit. Not having access to the source code, we cannot show he used the same variable names and such. But we can show the early Rybkas used just about every term in the evaluation of Fruit, and he did not inform the ICGA that he did this. He broke the rules.

The ICGA has not banned programmers from using other people's evaluations. But they need to be informed of it and receive the original author's approval. Look at GridChess in this tournament: http://www.grappa.univ-lille3.fr/icga/t ... php?id=173 It used part of Toga, Fruit and Crafty, but with permission and acknowledgement on the entry form. I advise anyone entering future ICGA tournaments just to come clean. Admit on the entry form what you used and have the TD (and whoever he/she assign to help) investigate if this is proper.
Obviously, he did not use Fruit's evaluation, because Fruit is not bitboard based, and Rybka is bitboard based. He definitely used some similar terms in evaluation, which is what you have demonstrated in your reams of documentation.

In his very first beta, he admitted to using ideas from both Fruit and Crafty. So your complaint about his non-disclosure is disingenuous at best and a lie at worst. His readme documentation giving clear credit is much superior to all of the other entrants who gave no credit at all to the 90% of their program's contents which consists of ideas taken from other programs and articles written by other programmers.

Why is it OK to use null move pruning, Zobrist hashing, predicted variation search with zero window, extensions (name your poison), pruning algorithms (name your poison), reductions (name your poison) without giving credit to any of the authors when these things clearly make the program much stronger than it would be without them (in fact these things add far more than evaluation since they reduce the branching factor which clearly dominates chess) and yet it is wrong to use many similar chess evaluation terms when these things are found in any beginner's chess book and are common knowledge?

The answer is clear to me. You make up whatever rules you like. Without having his source code it is literally impossible for you to prove that he has used the same source code, unless the binaries were identical and the binaries are not identical. Since the fundamental data structures are different these every facet of the program would have to be rewritten to use any chess ideas from Fruit. Of course, you know all of this if you have read any of the documents found on Ed's site, as well as the fact that each and every claim of the tribunal has been thoroughly debunked.

IMO-YMMV

User avatar
Rebel
Posts: 515
Joined: Wed Jun 09, 2010 7:45 pm
Real Name: Ed Schroder

Re: Rule #2 and its use during history

Post by Rebel » Sat May 12, 2012 8:30 am

mjlef wrote:The ICGA has not banned programmers from using other people's evaluations. But they need to be informed of it and receive the original author's approval. Look at GridChess in this tournament: http://www.grappa.univ-lille3.fr/icga/t ... php?id=173 It used part of Toga, Fruit and Crafty, but with permission and acknowledgement on the entry form. I advise anyone entering future ICGA tournaments just to come clean. Admit on the entry form what you used and have the TD (and whoever he/she assign to help) investigate if this is proper.
On submission details (part-1)

For those who paid attention, this is from “Rybka 1.0 Beta readme.rtf”, the origins of Rybka 1.0

Special Thanks

I hesitate to include this section because I know I'll forget people who have been helpful in this project, but (with advance apologies to the omitted) here goes:

Robert Hyatt - For Crafty. There is nothing like an open source program for passing knowledge to the next generation.

Fabien Letouzey - For Fruit, which shattered a number of computer chess myths, demonstrated several interesting ideas, and made even the densest of us aware of fail-low pruning.

Tord Romstad - For making Fabien aware of fail-low pruning :-), and more seriously for sharing in every way possible his considerable knowledge.

Eugene Nalimov - For his cryptic but somehow fully functional endgame tablebase access code.

Uri Blass, Gerd Isenberg, Dieter Burssner, Vincent Diepeveen, Raschid Chan, Anthony Cozzie, Mridul M* :), Thomas Gaksch, Peter Berger, Sandro Necchi, Ed Shroeder, Amir Ban, Christophe Theron and every one else, past and present, on the computer chess club: For sharing their computer chess knowledge despite the fact that in principle computer chess is a competitive field.

Heinz van Kempen, Guenther Simon, Olivier Deville, Sergio Martinez, Claude Dubois: for testing early versions of Rybka despite countless bugs and annoying problems.

Alex Dumov, Gabriel Luca: for helping a Windows newbie get up to around half-speed without excessive derision (or at least open derision :))

and Iweta: for being great! :) and a pretty good Rybka tester and web master to boot

Happy testing, and best chess regards,

Vasik Rajlich

Budapest Hungary

December 4, 2005


Why is (was) this not good enough ?

User avatar
Rebel
Posts: 515
Joined: Wed Jun 09, 2010 7:45 pm
Real Name: Ed Schroder

Re: Rule #2 and its use during history

Post by Rebel » Sat May 12, 2012 8:46 am

mjlef wrote:The ICGA has not banned programmers from using other people's evaluations. But they need to be informed of it and receive the original author's approval. Look at GridChess in this tournament: http://www.grappa.univ-lille3.fr/icga/t ... php?id=173 It used part of Toga, Fruit and Crafty, but with permission and acknowledgement on the entry form. I advise anyone entering future ICGA tournaments just to come clean. Admit on the entry form what you used and have the TD (and whoever he/she assign to help) investigate if this is proper.
On submission details (part-2)

Case Bruce Moreland and Ferret

Ferret is derived from GNU Chess 3.0 protected under GPL. Never mentioned on the submission details, see:

http://www.grappa.univ-lille3.fr/icga/program.php?id=35

Yet Bruce has 3 world-titles.

Rightfully earned but that's not the issue here, the ICGA inconsistency is.

Shall we drop the submission details issue ?

Post Reply