February 19, 2011 16:49

Attack of the clones

Attack of the clonesOur recent report on the Houdini-Rybka match triggered lots of comments about the issue of cloning in the computer chess world. Was Houdini derived from the Ippolit series? Was it plagiarized from Rybka? And what about Rybka, is it largely based on the code of the Fruit engine? IM David Levy, President of the International Computer Games Association (ICGA), shares his thoughts about how to tackle the issue.

David Levy | Photo © John Henderson

Cloning Chess Engines

By David Levy

The cloning of chess engines appears to have been steadily on the rise in recent years and is a practice strongly disapproved of by the International Computer Games Association (ICGA). In the world of computer chess cloning not only damages the commercial opportunities for the original programmers, it also steals the kudos of tournament successes. Genuinely achieving a great result in a top level chess tournament requires years of painstaking effort by a highly skilled and highly motivated programmer or team of programmers, yet the creation of a clone steals the glory and public acclaim from its rightful owner. The ICGA would like to see this disgusting practice stopped and those who perpetrate the cloning publicly exposed for what they are. This article is the ICGA’s opening shot in that struggle.

We start by considering two aspects of cloning, and presenting links to various Internet postings (by others) on specific allegations, as well as some additional quotations.

The Langer Case
First we consider cases where an entire chess engine has been ripped off, without any attempt being made to change its code. The first such case to come to the attention of the ICGA (which was then called the ICCA), was at the 1989 World Microcomputer Chess Championship in Portoroz, where play took place in the very same hall where, 31 years earlier, the 15-year-old Bobby Fischer qualified for the first time for the Candidates stage of the World Chess Championship. I well remember how, during the first round of the 1989 event, I was impressed with the play of the program Quickstep, entered by a German programmer, Herr Langer. I became less impressed shortly afterwards when Richard Lang, then the programmer of the Mephisto range of chess computers, revealed that the user interface of Quickstep was identical to that of his own program. The matter was investigated on the spot by interrogating Herr Langer who at first denied that he had copied the Mephisto Almeria code. But when Richard Lang demonstrated a bug in his own program, and it was found that exactly the same bug existed in Quickstep, Mr. Langer confessed and was immediately disqualified. Mr Langer’s embarrassment was compounded by the fact that he and his wife were on their honeymoon in Portoroz, and his wife witnessed his unmasking and disqualification.

The Espin Case
Much more recently the ICGA experienced a 21st century attempt at something similar, when the FIDE Master Johnadry Gonzalez Espin of Habana, Cuba, applied to enter the 2010 World Computer Chess Championship in Kanazawa, Japan. After making great efforts, successfully, to help Espin obtain a visa to participate in Japan, the ICGA was informed that “his” program SquarknII is a clone of the program Robbolito 0.85g3 with only 3 values changed in the entire code. Espin was duly barred from entering the tournament and will not be permitted to take part in ICGA events in the future. For more information about the Espin case visit this ICGA news item or this post at Susan Polgar's blog.

The Rybka-Fruit Case
In cases such as the antics of Langer and Espin very little proof is needed to establish the cloning. But in some cases there is a more sophisticated cloning effort, when the clone programmer(s) attempt to hide their actions by making changes to the code of “their” program, presumably hoping to obscure the original source of the algorithms, ideas and the original code itself. The most serious allegations we have come across of this type relate to Rybka, currently the world’s top rated chess program and the winner of the World Computer Chess Championship in 2007, 2008, 2009, 2010. Rybka’s programmer is Vasik Rajlich, an International Master. For more than three years we have been hearing rumours in the computer chess world that Rybka’s engine was derived from the program Fruit, programmed by Fabien Letouzey, which placed second in the 13th World Computer Chess Championship in Reykjavik in 2005. Soon after his success in Reykjavik Fabien Letouzey made his program open source, under a Gnu Public License (GPL), so its copyright is now controlled by the Free Software Foundation.

In order to consider how the published Fruit source code might have influenced the development of Rybka, it is perhaps useful to examine some of the history of both programs. First let us go back a few years, to a time before the Fruit source code was made public. The Hiarcs forum contains the results of the CCCT6 tournament, played on January 31st and February 1st 2004, in which Rybka finished in 53rd place out of 54 contestants. On the Fruit Web site we find the following details of the open source versions of Fruit.

