An interesting article posted below on Chessbase, 2nd part of three.
In it, Dr. Riis, an apologist for Rybka programmer Rajlich, tries to
make the case Rajlich was unfairly banned by the ICGA.
He fails.
Why? Because being banned by the ICGA (the sponsor of computer chess
tournaments) is NOT the same as being guilty of copyright
infringement. It's clear that probably Rajlich is not guilty of
copyright infringement, since his Rybka borrowed from open source
"Fruit", as well as open source "Crafty", which are in the public
domain. What is a violation of ICGA however --and the reason Rybka
was banned--is not the legal rules of copyright but the HOUSE RULES of
plagiarism. The house rules by ICGA state: (WCCC Rule 2, related to
program originality).
"Each program must be the original work of the entering
developers. Programming teams whose code is derived from or including
game-playing code written by others must name all other authors, or
the source of such code, in their submission details. Programs which
are discovered to be close derivatives of others (e.g., by playing
nearly all moves the same), may be declared invalid by the Tournament
Director after seeking expert advice. For this purpose a listing of
all game-related code running on the system must be available on
demand to the Tournament Director."
Two violations of this rule by Rybka's author occurred. First, Rybka's
Rajlich did NOT give credit to Fruit IN THE SUBMISSION DETAILS. He
gave it publicly, but that is not the same. He has to say so in the
submission details.
Second, he did NOT hand over the source code to the Tournament
Director. Instead, the ICGA had to spend 18 months or so reverse
engineering Rybka to find similarities with Fruit. In one instance,
they even found where a float 0.0 was mistakenly converted to an int 0
but Rajlich apparently left the 'dot' notation in: so it was "0.",
which compiled as a float. In any event, it's not that Rajlich did
not do original work on Rybka, nor is it that he legally is guilty of
copyright infringement, nor that he did not give credit to Fruit and
Crafty publicly, rather, he did not play by the rules and satisfy the
two conditions above.
Case closed. Rybka's author is guilty of violating ICGA house rules
on computer chess programs. It's true that no doubt both Dr. Hyatt
and the other rival computer chess programmers were jealous of Rybka's
success (or rather the offspring of Fruit's success, since they were
derivatives of Fruit), but that does not make their conclusions less
sound.
RL
http://www.chessbase.com/newsdetail.asp?newsid=7807
A Gross Miscarriage of Justice in Computer Chess (part two)
03.01.2012 – In this part Dr Søren Riis of Queen Mary University in
London
From the initial release of Rybka 1.0 Beta until early 2011 the
general consensus in the computer chess community was that Rybka was
an original program, even though it had undoubtedly learned a great
deal from the leading open source programs in existence in 2005, Fruit
and Crafty. This consensus was based on Rybka’s position on the Elo
rating lists and steadily increasing strength, its search behavior,
unique features, etc.
Rajlich conceded from the very beginning that he had studied Fruit’s
open source code very closely and learned a great deal from it. In an
interview from 2005, right after Rybka 1.0 Beta was released, Rajlich
acknowledged the computer chess community’s as well as his own debt to
Fruit:
Yes, the publication of Fruit 2.1 was huge. Look at how many
engines took a massive jump in its wake: Rybka, HIARCS, Fritz, Zappa,
Spike, List, and so on. I went through the Fruit 2.1 source code
forwards and backwards and took many things.
Rajlich later publicly praised the work of Fabien Letouzey:
I don't want to get too specific about which ideas from Fruit I
think are really useful, but they fall into two categories:
1) Very specific tricks, mostly related to search.
2) Philosophy of the engine (and in particular of the search).
Fruit could really hardly be more useful along both of these
dimensions. Fabien is a very good engineer, and also has a very clear
and simple conception of how his search should behave.
Finally, Rybka 1.0 Beta’s Readme file gave credit to Fruit in a
“Special Thanks” section:
…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.
By definition, plagiarism only happens when credit to sources is not
given, which was never the case with Rybka. These acknowledgements
were widely known at the time Rybka entered WCCC tournaments and,
rather obviously, Rybka’s debt to Fruit steadily diminished over the
years as program improvements superseded the original program code in
Rybka 1.0 Beta.