Rybka verliest al zijn wereldtitels door plagiaat

RybkaDe bekendste schaakengine en programmeur ter wereld, Rybka en zijn maker Rajlich, zijn door de International Computer Games Association (ICGA) bestraft voor het plagiëren van de engines Crafty en Fruit. Rybka wordt daardoor niet alleen gediskwalificeerd voor deelname aan het wereldkampioenschap, maar verliest de vier wereldtitels die het eerder behaalde. Bovendien is Vasik Rajlich levenslang verbannen om nog deel te nemen aan toernooien van de ICGA.

Het verdict kwam er na een uitvoerig onderzoek naar plagiaat door een speciaal daarvoor opgerichte commissie. Alle bewijsstukken zijn online gepubliceerd door Chessvibes.com…

ICGA legt bom onder wereld der schaakengines

Plagiaat is een hot topic dezer dagen. Universiteiten en Hogescholen klagen steen en been over studenten die, steeds meer blijkbaar, hun toevlucht nemen tot het kopiëren van andermans werk zonder correcte bronvermelding. Ook in middelbare scholen, de muziekindustrie en de computerwereld is plagiaat schering en inslag.

Het nieuws dat Chessvibes vandaag bekend maakte, is dus op zich niet zo verrassend, maar zorgt toch voor een grote schok in de schaakwereld. De sterkste (of sinds kort op één na sterkste) schaakengine ter wereld zou zijn mosterd gehaald hebben bij de minder bekende engines Crafty en Fruit. Na een uitgebreid onderzoek van het speciaal opgerichte ICGA Clone and Derivative Investigation Panel blijkt het plagiaat van die aard te zijn om Rybka uit te sluiten van deelname aan het wereldkampioenschap. Bovendien verliest Rybka zijn eerdere titels en prijzengeld.

De ontwerper van Rybka, Vasik Rajlich, zit in nauwe schoentjes (foto Chessbase)

De ICGA heeft al zijn bewijsstukken openbaar gemaakt. Ze zijn ter download beschikbaar op Chessvibes, waar je ook meer informatie over het voorval kan vinden.

ICGA-voorzitter David Levy maakte het nieuws gisteren bekend in onderstaande brief:

Rybka Disqualified and Banned from World Computer Chess Championships

The International Computer Games Association (ICGA) has been conducting an investigation into allegations that, in the chess program Rybka, the programmer Vasik Rajlich plagiarized two other programs: Crafty and Fruit. The ICGA has considered and evaluated the evidence presented to the investigation panel and the report prepared by the panel’s Secretariat. (The report and evidence files are attached.) We would like to thank those members of the panel who contributed to this investigation and the Secretariat for the enormous amount of conscientious work they have put in to this matter.

By a unanimous 5-0 decision of executive members of the ICGA we find ourselves in agreement with the verdict of the Secretariat’s report. We are convinced that the evidence against Vasik Rajlich is both overwhelming in its volume and beyond reasonable question in its nature. Vasik Rajlich is guilty of plagiarizing the programs Crafty and Fruit, and has violated the ICGA’s tournament rules with respect to the World Computer Chess Championships in the years 2006, 2007, 2008, 2009 and 2010. Specifically, Vasik Rajlich, on all five occasions, violated Tournament Rule 2 which requires that:
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.

By claiming other programmers’ work as his own, and failing to comply with the abovementioned rule, Vasik Rajlich has unfairly been awarded one shared 2nd-3rd place (in 2006) and four World Computer Chess Championship titles (in 2007, 2008, 2009 and 2010). Furthermore, it seems to the ICGA that Vasik Rajlich clearly knew that he was in the wrong in doing so, since he has repeatedly denied plagiarizing the work of other programmers.

The ICGA regards Vasik Rajlich’s violation of the abovementioned rule as the most serious offence that a chess programmer and ICGA member can commit with respect to his peers and to the ICGA. During the course of the investigation and upon presentation of the Secretariat’s report Vasik Rajlich did not offer, despite repeated invitations from the ICGA to do so, any kind of defence to the allegations, or to the evidence, or to the Secretariat’s report, other than to claim in an e-mail to myself on May 13th 2011 that:

Rybka has does not “include game-playing code written by others”, aside from standard exceptions which wouldn’t count as ‘game-playing’.