“It made its first appearance to the public in March 2004. Fruit was then just a basic program with a very simple evaluation and basic search. However since then it made skirmish progress adding about 100 Elo to each new release (1.5, 2.0, 2.1 and Fruit 2.2). The latest version from Fabien is "Fruit Beta 05/11/07" compiled on November, the 3rd 2005. Since then no new versions where released.
Until Version 2.1, Fruit was open source. But with Fruit becoming the strongest engine, the author decided to close the source code to avoid clones which might participate in official tournaments.”

And furthermore, Fruit 2.1 was released with source code on June 17th 2005 under the GNU GPL license.
Let us now consider the point in time when it became clear that Rybka had become enormously strong. From Wikipedia we learn that:

“Vasik Rajlich started working on his chess program at the beginning of 2003. The first Rybka beta was released on December 2, 2005 . . . In December 2005, Rybka participated in the 15th International Paderborn Computer Chess Championship. Rybka won the tournament with a score of 5½ points out of 7, ahead of other engines such as Gandalf, Zappa, Spike, Shredder and Fruit.”

So Rybka’s first outstanding tournament success would seem to have been in December 2005, six months after the date of the release of the open source version of Fruit 2.1. One can understand from this coincidence of timing how many computer chess experts might have been led to think that Rybka’s development owed a considerable debt to the Fruit source code.

But as I have mentioned, at first the Rybka-Fruit case was mere rumour. More recently, however, these rumours have become firm allegations, made by expert chess programmers and supported by evidence which appears on the surface to be rather compelling, both in its nature and in its volume. At this point in time I do not intend to make any definitive statement of my own on these allegations, but will allow the reader to form their own opinion after reading the following.

First, here is a posting by Zach Wegner, who currently develops (with the full permission of Anthony Cozzie, the original Zappa programmer) an upgraded version of Zappa, the World Computer Chess Champion in 2005. Wegner participated in the 2010 World Computer Chess Championship with their program which is called Rondo.

Rybka's evaluation has been the subject of much speculation ever since its appearance. Various theories have been put forth about the inner workings of the evaluation, but with the publication of Strelka, it was shown just how wrong everyone was. It is perhaps ironic that Rybka's evaluation is its most similar part to Fruit; it contains, in my opinion, the most damning evidence of all.

General Differences
Simply put, Rybka's evaluation is virtually identical to Fruit's. There are a few important changes though, that should be kept in mind when viewing this analysis.

  • Most obviously, the translation to Rybka's bitboard data structures. In some instances, such as in the pawn evaluation, the bitboard version will behave slightly differently than the original. But the high-level functionality is always equivalent in these cases; the changes are brought about because of a more natural representation in bitboards, or for a slight speed gain. In other cases the code has been reorganized a bit; this should be seen more as an optimization than as a real change, since the end result is the same.
  • All of the endgame and draw recognition logic in Fruit has been replaced by a large material table in Rybka. This serves mostly the same purpose as the material hash table in Fruit, since it has an evaluation and a flags field.
  • All of the weights have been tuned. Due to the unnatural values of Rybka's evaluation parameters, they were mostly likely tuned in some automated fashion. However, there are a few places where the origin of the values in Fruit is still apparent: piece square tables, passed pawn scores, and the flags in the material table.

Evaluation Detail
In this section, which we skip here for being slightly too technical, the author goes into more depth about the details of each aspect of the evaluations and their similarities and differences. You can read it in the PDF version of this article.

Responses from Vasik Rajlich
When it was suggested in 2007 in an Internet posting that Rybka was a clone of Fruit, Vasik Rajlich strongly denied it.

“Osipov's speculation is not correct. Rybka is and always was completely original code, with the exception of various low-level snippets which are in the public domain.

Rybka's scores are minimax score - they are propagated up the search tree. In principle, they should be from the tip of the PV, but because Rybka takes the PV from the hash table, this may not always be the case.

Re. depth, this is simply a tool to drive the iterative search. By conventional I mean 'in the normal range'.


Additionally, when the origins of Strelka became the subject of heated debate in the computer chess forums, Vasik pitched in with his own comments, claiming that Strelka was a clone of Rybka. Vasik posted the following on the Rybka forum.

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.

Furthermore, when I contacted Vasik a few days before writing this article, inviting him to comment on Zach Wegner’s analysis, he responded as follows:

“Hi David,

