Reports | March 01, 2011 19:32

Programmers write open letter about Rybka-Fruit issue

Programmers write open letter about Rybka-Fruit issueRecently we published an article by David Levy, President of the International Computer Games Association (ICGA), about the cloning of chess engines. Meanwhile the ICGA Clone and Derivative Investigation Panel has been established, and today we received an open letter about the Rybka-Fruit case signed by fourteen chess programmers.

In his Attack of the clones, which we published on February 19th, David Levy expresses his concern about the cloning of chess engines. At the end of his article, he mentions the intention "to set up a forum for investigating prima facia claims of cloning in the world of computer strategy games". Four days later, Mr Levy let us know in a comment that the ICGA Clone and Derivative Investigation Panel has been established.

Most of the ongoing debate is about the Rybka-Fruit issue: the famous Rybka program from Vasik Rajlich was allegedly cloned from Fabien Letouzey's Fruit. We received the following open letter signed by fourteen chess programmers (including Letouzey himself), who support this claim:

Open letter to the ICGA about the Rybka-Fruit issue

Dear David Levy, Jaap van den Herik and the ICGA Board,

Recently the author of Fruit, Fabien Letouzey, wrote an open letter to the computer chess community where he raised the concern that Rybka 1.0 beta may be a derivative of Fruit 2.1 in this public post.

Since then it has emerged from highly respected sources like Zach Wegner, Bob Hyatt and others that there is a lot of evidence that has been accumulated over the last few years that Rybka 1.0 beta is a derivative of Fruit 2.1.

Zach Wegner has presented evidence of alleged significant copied/derived Fruit evaluations in Rybka 1.0 beta here.

A collection of evidence of the many cases of alleged copied/derived Fruit structure, code & data appearing in Rybka 1.0 beta has been put together in this PDF by Mark Watkins.

It is also worth considering that prior to Rybka 1.0 beta, previous Rybka versions were many hundreds of Elo points weaker than the Rybka 1.0 beta version that suddenly emerged in public in December 2005, just a few months after the open source public release of Fruit 2.1 under the GPL license. That same month Rybka beta entered and won the International Paderborn Computer Chess tournament.

The evidence alleges that by using and deriving code, data and structure from Fruit 2.1, Vasik Rajlich was able to make dramatic and huge progress with "his" program Rybka to the detriment of his fellow competitors. In our view this has made competitions involving Rybka grossly unfair.

As chess programmers we find this overwhelming evidence compelling. We believe Rybka is a Fruit derivative albeit an advanced one.

It is very likely that later Rybka versions have derived and benefited from Rybka 1.0 beta and hence in the circumstances our view is they should also be considered derivatives of Fruit 2.1 until proven otherwise.

We wish to make an official complaint to the ICGA that Rybka is a Fruit 2.1 derivative. Furthermore we believe it is a breach of the GPL license under which Fruit 2.1 was released.

We believe as an unauthorized Fruit derivative Rybka's entry into ICGA events has been contrary to the ICGA rules and the rules of fair play.

We ask the ICGA to carefully review the evidence, assess its validity, and act accordingly.

We note that the ICGA is intending on setting up a tribunal to assess such allegations and we believe this evidence should be strongly considered in that process.

In addition, we think the ICGA should in future insist that all authors of entries to ICGA events must submit to the ICGA the same executable(s), that is taking part in the ICGA event, where they can be stored for future analysis of potential derivative claims should they arise. Each author should also make a full and clear statement as to the originality of the entry, its contributors and any acknowledgements. Should justified suspicions exist authors must be willing to submit source code on a private and confidential basis to a select group of impartial programmers to privately determine source code origin.

Co-signed by the following chess programmers,
Fabien Letouzey, Zach Wegner, Mark Uniacke, Stefan Meyer-Kahlen, Ed Schröder, Don Dailey, Christophe Theron, Richard Pijl, Amir Ban, Anthony Cozzie, Tord Romstad, Ralf Schäfer, Gerd Isenberg, Johannes Zwanzger

An interesting question is, what punishments could be considered by the ICGA for anyone who is found "guilty" of a cloning or derivative offence? The answer can be found in the Charter of the ICGA forum:

[h] The ICGA shall consider the reports and recommendations of the Panel and shall at its sole discretion decide upon what action if any should be taken. The sanctions that the ICGA might take against those found guilty of cloning or creating a derivative include but are not limited to:

[i] Banning the guilty person(s) from participation in future ICGA events for any period deemed appropriate by the ICGA;

[ii] Publicizing, wheresoever it deems appropriate, the allegations and the names of those who have been investigated by the Panel and the findings of the Panel;

[iii] Recommending to other computer event organizers the exclusion of persons who have been found guilty by the Panel.