The vague phrase “derived from game-playing code written by others” also does not in my view apply to Rybka.
The ICGA is of the view that such a serious offence deserves to be met with correspondingly serious sanctions against the perpetrator. In deciding on appropriate sanctions the ICGA has borne in mind the approach of the International Olympic Committee for dealing with the most serious cases of the violations of its rules.

The ICGA has therefore decided as follows:
Vasik Rajlich is hereby disqualified from the World Computer Chess Championships (WCCC) of 2006, 2007, 2008, 2009 and 2010. The 2nd-3rd place awarded to the program called “Rajlich” in the 2006 WCCC is hereby annulled, sole 2nd place is awarded to the program Shredder, and 3rd place in that event is awarded to the program Zappa.
The 1st places and World Computer Chess Champion titles awarded to the program Rybka in the 2007, 2008, 2009 and 2010 WCCCs are hereby annulled, and all the other programs that competed in those events are moved up in the final tournament standings by one place. Thus the revised tournament standings and titles for those events will now be as follows.
2007
1st Zappa (World Champion)
2nd Loop
=3rd GridChess
=3rd Shredder
2008
1st Hiarcs (World Champion)
2nd Junior
3rd Cluster Toga
2009
=1st Junior (Joint World Champion)
=1st Shredder (Joint World Champion)
=1st Deep Sjeng (Joint World Champion)
2010
=1st Rondo (Joint World Champion)
=1st Thinker (Joint World Champion)
3rd Shredder

In due course those programmers whose programs have been elevated to World Champion (or joint World Champion) status will receive from the ICGA replicas of the Shannon trophy for the appropriate years.
The plaques on the Shannon trophy that currently bear the name Rybka (for the years 2007-2010) will be removed from the trophy and new plaques will be engraved with the names of the revised winners of the title. Similarly, the titles of World Computer Speed (Blitz) Chess Champion that were awarded to Rybka in 2009 and 2010 are hereby annulled. The revised winners of the speed chess title for those years are therefore:
2009 Shredder
2010 Jonny and Shredder (joint champions)

Vasik Rajlich is banned for life from competing in the World Computer Chess Championship or any other event organized by or sanctioned by the ICGA.

The ICGA demands that Vasik Rajlich return to the ICGA the four replicas of the Shannon Trophy presented at the World Computer Chess Championships in 2007, 2008, 2009 and 2010, and to return to the ICGA all prize money awarded for Rybka’s performances in those events.