I'm not really sure what to say. The Rybka source code is original. I used lots of ideas from Fruit, as I have mentioned many times. Both Fruit and Rybka also use all sorts of common computer chess ideas.

Aside from that, this document is horribly bogus. All that "Rybka code" isn't Rybka code, it's just someone's imagination.

Best regards,

And when I asked for clarification as to whether this response meant that the Rybka 1 source code was original, Vasik replied:

“all of the Rybka versions are original, in the sense that I always wrote the source code myself (with the standard exceptions like various low-level snippets, magic numbers, etc).”

Fringe Problems
There is one other type of offence that I would like to mention here in connection with cloning, namely entering a cloned program created by someone other than the entrant, in a tournament, with the entrant knowing it be a clone. One might draw an analogy between the criminal law offence of theft and the crime of handling goods knowing them to be stolen. This offence in the computer chess world is similar to one that recently caused something of a scandal in the Netherlands, when a board member of the Dutch Computer Chess Association (CSVN), the body that organises the prestigious Leiden tournaments entered a pirated copy of Junior in one of the major online annual tournaments. (See here for more details.) Put simply, if someone knows that a program has been ripped off, either by cloning or through piracy, they will not be permitted to use a ripped off copy to compete in any ICGA event.

How to investigate such allegations and deal with cloning?
The ICGA intends to set up a forum for investigating prima facia claims of cloning in the world of computer strategy games. Claims that are proven to the satisfaction of the ICGA will result in sanctions being imposed by the ICGA on the offending persons, who will be named and shamed on the Internet.

Setting up such a forum for chess will require the support of leading members of the computer chess fraternity. We will need people willing to examine and compare source codes and to write reports on what they discover. The ICGA does not have a source of funds to pay for any such work, so anyone helping us will be a volunteer. Our current thinking is to make this chess forum open only to those who have already participated with their own chess program in an ICGA event. Anyone who comes into this category will be most welcome as a founder member of the group.

The first thing we need is someone willing to set up and operate a bulletin board where members of the forum can “meet” and exchange views. Will someone volunteer to do this to help the ICGA on its way to stamping out these insidious practices?

Update Wednesday, February 23rd, 2011: David Levy announced the establishment of the ICGA Clone and Derivative Investigation Panel. See the comment below.

David Levy is an International Master and President of the International Computer Games Association. He can be reached at davidlevylondon@yahoo.com.

Editors's picture
Author: Editors


calvin amari's picture

Perhaps someone would be good enough to explain why this question does not have a ready answer. Is it simply a matter of some qualified person taking the time to do a complete comparison? Are we not talking about large-scale copying and not simply fuzzy concepts of influence? For the layman like me, is it
somehow the experts' view that there will never be a clear answer? If so, why is that the case? The concept of a never-ending forum debate by the ICGA does not strike me as a likely path to a yes or no answer.

And what of Houdini? Why the silence from Levy about this question? I've noted this before, but it seems that when Houdini is in the news or the topic of discussion, the subject immediately and inevitably gets hijacked to the Rybka-Fruit debate. How is this directly relevant to whether Houdini is a ripoff of Rybka other than to suggest that it is ok to copy Rybka because Rybka itself is a copy of Fruit? It almost seems a tacit concession that Houdini is not original although, again to a layman, there seems to be nontechnical evidence to the contrary (differences in strength, style, evaluation scores, etc.)

Delinquncy's picture

I think you bring up good points. The case/s seems hard because they was a lot of obfuscatory placements. There is no code copying from Fruit in the fullest sense because Rybka is bitboard, so it has to be a translation. But rewriting Harry Potter in German is still not original, even if you include illustrations.
At some point, changing an engine enough makes it your one IMO, and they need more standards. It would be strange if they implemented new ethical guidelines with Rybka waved through (grandfathered) but Houdini excluded, but that could happen.

free's picture

You are absolutely right, it is a shame as we have addressed this issue Rybka. The ICGA should have held it all secret until proven otherwise, in contrast to tarnish the reputation of Rybka worldwide.
And if we think the ICGA also to blame, for failing to investigate or to rybka, and let them participate in their events....

Delinquncy's picture

