Schach-Software Rybka Programmierer vermuten Intelligenzklau

Auch die Computerschachszene hat ihren Copy-and-Paste-Skandal. Am Pranger steht Vasik Rajlich, Entwickler von Rybka, dem seit vier Jahren stärksten Schachprogramm der Welt. Rybka soll, so nun der Vorwurf, auf abgekupfertem Programmcode basieren. Kopiert wird in der Szene durchaus häufiger.

Von

Matter geht's kaum: Schach-Programmierer streiten, wer alles von wem abgekupfert hat
AP

Matter geht's kaum: Schach-Programmierer streiten, wer alles von wem abgekupfert hat


Das Computerschachprogramm Rybka, das seit vier Jahren als stärkstes Programm der Welt galt und seit 2007 viermal in Folge die Computerschach-Weltmeisterschaft für sich entschied, soll auf einer Engine basieren, die zumindest in Teilen auf abgekupfertem Programmcode besteht. Das zumindest behauptet der Programmierer eben dieses Codes, Fabien Letouzey, in einem Brief, den dreizehn weitere international renommierte Experten und Computerschach-Programmierer unterzeichnet haben. Der Brief ist als Beschwerde an die International Computer Games Association ICGA gerichtet, die die Computerschach-WM ausrichtet.

Diehitzige Debatte um die angeblich ziemlich verbreitete Kopier-Manier gleicht mittlerweile einem Glaubenskrieg, in dem sich Experten in zum Teil wechselnden Allianzen gegenseitig Vorwürfe machen oder aber das Vertrauen aussprechen. Das bizarre Hickhack wirft ein Schlaglicht auf eine Szene, in der heute selbst minimale Qualitätsunterschiede mitunter für lange Zeit über Ranglistenpositionen entscheiden und die echten Innovationsfortschritte immer schwerer zu erreichen sind.

Letouzey behauptet in seinem Beschwerdebrief, dass der Programmierer Vasik Rajlich seit der Rybka-Version 1.0 Beta (2005) Teile der von ihm entwickelten Schachengine Fruit übernommen habe. Zu diesem Zeitpunkt galt Fruit 2.1 als eine der stärksten Engines der Welt, Vorversionen von Rybka hingegen waren nicht positiv aufgefallen. Mit der Programmversion 1.0 Beta änderte sich das abrupt: Rybka zeigte eine enorme Spielstärke, die von den Entwicklern in den folgenden zwei Jahren noch ausgebaut werden konnte - seit 2007 dominiert Rybka das Konkurrenzumfeld fast nach Belieben.

Das aber, behauptet Letouzey, sei offenbar durch die missbräuchliche Übernahme von Sourcecode aus dem damals unter der Open-Source-Lizenz GNU Public Licence (GPL) veröffentlichten Fruit-Engine möglich gewesen - ein Verstoß gegen die Nutzungsbedingungen der Lizenz. Seit Veröffentlichung der Vorwürfe kocht es in den Foren der Schach-Community.

Software kann man nicht einfach unter die Haube sehen

Wer nun aber glaubt, solche Streitfragen wären durch einen Vergleich der Quellcodes doch leicht zu entscheiden, irrt. Zum einen kommt Abkupfern in der Szene durchaus vor: In Varianten, die von "voneinander Lernen" über das Reverse Engineering - den Versuch, Funktionen eines Programms nachzuprogrammieren - bis zur Codeübernahme reichen. Darüber hinaus nutzen alle Programmierer gemeinfreie Code-Snippets, was hier und da für Ähnlichkeiten sorgt. Unbedingt braucht man für den Vergleich aber Einblick in die Sourcecodes, und das ist bei den kommerziellen Programmen nicht gegeben.

Selbst wenn: Ein Vergleich von Sourcecodes ist äußerst aufwendig, erklärt Matthias Wüllenweber vom Hamburger Computerschachunternehmen Chessbase, das neben seinem eigenen Programm Fritz auch als Vertriebspartner von Konkurrenzprogrammen wie Shredder und auch Rybka wirkt. Grundsätzlich sei die auf sportlichen Wettbewerb gebürstete Schach-Programmierer-Szene auf Geheimhaltung geeicht: Ein wissenschaftlicher Austausch darüber, wie man programmiertechnisch etwas erreicht, finde daher "nur auf Sparflamme statt".