[iv] Annulling any titles that have already been awarded to programs that have since found by the Panel to have been clones or derivative programs, and demanding the return of any prize money paid to the offending programmer(s).

Peter Doggers's picture
Author: Peter Doggers

Founder and editor-in-chief of ChessVibes.com, Peter is responsible for most of the chess news and tournament reports. Often visiting top events, he also provides photos and videos for the site. He's a 1.e4 player himself, likes Thai food and the Stones.

Chess Master School

Comments

Bartleby's picture

I think the ICGA panel deliberately refrains from the GPL and copyright issues. It focuses on the unfairness of a clone entering an ICGA competition. That way they can set their own bar on how much evidence they need to ban a clone.

Tony's picture

This issue seems fairly confusing...to me
Is the argument that code was copied directly and there for plagerism
or the conceptual ideas such as the bitmapping process used by Fruit was copied.

It seems very grey to me to be arguing about a version that is now 5 years old and the newer version is no longer even close to the old one. If the point of the creation of the freeware program fruit was to introduce a new idea and further progress then well seems it was successful.

Inkly's picture

Interesting and telling that Der Spiegel has picked up this cloning story, but ChessBase has not yet.

Jeroen Noomen's picture

Some more I wrote on the Rybka forum, to give non-insiders a better idea what has been going on in the chess computer world for ages:

'As a matter of fact, I have been in this computer chess world for some time and I can tell you that it was perfectly normal for the top guys to decompile the programs of their competitor ('to look for ideas') more than 10 years ago. I have overheard conversations by the top programmers by then, even bragging about it that 'they had found some interesting stuff in program X or Y'. They were not even interested in this being a secret. One of the most funny remarks was a programmer, who had decompiled Chess Tiger and proudly told during a Leiden tournament that 'Chess Tiger was showing around 1000-1500 kn/s on the GUI, while in fact it was searching much faster, around 4000 kn/s.' The same Chess Tiger author who later was mad about Rybka not showing the right node count. Another nice one was a program author, who was working together with Cozzie at the time and who claimed that 'Zappa is much like Fruit, but with better king safety'.

I would say: let the programmer who has never been guilty of looking into and taking idea's from another program throw the first stone.

Inkly's picture

The current Zappa/Rondo author ZWegner rebuked Mr. Noomen at Rybka forum.

"Another nice one was a program author, who was working together with Cozzie at the time and who claimed that ‘Zappa is much like Fruit, but with better king safety’."

This is the response quote:

Nice of you to just throw this out like it's a fact. My guess is that it comes from Vincent, the same guy who claims that Cozzie was the author of Rybka. Nevertheless, he has never seen the Zappa source code. I have, and I can assure you that there's nothing that even approaches copying code, and I can't even think of anything in it that could be thought of as taking ideas. So how about having some actual evidence if you're going to say stupid things like that? Of course, there is none.

And for the record, the last public version of Zappa was only about 80 elo weaker than the 2005 WCCC version according to CCRL. And Zappa won CCT in February 2005. Fruit 2.1 came out in June 2005. So your story that it was "not very strong" is just total BS.

Delinquncy's picture

Jeroen, please submit citations for your claims and anonymous quotes, just as the accusers of Rybka have gratefully done. I am actually interested in them, if the content turns out to be veracious.

Again you possess a failure to distinguish between "ideas" - either by reverse engineering or reading Fabien's open-source - and actually snatching the *code*. The programmers who signed the letter are more able to make this crucial distinction. This latter is not within the rules of computer chess tournaments, and in many cases is *illegal*. The proof that Rybka versions used *code* from other engines is by now quite strong, even stronger than Monday when the letter was written with the Crafty evidence appearing.

Compu-geek's picture

Could be Prof. Hyatt?

Hans's picture

'Each author should also make a full and clear statement as to the originality of the entry, its contributors and any acknowledgements.'

This can be really funny, as most of these authors have used ideas from Fruit, Rybka and Rybka derivatives. So in their own words, they should include Vasik Rajlich, Yuri Osipov and others as contributors to their software. As only one entry by each author is allowed in the ICGA world championship, there will be no more WCCC.

I am sure the people who signed this are not aware of this. But they just dug themselves a big hole.

Delinquncy's picture

Hans, as with Jeroen you fail to distinguish between code and ideas, unlike the programmers signing the letter who through their experience perceive the difference.

The ICGA originality statement must be clear and complete for *code* and will indeed eliminate multiple entries who copy, but for *ideas* these have always been reused historically as Jeroen himself pointed out. If an engine borrows a large amount of *ideas* from Crafty or Fruit, it should list them and this might raise a yellow flag, but then could still be ok under more review.