David Levy [President – ICGA]
June 28th 2011″

  1. Valery
    Valery29-06-2011

    Al meer dan drie jaar doen er geruchten de ronde in de computerschaakwereld dat Rybka is afgeleid van Fruit. Een tijdje nadat Fruit open source werd begon Rybka aan zijn opmars. Vasik Rajlich heeft echter altijd stellig ontkend dat Rybka een kloon was.
    Hans Secelle, Belgisch schaker en programmeur van een eigen schaakengine BIONIC, is eigenlijk de man die ons deskundige uitleg kan geven en dat ook prettig leest 🙂

  2. Emanuel Nieto
    Emanuel Nieto29-06-2011

    …maar ondertussen is het geld reeds binnen!

  3. Patrick
    Patrick29-06-2011

    probleem is dat alle top engines dingen bij elkaar zijn gaan halen , alleen hadden ze er iets tegen dat hij geen “credits” gaf , zo een beetje als kinderen van 5 jaar as ge het mij vraagt “hij heeft geen danku gezegd voor zijn snoepje! ” booeehoooee

    dingen nemen en die verbeteren , zo werkt vooruitgang altijd ! , get over it

    hetgeen dit nu geeft is dat een engine kampioen wordt waarvan iedeeen weet dat hij niet in de top 5 hoort , hmmmmm klinkt bekend , FIDEheeft dat ook al gedaan , kazim for champ enzo 🙂

  4. brabo
    brabo29-06-2011

    @Patrick,

    De vergelijking met het snoepje gaat niet op omdat er hier heel wat geld op spel stond.
    Als Vasik Rajlich van bij de start credit had gegeven aan Fruit dan had hij hoogstwaarschijnlijk uitgesloten geweest voor het wk computers daar 1 van de voorwaarden is dat er voldoende eigen inbreng aan het programma moet zijn om mee te mogen dingen voor de titel. Een wk titel brengt heel wat exta verkoop en royalties mee dus Vasik Rajlich had er alle belang bij om dit te verbergen.

    Jammer dat dit nu pas beslist is want zoals Emmanuel Nieto zei, is het geld wel binnen voor Vasik Rajlich en worden de gedupeerde programmeurs niet meer vergoed.

    Ik vond het zelf ook altijd erg verdacht dat iemands programma in zo korte tijd en toevallig 6 maanden nadat Fruit zijn code openstelde zo sterk werd. Nu ik ging altijd van het principe uit dat men onschuldig is tot het tegendeel bewezen is wat nu gebeurd is.

  5. STIJN D
    STIJN D29-06-2011

    Ik blijf toch met de vraag zitten waarom Rybka en niet Fruit wereldkampioen is geworden… hij moet dan toch iets goed hebben gedaan of op z’n minst veranderd hebben?

  6. brabo
    brabo29-06-2011

    Het sterkste programma is niet perse de wereldkampioen. Er zijn bijkomende regelmenten zoals bijvoorbeeld in wielrennen waar geen doping mag gebruikt worden om de sterkste renner en wereldkampioen te worden. Sommigen vinden dat doping moet kunnen om echt de sterkst mogelijke renners en wereldkampioen te verkrijgen maar dat is nog altijd een heel kleine minderheid.

  7. Goendi
    Goendi29-06-2011

    Dit kan wel verstrekkende gevolgen hebben. Mensen die Rybka aankochten, en diegenen die het verkochten, kunnen hiermee een schadevergoeding eisen, en hun geld terugvragen.

  8. Theo
    Theo29-06-2011

    Ja lap, de schaakschandaalpers Chessvibes heeft weer wat uitgevist… 😉

  9. Goe bezig manne
    Goe bezig manne29-06-2011

    @Goendi: geld terugkrijgen acht ik weinig waarschijnlijk (was die wereldtitel essentieel voor al die aankopen?) Wat wel zou moeten lukken is Rajlich te verplichten van de source code erbij te moeten leveren (fruit gebruikt de GPL license en als rybka daar een evolutie van is dan valt die ook onder diezelfde licentie 🙂 )

  10. Patrick
    Patrick29-06-2011

    @stijnD e.a

    heb het verhaal een beetje van kortbij gevolgd toen rybka 3 in ontwikkeling was , en er is wel degelijk een grote toevoeging (en meer dan dat) geweest toen , want rybka was idd héél wat sterker , ook oa Larry Kaufman heeft er toen een hoop wiskundig werk ingestoken

    ben er trouwens voorstander van dat iedereen zijn code openstelt , en iedereen mag afkijken , dan komt de beste vanzelf boven …
    want ik denk wat hier vooral in meespeelt is een héél stuk jaloezie (plots 14 programmeurs die verontwaardigd zijn??? )

  11. Ruben
    Ruben30-06-2011

    Ik heb de details van de technische bijlagen op chessvibes gelezen. De bewijsvoering is overduidelijk: de zettengenerator van Crafty en de evaluatiefunctie van Fruit zijn zonder meer gekopieerd in Rybka v 1.0 beta. Tot Rybka versie 2.3.2 zitten die stukken code er duidelijk in. Nadien worden die stukken meer en meer vervangen door eigen(?) code.
    Zowel Crafty als Fruit 2.1 hebben een GPL software licentie. Dit houdt in dat men de code van Crafty en Fruit mag gebruiken op voorwaarde dat de maker van Rybka moet vermelden dat zijn werk afgeleid van Crafty and Fruit en dat hij de volledige source code van Rybka gratis ter beschikking moet stellen. Dit is niet gebeurd en zal zeker nog een staartje krijgen

  12. Wouter G
    Wouter G30-06-2011

    Komt er van dit soort dingen een proces?
    Of blijft het bij wat gerommel en moddergooien tot het vanzelf uitdooft.

  13. brabo
    brabo30-06-2011

    Een proces vind ik onwaarschijnlijk. Wel zal er wellicht geen nieuwe versie van Rybka meer verschijnen onder Chessbase en zal Rybka voor eeuwig uitgesloten zijn van elk nieuw wk voor computers.

  14. RM
    RM30-06-2011

    Op Chessbase staat er niets over deze zaak. Rybka wordt in de CB shop nog steeds verkocht als wereldkampioen. Boerenbedrog!

  15. stefant
    stefant30-06-2011

    Ik vermoed dat veel programma’s door het vrijgeven van de code, in min of meerder mate copies zijn van elkaar. Wie kan nu immers van vandaag op morgen immers zomaar los uit de mouw code schrijven van 3000 ELO ? Je moest eens weten hoe lang het ontwikkelen van DeepThought/DeepBlue in beslag heeft genomen. Ik schat dat 80 à 90% clonen zijn.
    Van crafty weten we dat het een pionier engine is… en uit de mainframe wereld stamt… van velen weten we de herkomst niet eens. Het begint veel weg te hebben van het wielrennen …
    Het laatste woord is hierin zeker nog niet gevallen.
    Och wij mensen, zijn al lang passé, voor mij moet zo een programma ingebed zijn in een nice skin, een grafische interface met een geintegreerde database , een analyse engine , … Standaarden in die dingen zijn er gekomen. Winboard engines of UCI engines, Aquarium of Chessbase of Arena., PGN, … Zo slecht varen we niet met de evolutie maar de race naar de hemel zal tot de toren van Babel (Babylon) leiden…

  16. brabo
    brabo30-06-2011

    Op Chessvibes en andere schaaksites/forums werd ook al een veeg uit de pan gegeven naar Chessbase die nog steeds geen enkele communicatie erover geeft en duidelijk nog geen standpunt en strategie heeft gekozen.
    Chessbase zit nu in een moeilijk parket met hun vlaggeschip Rybka dus ze zullen het wel eerst laten uitpluizen door juristen.

  17. Johan L'Ami
    Johan L'Ami01-07-2011

    Chessbase zou een simpel berichtje met een paar linken kunnen zetten. Iets in de trant van: “Rybka has been alleged of plagiarism, and is currently being stripped of its world titles, even though it was clearly the strongest program at the championship. Ofcourse, this puts us in a difficult situation, and we are currently looking for the right way to follow this up. Expect an update to follow soon!”

    Eerlijk en simpel. Mensen die het sterke programma willen kunnen het nog kopen, mensen die effectief de wereldkampioen willen kunnen een ander kopen. En je kan zonder gewetensbezwaren nog een week nadenken over je strategie.

  18. Peter
    Peter01-07-2011

    Ik ben toch enigszins verbolgen over de reactie van Patrick in puntje 3. Alsof het zou gaan om jaloezie en kinderachtig gedrag.

    Excuseer, maar Rybka heeft op basis van die titel waanzinnig veel geld opgeleverd en van dat geld heeft Crafty en Fruit niets overgehouden, terwijl hun basis cruciaal blijkt te zijn in de ontwikkeling van Rybka. Bovendien heeft Rybka de regels daarrond ook nog eens geschonden met als hoofddoel geldgewin (want als het de regels correct had gevolgd, had het Rybka Open Source moeten aanbieden).

    Dat is simpelweg diefstal. Dat is zoals een onderzoeker die massa’s geld verdient met een onderzoek dat eigenlijk (voor een deel) door iemand anders is geschreven.

  19. Ruben
    Ruben01-07-2011

    @Brabo. Dan denk je waarschijnlijk verkeerd. De FSF, de waakhond van de GPL, kan absoluut niet lachen met een schending van de GPL licentie en heeft al verschillende rechtszaken gestart tegen grote bedrijven (waaronder Apple). Meestal wordt dit in der minne geregeld en schikt de schender zich voor het tot een proces komt. Dat Fabien Letouzey, de auteur van Fruit, vanaf versie 2.2 naar een closed source versie is gegaan om het clonen te verhinderen, is een indicatie dat hij er niet licht zal overgaan en dat hij de FSF kan vragen een proces aan te spannen

  20. brabo
    brabo01-07-2011

    @Ruben.
    Rybka of neem nu zelfs Chessbase is toch klein bier in vergelijking met de grote software bedrijven. Daarnaast, hoe bepaal je de schadevergoeding in dit geval want Fruit noch Crafty waren commerciele producten? Wie moet wie vervolgen en hoe stel je de opgelopen schade op? Tenslotte heeft Rybka altijd gezegd dat het bepaalde ideeen overgenomen heeft. Rybka zal zonder twijfel schermen met dit statement om bepaalde feiten in de schemerzone te laten verdwijnen. Ik twijfel niet dat Vasik Rajlich zich schuldig heeft gemaakt aan illegaal copieren maar is het volume voldoende om zware financiele boeten te kunnen opleggen en de kosten van een langdurig internationaal proces op te starten? Ik weet het niet en wellicht wordt er nu serieus afgewogen achter de schermen.

  21. JASE
    JASE01-07-2011

    Ik sluit me aan bij reactie 5: hoeveel lijnen code de schrijver van Rybka gekopieerd heeft is niet zo relevant, het punt is dat hij iets gemaakt heeft dat een stuk beter was dan de overige programma’s, om het in patenttaal te verwoorden: hij heeft gebruik gemaakt van beschikbare kennis en heeft daar een significant vernieuwende stap in gezet.
    Natuurlijk moet je de bronnen vermelden, en als je deelneemt aan een tornooi waar men dit zeer duidelijk in de regels zet, dan kan je wel problemen verwachten, maar feit is dat Rybka toch wel de schaakwereld een boost gegeven heeft. Weg met de discussie of Fritz of Shredder nu beter was in deze of gene stellling, Rybka was gewoon beter dan gelijk welke engine.

    Ik begrijp niet goed dat men boos is dat men Crafty kopieert. Als ik me het goed herinner, is Crafty geschreven door een professor die als doel heeft een goede basis voor een schaakprogramma publiek te maken en daar jarenlang in nieuwsgroepen over wou in discussie gaan. Ik heb nog jaren geleden een discussie aangegaan met Hyatt en heb zeer leerrijken antwoorden gekregen.

  22. Peter
    Peter01-07-2011

    JASE, ik herhaal mezelf:

    “Ik ben toch enigszins verbolgen over de reactie van Patrick in puntje 3 en nu dus ook JASE’s reactie. Alsof het zou gaan om jaloezie en kinderachtig gedrag. En alsof het zou gaan om een vooruitgang van Rybka uit. Het gaat hier om het gigantische geldgewin op kop van niet-commerciele zaken.

    Rybka heeft op basis van die titel waanzinnig veel geld opgeleverd en van dat geld heeft Crafty en Fruit niets overgehouden, terwijl hun basis cruciaal blijkt te zijn in de ontwikkeling van Rybka. Bovendien heeft Rybka de regels daarrond ook nog eens geschonden met als hoofddoel geldgewin (want als het de regels correct had gevolgd, had het Rybka Open Source moeten aanbieden).

    Dat is simpelweg diefstal. Dat is zoals een onderzoeker die massa’s geld verdient met een onderzoek dat eigenlijk (voor een deel) door iemand anders is geschreven.”

  23. steff
    steff01-07-2011

    Als grote fan van free software vind ik sommige reacties hier toch ook vreemd, specifiek die van Peter (18).

    Eerst en vooral: Als iemand Rybka heeft gekocht omdat die het wereldkampioenschap heeft gewonnen, moet die zich niet bekocht voelen. Als je Rybka daarentegen hebt gekocht omdat het de titel wereldkampioen heeft gekregen, dan heb je recht van klagen.

    Van “diefstal” tov Crafty en Fruit kan je ook niet spreken. Die code werd vrijgegeven om te gebruiken, daar stond geen financiële vergoeding tegenover.

    Bij “Free Software” programma’s is er de beperking dat de afgeleide software over (minstens) dezelfde vrijheden moet beschikken als het oorspronkelijke product, wat betekent dat je de broncode ook open moet stellen, maar financiële vergoedingen zijn er nooit.

    Bij “Open Source Software” is die beperking er echter niet: daarmee mag je letterlijk doen wat je wil. Crafty valt hieronder, en ik denk Fruit ook, al geven ze het niet duidelijk aan op hun website.

    Het enige waar de auteur zich dus aan heeft bezondigd (als ik me niet vergis) is het overtreden van het technische reglement van het wereldkampioenschap computerschaak. Maar het was wel degelijk het sterkste programma!

    (“doen wat je wil” is niet helemaal correct: copyrights mag je nooit strippen, maar die werden ook altijd vermeld, dacht ik. Er werd enkel beweerd dat de “gameplaying code” zelfgeschreven was; en hier weet ik dan weer niet of iets als zetten genereren onder die categorie valt of niet)

    Meer info over deze softwarelicenties op http://nl.wikipedia.org/wiki/Vrije_software.

    Ik heb een paar keer “denk ik” vermeld, ik ben me dus niet uitvoerig gaan informeren. sorry voor eventuele foute feiten, ik lees het graag als ik mis was.

  24. Jan Lagrain
    Jan Lagrain04-07-2011

    Dag Steff,

    Ik heb zelf ook een vrij degelijke kennis van Open Source software en CC-licenties ed. Schaakfabriek.be heeft zelf bv. een CC-licentie gehad, wat wil zeggen dat al mijn werk gekopieerd mag worden mét correcte bronvermelding (dwz een link naar mijn site) én voor niet-commercieel gebruik. Ook al staat het CC-logo niet meer op de vernieuwde layout, ik hanteer nog steeds hetzelfde principe. Maar als er nu een journalist stukken uit mijn artikels overneemt en die onder zijn naam in bv. Knack publiceert (en daar dus geld aan verdient), dan ben ik het daar natuurlijk helemaal niét mee eens! Het is bovendien in strijd met de licentie die ik hanteer en dus onwettelijk.

    En ik denk dat dit principe ook terugkomt in het Rybka-verhaal(maar het is ook: ik denk). Dat een Open Source programma als Crafty en Fruit niet in hun regels hebben staan dat iemand anders geld mag verdienen door hun codes zonder bronvermelding (want dit is niét gebeurd) over te nemen en aan te passen. In principe is die code open voor niet-commercieel gebruik, maar Rybka is natuurlijk wél commercieel uitgebracht.

    Ik denk dus niet dat het probleem hem zit in het overnemen van stukjes code, maar wel in
    1) Dat dit zonder correcte bronvermelding is gebeurd, wat belangrijk is, aangezien Rajlich in het verleden in interviews altijd heeft aangegeven dat het zijn eigen werk is. In dat geval is het duidelijk plagiaat.
    2) Dat Rybka commercieel succes geboekt heeft door die codes over te nemen. Meer zelfs: door erover te liegen, heeft Rybka zichzelf via Chessbase kunnen commercialiseren.

    Ik zeg opnieuw, net zoals jij, het is een “ik denk”, maar ik ben er toch vrij zeker van ;-). In die optiek is Peters post niet zo vreemd.

  25. steff
    steff04-07-2011

    Er zijn veel versies (met allemaal eigen nuances) van de “free” en “open” licenties. De Creative Commons ken ik zelf helemaal niet, maar ik denk dat het “commercieel gebruik” zich beperkt tot die versie.

    Wat bijvoorbeeld perfect mag volgens de GPL, de moeder van alle free software licenties, is dat ik een bestaand programma doorverkoop, zelfs zonder het te wijzigen:

    “You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.”

    Dat gezegd zijnde was het wel eens tijd om de licentie van Crafty zelf uit te vlooien. Die is behoorlijk restrictief vergeleken met andere Open Source licenties:

    ====
    All rights reserved. No part of this program may be reproduced in any
    form or by any means, for other than your personal use, without the
    express written permission of the authors. This program may not be
    used in whole, nor in part, to enter any computer chess competition
    without written permission from the authors. Such permission will
    include the requirement that the program be entered under the name
    “Crafty” so that the program’s ancestry will be known.

    Copies of the source must contain the original copyright notice
    intact.

    Any changes made to this software must also be made public to comply
    with the original intent of this software distribution project. These
    restrictions apply whether the distribution is being done for free or
    as part or all of a commercial product. The authors retain sole
    ownership and copyright on this program except for ‘personal use’
    explained below.
    ====

    Dus Rybka was wel degelijk in overtreding met deze voorwaarden (als de conclusie van de commissie juist was, maar dat lijkt niet echt ter discussie te staan).

  26. Goe bezig manne
    Goe bezig manne05-07-2011

    Aangezien ik beroepshalve ook wel onbekende programma’s analyseer heb ik het gepresenteerde bewijsmateriaal ook doorgenomen.

    Eerst de makkelijke conclusies: het leidt geen twijfel dat Rybka de aanpak van Crafty en Fruit heeft overgenomen, maar ik ben er minder zeker van dat het aangeleverde materiaal echt bewijst dat er ook effectief code is overgenomen.

    De reden waarom Rybka sterker speelt dan Fruit wordt een aantal keer vermeld: Rybka gebruikt verbeterde weegfactoren en de optimalisatie techniek waarbij vooraf tabellen worden berekend i.p.v. tijdens het spel die berekeningen te doen. Je zou die techniek kunnen vergelijken met het berekenen van een vermenigvuldiging (Fruit) t.o.v. het opzoeken van het product in een tabel (Rybka) Resultaat van die optimalisatie is dat Rybka minder tijd nodig heeft per evaluatie en dus in dezelfde tijd meer evaluaties kan uitvoeren en daardoor dus automatisch sterker speelt. Gebruik van de code van Fruit om vooraf die resultaten te berekenen en zo een tabel op te bouwen valt onder legitiem gebruik van de GPL (de toenmalige licentie van Fruit)

    Verder: de interne structuur die door Rybka gebruikt wordt is anders dan die in Fruit. Dat betekent dat zowat alle code die raakt aan posities van stukken op het bord ook anders is. Dat betekent concreet dat zomaar inpluggen van de Fruit code vies tegenvalt.

    De aangehaalde stukken code die als “bewijs” voor plagiaat moeten dienen, zijn heel betwistbaar als bewijs. De disassembly van Rybka kan je niet zomaar vertalen naar originele broncode: je kan alleen maar broncode bedenken die hetzelfde doet, maar daar zit een behoorlijk stuk vrijheid in van degene die de source code bedenkt. Bekijk bv. maar dit stukje assembler:

    MOV 1234(EBP),EAX
    MOV 456(EBP),EBX
    ADD EAX,EBX
    MOV EAX,1234(EBP)

    Dit zou je kunnen vertalen naar C:

    Temp = Tussen_evaluatie;
    Temp = Temp + Bonus_pionnen;
    Tussen_evaluatie = Temp;

    maar ook:

    Tussen_evaluatie += Bonus_pionnen;

    (voor de niet-programmeurs: beide stukken bron code doen hetzelfde)

    Kortom, gegeven assembler code kan op een aantal verschillende manieren naar C worden hervormd die allemaal hetzelfde werk doen, maar je kan niet zeggen dat de code noodzakelijkerwijze van bepaalde code afkomstig moet zijn (en dus plagiaat zou zijn)

    Dat in het geval van Rybka zoveel stukken code lijken overeen te komen met Fruit functionaliteit kan bv. ook verklaard worden dat de Rybka programmeur zich heeft laten inspireren door de Fruit code en die zo getrouw mogelijk heeft nagemaakt (inclusief de fouten in het origineel als hij die code onvoldoende begreep: gezien de enorme sprong in sterkte van Rybka in die periode lijkt het niet onwaarschijnlijk dat de programmeur niet alle finesses van Fruit begreep)

    In de praktijk is het ook zo dat eenzelfde algoritme door verschillende programmeurs typisch wordt geschreven als code die redelijk sterk op elkaar gelijkt. Concreet: als je ziet welke regels Fruit gebruikt om iets te berekenen, dan zullen de meeste programmeurs sterk gelijkende code schrijven om hetzelfde te doen: het idee is dan wel gestolen, de code niet, en dat laatste is wat telt i.v.m. copyright.

    Om het nog ingewikkelder te maken, er bestaan meerdere programma’s die C broncode vertalen naar machinetaal. Dat betekent dat als je van dezelfde code vertrekt, je toch verschillende programma’s krijgt (beetje te vergelijken met twee personen vragen om dezelfde tekst van het Nederlands naar het Engels te vertalen: de resultaten zullen wel hetzelfde betekenen, maar de vertaling zal waarschijnlijk lichtjes verschillend zijn)

    In het geval van Rybka kan je eigenlijk alleen met zekerheid stellen dat de organisatie van de computerschaak kampioenschappen geoordeeld heeft dat Rybka hun regels overtreden heeft. Je kan niet met zekerheid stellen dat effectief code overgenomen is zonder de nodige credit te geven.

Geef een reactie