I don't think Levy is so one-sided in the parts given here. He quotes one guy, Wegner, and then gives Rajlich the right to reply. The whole tangent about Rajlich and Strelka is maybe misplaced.
The PDF has additional quotes from a forum thread (always dangerous), and if you go to it and read all 750+ posts, there is only one programmer who even attempted to defend Rajlich *in that thread* beyond nosing around about technical GPL aspects that aren't the most important for computer chess originality, so how is this one-sided? And all that one programmer (Schule) did was say that Wegner's 2008 analysis was not yet convincing, and there was no ''code copying'' that he saw.

Titu's picture

I think I have seen posts where micromax and komodo programmers defending Vasik.

kingliveson's picture

Titu, this is what Komodo author said recently on the matter: "For example I don't think we need to have a huge discussion about whether Vas violated GPL, and our opinion won't change that anyway. There is strong evidence that he did, therefore I'm not sure discussing it will change that."



Delinquncy's picture

Muller (micro-max) acknowledged he is not on top of everything and said

"But from what I heard from people that seemed to have made a serious effort to dig up the truth, my current opinions on this are:

* Rybka is a legal derivative of Fruit
* Ippolit is an illegal derivative of some later Rybka"

Derivative is more important than legal (GPL) for the ICGA.

Uri Blass (movei) is also his usual self with wordplay.

Delinquncy's picture

It was not in 2007, but already in December 2005 when the issue of Rybka being a "Fruit clone" were first raised. All the red flags were there, and indeed ever since Fruit 2.1 every new engine was "doubtful" at first, but Rajlich had "status" as an IM and said all his code was original, so they believed him. It took two years and this Osipov character for anyone to investigate. Then Wegner and some other dude (Fadden?) disassembled Rybka and found all the Fruit parts. But Letouzey had gone AWOL, and everyone thought he couldn't care less. Then he reappeared this January, and this is why it's news again. The "BB" report is a grand expansion of the previous efforts to compare the two engines.

I can't find any serious programmer who has looked at it to any great degree, and thinks there is nothing there, though the level of guilt might differ. Ed Schroder (REBEL) was heavily against Wegner's original posts when investigating was still proceeding, but more recently he agreed the evidence is now filled out, and Rajlich needs to give answers. Chris Whittington (CSTal) found Wegner's presentation to be lopsided, and he personally thinks the GPL is nonsense, but I don't think he ever exonerated Rajlich completely. He might also think Houdini is legit, so standards vary. Christophe Theron (Chess Tiger) was the opposite,and felt the GPL issue was the most important, and he was strongly on Wegner's side. These 3 are all retired now and none competed directly against Rajlich, so they can't have much jealousy left.

John's picture

So - computer chess engine authors who have competed in WCCC before examine the confidential code of leading commercial chess engines ? Are they then supposed to forget all about what they saw when working on their own engines ? Commercial engine authors simply won't compete in WCCC ever again. This is simply crazy.

I could be wrong, but it also seems to me that David is heavily influenced and lobbied by commercial engine authors and has thus already made up his mind that Rybka is guilty.

Titu's picture

I totally agree with you John. David Levy's view is already set.

There are other respected chess programmers who has other views compared to those David chose to mention in his article and pdf. But there are no signs of those comments.

So his comments and quotes are biased.

Also don't forget Rybka has won lots of tournaments, there are lots of jealous people out there who does not like Rybka's success, but this beside the point.

umpteen_trains's picture

Who takes their wife to computer chess tournament for a honeymoon?? This is like a 17 on the geek scale of 1 to 10.

Mac's picture

All the thumbs up mean .. We all think it's a swell idea ! : )

CAL|Daniel's picture

No, it means, he is correct in that its insanely geeky.

Mac's picture

All the thumbs up mean .. We all think it's a swell idea ! : )

Delinquncy's picture

No, only patents can protect ideas, not copyright.

tanc's picture

Thank you for the clarification, Delinquncy!

Tobias's picture

Patents don't protect ideas. Patents protect "the physical embodiment of and idea". You cannot patent an idea or computer code. Computer code is in fact protected under copyright.

Zeblakob's picture

Thanks Inkly and BB,

That's the first time when I read about such work. It is great to see people whose main goal is just to look for the truth.

tanc's picture

Can someone pls clarify for me as I'm not certain of the legalities of this.

I understand that the GPL licence forbids people from stealing another person's software for incorporation into a closed, commercial-only product.

But does the GPL license extend to using someone else's ideas (from looking at the source) - eg. the code algorithm/structure and incorporating it into a commercial-only product?

Inkly's picture