Contributing *ideas* is not the same as contributing *code*, and the programmers themselves do not seem confused about the notion of "author" for this, as the armchair pundits.

Here an example of what to expect from Zach Wegner, on the issue of code.
http://talkchess.com/forum/viewtopic.php?p=212672#212672

* The makefile uses -MM to create a dependency file. I got this idea from Fruit, but my implementation is completely different
* The Kogge-Stone fill generators. There's really only one way to write these, and my implementation is original
* Some assembly for bit scans, pop counts, and a lock. These were taken from Crafty, which apparently were taken from the Linux kernel (GPL).
* C code for bit scans and pop counts. These are again very common, and were rewritten.
* Similar input_available function. Again, rewritten.
* Random_hashkey function, rewritten
* time function, rewritten
* print() idea from Anthony Cozzie, implementation nowhere near his, completely original code
* somewhat similar mechanism in select_move function as Crafty, but really very different
* Scorpio EGBB probe code

Jeroen Noomen's picture

I had a good laugh about this letter, which reads between the lines: 'Rybka is too good, please ICGA, do something about it'. This is the comment I made on the Rybka forum, to place it in a historical context:

'Picking ideas from other programs was already normal in the 1990's. I have heard some of the top programmers by then speaking about this many times. Probably I shouldn't have heard these conversations, but they were also not too eager to hide them. Decompiling and looking for ideas was just as normal in 1998 as it is right now. Claiming otherwise is just pathetic.

Please also note that Shredder, Fritz, Hiarcs and Junior were not greatly improving (20, maybe 30 elo a year) until Fruit came out. And they were even improving faster after Strelka. Don't forget Zappa either, which was not very strong and after Fruit came out suddenly became very strong and won the world title.

As far as I am concerned, most of these programmers are sour losers and now they see their businesses implode, they try to do something about it.'

I am 100% sure most of the programs mentioned have made 'huge and dramatic' progress thanks to Rybka and Rybka derivatives. As well as Fruit. The whole things looks very hypocrite to me, but in this crappy chess computer world it doesn't surprise me at all.

Mark Uniacke's picture

Jeroen,

You have certainly not heard me speak of these things, so what top programmers are you talking about?

The complaint is not about using ideas, it is about using code, data and structure.

Please don't start giving false information about Hiarcs, let's look at the facts from the SSDF rating list:
Hiarcs 7 -> Hiarcs 8 + 60 Elo
Hiarcs 8 -> Hiarcs 9 + 60 Elo
Hiarcs 9 -> Hiarcs 10 + 95 Elo

These are certainly much larger strength jumps than the 20-30 elo you stated.

If you want to discuss this further or have any evidence you should join the panel and supply it there.

Inkly's picture

You are too kind, Mark. Rather than indicating he was factually incorrect (do you release Hiarcs version numbers once a year?), you could have simply said his strength issue was irrelevant to issues of copying code.

Delinquncy's picture

Is there anyone defending Rybka who actually has anything factual to say, rather than just impugning of motives?

The claim is rather is clear. Rajlich took *code* from Fruit, and used the resulting engine to compete in tournaments. This is already against their rules. Mumbo-jumbo about "ideas" borrowed may make the German chessbase page, but at this point is just a figment of imaginations. All the evidence is about *code*.

Further, though the letter doesn't go this far Letouzey very well might, the taking of this Fruit *code* was done *illegally*, in which case Rajlich would be a *thief*.

These are not kind words, but it sums the allegations. If you claim that Letouzey wants to get money off Rajlich, I might ask "given there was theft, why shouldn't he?"

The now-exposed evidence that earlier Rybkas used Crafty code, again *illegally* when competing in tournaments in 2004 cannot help Rajilch's case.

David Levy's picture

The case has now reached the mass media. Those of you who understand German (which I do not) might be interested in this article from 'Der Spiegel'

http://www.spiegel.de/netzwelt/gadgets/0,1518,748616,00.html

David Levy

Isthere_Science's picture

It would help if you informed about professional sports and its mechanism. Thanks.

Peter Doggers's picture

To all: don't miss our latest cartoon!

Harvey Williamson's picture

http://open-chess.org/download/file.php?id=332 BB+ has updated his PDF again with the latest

Mcyodle's picture

How much information is stolen from wikipedia nowadays?
I think they Rybka developers supply a good service to chess players and hobbyists with their funked up engine evaluations and analysis, and the excellent suite of tools available with Rybka (i.e. Aquarium).
Fruit was the champ, that at least is obvious now, however Chess expertise probably supplied the missing pieces somehow.

Pages

Your comment

By posting a comment you are agreeing to abide our Terms & Conditions

Latest articles