Wüllenweber: "Die Veröffentlichung von Fruit war ungewöhnlich, weil damit zwei bahnbrechende Ideen bekannt wurden. Nach meinem Eindruck haben alle guten Schachprogrammierer eine Adaption dieser Ideen versucht. Wenn Vas Rajlich das auch getan hat, dann ist er wohl der einzige, dem es gelungen ist, weil sein Programm von Anfang so viel stärker spielte als Fruit."

Aber ist es auch abgekupfert? Diese Frage zu klären, ist nicht so leicht. Das technische Problem, erklärt Wüllenweber, liege darin, dass ein Programm, dessen Quelltext einem nicht vorliegt, sehr schwer zu verstehen sei. Der Quelltext ("Source") selbst sei ja nicht das Programm, sondern müsse erst durch den Compiler zu einzelnen Maschinenbefehlen umgewandelt werden, die der Prozessor Schritt für Schritt abarbeiten kann.

Man kann aber nicht von der Umsetzung eines Befehls auf den Quellcode zurück schließen - ein gleich erscheinender Effekt kann auf unterschiedliche Weise erzielt werden. Ähnlichkeiten in der Performance eines Programms sind daher weniger aussagekräftig als Ähnlichkeiten im Quellcode. Auffällige Parallelitäten dort sind dagegen nur schwer durch Zufall zu erklären - sie sind eher Indizien für "Copy & Paste".

Ein Schuss, der nach Hinten losging

So sah das offenbar auch Rajlich selbst, als er die Vorwürfe gegen sein Programm erst ins Rollen brachte: Rajlich hatte beim Vergleich seines Programms mit dem Konkurrenzprogramm Strelka verblüffende Ähnlichkeiten entdeckt und den Vorwurf erhoben, dieses sei von Rybka abgekupfert. Keineswegs, verteidigten sich daraufhin dessen Entwickler: Abgekupfert hätten sie vielmehr beim quelloffenen Fruit 2.1.

Dessen Entwickler Letouzey schätzte das nach mehrfacher Prüfung von Sourcecode-Ausschnitten ähnlich ein, mit einem Mal stand der Ankläger Rajlich am Pranger - der Rybka-Entwickler hatte sich mit seinem Vorwurf gegen Strelka quasi selbst beschuldigt.

Dessen Rybka-Programm geriet zuletzt durch den Konkurrenten Houdini unter Druck, ein Programm, das als noch spielstärker gilt - aber ebenfalls als möglicherweise abgekupfert: Houdini soll sich beim Konkurrenten Ippolit bedient haben, und das basiert wiederum auf Rybka - und damit auch auf Fruit 2.1? Die Frage ist nicht entschieden, in den Rankings hat Houdini den Spitzenplatz deshalb bisher nicht einnehmen können.

Lauter kleine Klone?

Letouzey hatte Mitte des letzten Jahrzehnts einen der letzten maßgeblichen Meilensteine gesetzt: Mit Fruit wagte er einen etwas anderen Ansatz im Spielstil, der das Programm zeitweilig zu einem der spielstärksten der Welt machte.

Der quelloffene Fruit-Engine wurde in Folge zum Kern zahlreicher darauf aufsetzender Schachprogramme - was unter der GPL völlig okay ist, solange man das daraus resultierende Programm dann wieder unter der GPL veröffentlicht. Matthias Wüllenweber: "Die Kraft von Open Source liegt darin, dass alle Verbesserungen auch wieder offen gelegt werden, damit sich die Qualität der Software kontinuierlich steigert. Rybka ist jedoch nicht Open Source."