There is more work on Fruit and Rybka available, including direct disassembly of Rybka code elements, done by some guy who just calls himself BB.

Zeblakob's picture

Do you work at Microsoft company?

Septimus's picture

If he does work for Microsoft, you can probably mate his program in 2 moves...

Zeblakob's picture

lol, agree.

snoopy's picture

Hello Zeb!

bobo223's picture

i can build a clone engine as strong as houdini in about 20 minutes... anyone interested... :)

kingliveson's picture

Authors of this article need to include pdf link (http://www.open-chess.org/viewtopic.php?f=5&t=1104) posted by Inkly which is a technical document detailing similarities, and possible code copy between Rybka and Fruit.

Also, Zach Wegner's work in PDF format is available here: http://www.open-chess.org/viewtopic.php?p=6973#p6973 note: un-updated Avast might complain about this link.


home's picture

As we here trying to clone hacker does the ICGA is a non-prestigious one, it's time to change their president.

vieve's picture

The ICGA is a non prestige, always talebearer engines and things like that, how you can tell that the engines are clones if you have no staff or budget to afford a simple forum? where are your programmers?

It's time to change their president by someone more serious and effective.

MyBBboar's picture

it is ironic how Rajlich claims that almost everybody is cloning Rybka while Rybka is a clone itself, it is like he is saying "I was the first to clone, it was my idea! nobody has the right to do it as well"...and then you think about the money he made of Letouzey's work, something needs to be done...

“The liar's punishment is not in the least that he is not believed, but that he cannot believe anyone else.” George Bernard Shaw.

EmilVlasak's picture

Hello, David!

And why didn't you write about List case (Graz 2003)?
As I remember the student Fritze Reul was disqualified without any proof.


home's picture

Apparently it is customary for other descalficar ICGA without proof, or otherwise respond david: ICGA was the case Langer source code? or see the source code of this SquarknII? to check if they are clones or was based only on assumptions or comments? because in the web links which put the cases not mentioned in any time that the ICGA is seen only source code that "Someone told me"
David hope enlighten us ......

Delinquncy's picture

When LION 1.5++ was disqualified (2006), they had two independent outsiders determine it was Fruit code (Letouzey) by comparing the source.

Ruben's picture

When I read MyBBboar comment I must say that I feel the same.
People that do not trust others are likely themselfs not to be trust.
“I was the first to clone, it was my idea! nobody has the right to do it as well”…
Haha thats the nail on the head.
I have strongly the feeling that in Rybka parts of Fruit where used when I read the post here. The questtion is how much is used?
And is this illigal or not? Is this not Inovation if the programs becomes stronger that way? Fruit was thus beaten by Rybka so it became stronger than the original.
Why Fruit itself could not have the same results if it is a full clone?
In this I also agree with calvin amari comment.
"there seems to be nontechnical evidence to the contrary (differences in strength, style, evaluation scores, etc.) "
When the " new" or improved program is stronger. Is it then the same program?
Is it cloning or inovation? Are they not useing ( stealing) all form each other?

No_body's picture

Rajlich also warped his output (nodes and depth), while claiming his public suspicions that others (Shredder, Junior, Hiarcs, the big 3) "might" be doing the same. He also said "every aspiring computer chess programmer has been very strongly tempted to try his hand at disassembling. When I started computer chess, Shredder was the king. We all wanted to know what he was doing." So the history could be more.

Harvey Williamson's picture
chandler's picture

Harvey, wow! I actually read most it (and obviously didn't understand it all). But the Knights PST made the most impact on me; and then the useless piece of code for UCI. Impressive research by you and Zach.

I do hope that this arouses sufficient suspicion to call for further investigation, and that Levy (and others) decide to pursue this more aggressively. I'm sure that with guys like you, volunteers won't be found wanting.

(Since Rybka is sold by Chessbase, I wonder if anyone's contacted them for any comments?)

David Levy's picture

Thanks to all of you who have thus far shown an interest in this matter. There are too many comments for me to reply to every one, so I hope that the following will deal with most of your comments.

First the question of Herr Langer in Portoroz. One posting says:

"Apparently it is customary for other descalficar ICGA without proof, or otherwise respond david: ICGA was the case Langer source code?"

As my article points out, Herr Langer confessed to having copied Richard Lang's program, when it was pointed out to him that Richard Lang's program had a bug that was reproduced exactly in "Langer's" program. When the accused confesses, backed up by evidence such as this, there is no real need to examine source code.

The main point I would like to make right now is that the ICGA is in the process of setting up a tribunal in which chess programmers will be able to discuss allegations of cloning and whatever evidence is available to support or disprove such allegations. The ICGA will be strongly guided by this tribunal in its decisions as to the truth or otherwise of such allegations, and in its decisions as to what sanctions if any should be imposed on those found by the tribunal to have cloned the programs of others. This tribunal will thus be a kind of court, in which anyone accused of cloning will be judged by their peers. If any of you can find anything wrong in this approach please say so.

Finally, I would like to comment on the suggestion that my mind is already made up in the case of the Rybka-Fruit issue.

What I have said is that I believe the evidence presented thus far against Vaskik Rajlich is rather compelling in its volume and nature. This is quite a natural reaction when the vast majority of evidence presented in this discussion had been on the "prosecution" side. Although Vasik Rajlich has replied to some of his accusers, he has not yet, I believe, presented a substantive case for his defence. He will, as part of the process and regulations of the tribunal, be invited to present whatever evidence and arguments he wishes. All of the tribunal discussions will be conducted with the real names of those posting on the tribunal's forum - no anonymity allowed - so no-one will be able to hide behind the cloak of a handle. It is my belief that in this way Vasik will receive a fair hearing from his peers, and that his peers will, in the end, be able to make a fair and balanced judgment on the case.

As to the question of accusations against other chess programs, they will also form part of the tribunal's deliberations, which will be conducted on a case-by-case basis.

The ICGA has already received two offers to host the tribunal's forum, and a decision is likely to be taken in the next few days as to which offer will be taken up. I shall post further information about the forum during this week.

David Levy

free's picture

Hi David and Friends of the Forum.

That I have answered the question of mechanisms to detect clones ICGA, in fact it is just as well be done, and if the same offender Langer confessed his guilt, but what about the Hacker, Mr. Espin and the so SquarknII? ICGA examine the source code SquarknII to determine that it was just a clone or was based on conjecture?
That use the ICGA mechanisms to detect fraud in this case?

If the ICGA is in the process now of preparing a court to identify clones, which the committee used to detect the clone in the case Espin?

I think the answers to these questions will allow us to have a larger vision of how the clones is ICGA and a committee can develop mechanisms for detection of clones.

qQQp's picture

This discussion is ignoring a key difference: Cases like Langer and Espin belong to a totally different category than the alleged “Rybka case”, which is not even a case.

The first two are cheaters who have been caught. They did not have the time, the talent or neither to write their own program, so they stole one. In this case the position of the ICGA is agreeable.

The alleged “Rybka case” is based on accusations made by someone who doesn’t even have access to Rybka’s source code. Nobody is proving anything. The author admits to have used ideas from other programs, not just Fruit, because that’s how it works. Nobody is the author of all his scientific ideas, except maybe Pythagoras. He is a successful author who has done an outstanding work. He probably reads everything published in his area and implements what he likes in his program. That is a far from trivial task since the same idea works differently in different environments, as anyone who writes game playing programs knows. And after all, he wrote the strongest program. That should be worth some respect.

I fear a high risk of this becoming a witch hunt. A lot of people who don’t know much about game programming may be making accusations without evidence just for a minute of fame.

The ICGA should be very cautious before taking actions. Grouping these three cases is probably not the best example.

free's picture

Langer mention the case and the case Espin is necessary, as David did mention it to them, and as we have discussed in the forums, have not seen that ICGA Legal procedures have been used to detect the clone of the Famous Hacker Espin .. .......

And if you need outside help ICGA of us who are engineers and we can help is necessary to demonstrate the transparency of the ICGA to address critical issues such as the detection of other clones.
So my question what mechanisms community programming or use the ICGA used to detect if the motor cloned Spin? and techniques that account at this time to detect cloned engines?


Delinquncy's picture

"A lot of people who don’t know much about game programming may be making accusations without evidence just for a minute of fame."

Yes, a 20+ page technical document minutely detailing 6 critical points of plagiarism of large swathes of Fruit, and possibly direct code theft, complete with full references to places in the Rybka.exe, compiled painstakingly over a multi-year period from a number of different independent workers (Fadden, Wegner, BB+, Osipov, kingliveson). Sure looks like an amateurish job without evidence if you ask me. Do you think Lefler, who wrote Zillions, knows nothing about game programming?
Rajlich's line has always been "If there are some good concrete questions from credible people, please send them along" (see Schüle correspondence), but then it seems nothing is "concrete" or "credible" enough for him to answer, so he ducks and dodges anything direct. Well, the ICGA just made it "serious", and we will finally see his response. If he has a legitimate defense, more power to him, but if he tries instead to curry the favor of Rybka fanboys in a public opinion court via tangential nonsense rather than frontally address any serious allegations, he'll end up burned.

Harvey Williamson's picture

If you are meaning me please refer to any(serious) anti rybka posts I have made(I do not include my famous Fish recipes :-) ). However we are only the organisers of the forum - all members will have a say.

It would also be nice if people want to receive a full reply here gave their full name.

free's picture

The ICGA has no future with this committee, but was able to deal with other cases of cloning will be able to now? that reputation can have an organization whose president was involved in gossip blogs all over the Internet and begging money and programmers? David first clean the image on the internet and forums and respond openly to endless accusations and doubts of programmers and then go ahead.

I think david should openly answer 10 questions here to prove that the ICGA has not handled the case of cloning.

John's picture

So - you appoint two of the most publicly anti-Rybka people on the planet to this committee. It is easy to see where this is heading. The decision is made already. What a joke.

Expect Chessbase, Mr Rajlich, and Convekta to sue the pants off the ICGA if what I predict comes to pass.

FiFi-NumOne's picture

It's TRUE!!! The "ICGA" wikispaces page has the SAME default flowerpot as the Ippolit wiki!! Zillions of Cahoots are all about us! And Bob Hyatt is ante Houdini too, saying it would be disqualified without thought! Harvey banned everything but Rybka from PlayChess! Mark Lefler cofounded Zillions and chessprogramming wiki, which used to have a flower pot, so Team Anand is out to shut down Rybka! I like exclamation points!!

Seriously, Bob, Mark, and Harvey are all quite good choices for a secretariat, as they have been involved with computer chess and clones/detection for quite some time. Bob has moderated TalkChess many times with little complaint (though he still of course expresses his opinions, quite brusquely at times).

PS. ChessBase sponsors the ICGA WCCC many years.

David Levy's picture

The ICGA Clone and Derivative Investigation Panel

By David Levy

I am pleased to be able to announce the establishment of the ICGA Clone and Derivative Investigation Panel. The founding statutes of the panel are appended below. The Secretariat comprises Robert Hyatt, Mark Lefler and Harvey Williamson.

Those chess programmers and others who are interested in joining the panel may apply at www.icga.wikispaces.com We particularly urge all of you who have taken part in past ICGA (and ICCA) events to join the panel so as to give the benefit of your experience to the discussions that will take place there.

The first matter to be investigated by the panel will be the allegations that have been appearing on various web sites and forums, leading to my recent article “Attack of the Clones” that was published on www.chessvibes.com However, the brief of the panel is to examine all allegations of cloning and derivative program creation where a prima facie case has been made and brought to the panel’s attention. This can extend beyond chess, into the realm of the other games contested at the annual Computer Olympiads. In the case of games other than chess appropriate experts will be invited by the ICGA to join the panel.

ICGA Clone and Derivative Investigation Panel

Founding statutes: February 22nd 2011

1 Purpose

The purpose of the Panel shall be to:

[a] Investigate and discuss allegations of cloning or creating a derivative of strategy games programs;

[b] Report to the ICGA as to the veracity or otherwise of such allegations;

[c] Make recommendations to the ICGA as to what action if any should be taken against those found by the Panel to have been guilty of cloning or creating a derivative;

[d] Publish the findings of the Panel.

2 Membership

The Panel shall be open to:

[a] Programmers who have participated in any ICGA or ICCA World Championship
for computer chess or in any Computer Olympiad or in any other computer competitions deemed appropriate by the ICGA.

[b] The office-bearers of the ICGA;

[c] Persons accepted as experts by the ICGA or by a unanimous decision of the Secretariat of the Panel.

Membership may be denied or rescinded to those deemed by the ICGA to have breached the normal ethical bounds expected of members.

Members may only participate under their own name. No anonymous membership or participation in discussions will be permitted.

There shall be no membership fees.

3 Operation of the Panel

[a] The Panel shall conduct its discussions on a Web site forum closed to non-members.

[b] All discussions on the Panel’s web site forum shall be in English.

[c] The Panel’s web site shall be operated and maintained by a person or persons invited by the ICGA to do so.

[d] The day-to-day activities of the Panel shall be managed by a Secretariat of three members of the Panel who shall be invited or approved by the ICGA. The ICGA shall have the right to replace members of the Secretariat at its sole discretion upon giving seven days notice on the forum.

[e] For all general decisions relating to the day-to-day running of the Panel and its forum a majority decision of the Secretariat shall suffice. In any matters deemed by the ICGA to be of an especially crucial or controversial nature the ICGA may overrule a decision of the Secretariat.

[f] Anyone against whom an allegation of cloning or creating a derivative has been made on the forum shall have the right to respond in the forum to each and every posting relating to such allegations, provided that such person is a current member of the forum. In the case of persons who have previously been barred from participating in the forum, for example persons previously found by the Panel to have been guilty of cloning, such persons shall be invited by the Secretariat to present their defence to the Panel as and when the Secretariat feels is appropriate.

[g] The Secretariat shall normally decide when an allegation of cloning or creating a derivative program has been sufficiently investigated and discussed in the forum. At such time the Secretariat shall be responsible for presenting to the ICGA the Panel’s report on the allegations, and on the defence if any offered by those against whom the allegations have been made, and on the findings of the Panel as to the veracity or otherwise of the allegations. The Secretariat’s report to the ICGA shall include its recommendations if any as to what action if any should be taken by the ICGA in respect of sanctions against anyone found by the Panel to have been guilty of cloning or creating a derivative. Before making its decisions the ICGA shall invite the accused to present any comments they might have on the Panel’s findings and recommendations.

[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).

4 General Matters

[a] These statutes may be changed at any time by the ICGA at its sole discretion, upon the giving of 30 days notice in the forum.

[b] The Panel shall be an advisory body of the ICGA. In all matters of dispute the decision of the ICGA shall be final.

* * * * * * *

John's picture

I have my doubts that any current computer chess engine author could be _unbaised_ or _independent_ on this issue. Even worse if they are commercial authors. We would be far better served if the committee had experienced expert programmers totally outside the community, and the decision rested with them, but they would be able to call on on selected RETIRED chess engine authors for advice. I fear this will just turn into a witch-hunt with revenge and jealousy as the motive not justice. So, for justice to be served, and it must be served, we must get a conclusion on this, refer to my comment about expert programmers outside the community.

Sune's picture

Yes it would be best if they were impartial. We can't expect anyone to turn in their sources for scrutiny by their worst competitors. It would be difficult to find anyone outside the community that understands the intricate issues involved though. Try explaining to a judge why engineX is a clone of Fruit but not of Crafty for instance. Legally I think this particular issue suffers from the "too little, too late" syndrome but I do support ICGA attempt to establish some guidelines and procedures for future reference. Next time an engine gets questioned it should be as simple as a yes or no regarding its legal status, for example by checking it against a long "Don't list". Exactly what should be on the Don't list is up for debate I guess, but whatever it is it should turn the grey area into black and white areas. We just can't have a huge debate with every engine, it's a waste of energy and nobody agrees anyway.

Delinquncy's picture

Ed Schroeder, Mark Lefler (author of Zillions), Dann Corbit, even the BB+ guy, all of these are competent and now not actively building their own computer chess engines. Back in 2006, Schaeffer and Bjornsson inspected the Lion++ code. Do you doubt their competence? One solved checkers, the other helped with that and wrote a LOA champion program. There's plenty of guys the ICGA can go to who aren't direct competitors.

Robert Kamerer's picture

This is more like a column for the beleaguered and annoyed-then a studied attempt to getting at the truth of this issue. Which, by the way far exceeds just the Rybka-Fruit issue-just the tip of the iceberg. Remember that was the opening act in this drama in the "Attack of the clones".

Talkchess spent a year battling this issue out with programmers in attendances-

But perhaps the noise surrounding their attempts at reaching some kind of consensus did less to inspire discussion and more to promote confusion.

Mr. Levy seems to have some rapport with the President of FIDE. Perhaps he could convince him to back a fact finding commission of computer chess engine programmers.

Even with the right environment I would imagine these issue would take time to hash out and then be presented for discussion publicly.


Latest articles