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.
Matter geht's kaum: Schach-Programmierer streiten, wer alles von wem abgekupfert hat

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

Foto: BEN CURTIS/ AP

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.

Die Wiedergabe wurde unterbrochen.