Rajlich, so Letouzeys Appell an die ICGA, habe diese Regel verletzt, Rybka solle darum als Fruit-Klon eingestuft werden. Ob es dazu kommt, wird mit dem "Clone and Derivative Investigation Panel" ein Gremium der ICGA entscheiden, das erst im letzten Monat als Reaktion auf den bizarren Programmierer-Streit gegründet wurde: Ab sofort leistet sich der Computer-WM-Veranstalter eine Kommission, deren einzige Aufgabe die Klärung von Klon-Vorwürfen ist.

Das könnte sich ja offenbar lohnen.

Mehr zum Thema


Forum - Diskutieren Sie über diesen Artikel
insgesamt 13 Beiträge
Alle Kommentare öffnen
Seite 1
oliver-hh 03.03.2011
1. kenn ich schon
Als alter Schachspieler und aufmerksamer Begleiter der Schachszene war wir der Rybka-Fruit Disput bereits seit einigen Wochen bekannt. Allerdings fand man Berichte dazu nur auf hoch spezialisierten Websites (z.B chessvibes). Dass der Spiegel der Problematik einen so langen und hervorragend recherchierten Artikel widmet, ist wirklich klasse.
nachdenklich1 03.03.2011
2. Folgerichtig
Find ich gut. Es war für mich immer unglaubwürdig, dass Schachprogrammierer sich so hinstellen, als ob sie quasi von Null an ein Schachprogramm neu erfinden. Die Hetzjagd auf die Neuen: Ippolit,Fire, Houdini und andere unbewiesenen Clone fand ich unerträglich. Am Ende besteht die Leistung des Top-Schachprogrammieres doch darin Veröffentlichungen zu Algorithmen älterer Schachprogramme (opensources + Bücher)zu studieren und so zu optimieren, dass daraus die stärkste Engine entsteht . Elo`s zählen nunmal beim Kunden. Er sollte aber auch zu den Quellen stehen und ggf. falls rechtlich legitim die Quellen am kommerziellen Gewinn beteiligen. Wem das suspekt ist, der muss den gerichtlichen Weg suchen. Als Kunde bin ich gegen Vorverurteilungen!
Bernd Paysan 03.03.2011
3. Studieren von GPL-Quelltext ist erlaubt
Sogar ausdrücklich erwünscht - das ist eines der vier Freiheiten. Copy-Paste davon ist nur erlaubt, wenn man das Ergebnis unter GPL stellt - aber, wenn wie hier wohl kaum der Quelltext 1:1 übernommen wurde, sondern nur der Algorithmus durch Studieren und neu/besser implementieren eingebaut wurde, dann ist das keine GPL-Verletzung, sondern durchaus ein erwünschtes Ergebnis. Ein Skandal sieht für mich jedenfalls anders aus. "Nicht-wörtliche Kopien", das war der Lacher aus dem SCO vs. Linux-Prozess. Die freie-Software-Szene würde sich echt lächerlich machen, wenn sie die gleiche Argumentation nutzen würde.
tz88ww 03.03.2011
4. ??
Kennt jemand ein gutes Umsonst-Schach-Prog ?? THX
radost 03.03.2011
5. Engine Houdini und Rankings
Einspruch zur der Angabe "...in den Rankings hat Houdini den Spitzenplatz deshalb bisher nicht einnehmen können.". Manche Ranglistenbetreiber testen diese Engine (noch) nicht, daher kann sie dort nicht auftauchen. Das liegt meist am Clone-Verdacht und moralischen Erwägungen. Aber ich verweise z.B. gern auf z.B. die IPON Rating List (http://www.inwoba.de/bayeselo.html) und die SWCR-Liste (http://wwww.amateurschach.de/swcr/_x64.htm), in denen "Houdini 1.5a" jeweils vor "Deep Rybka 4" auf Platz 1 liegt.
Alle Kommentare öffnen
Seite 1

© SPIEGEL ONLINE 2011
Alle Rechte vorbehalten
Vervielfältigung nur mit Genehmigung der SPIEGELnet GmbH


Die Homepage wurde aktualisiert. Jetzt aufrufen.
Hinweis nicht mehr anzeigen.