В шахматном мире уже не первый месяц кипят страсти вокруг скандала с программой Rybka, которую лишили всех призов и титулов, завоеванных на чемпионатах мира по компьютерным шахматам, а ее создателя пожизненно дисквалифицировали, перекрыв ему возможность участвовать во всех подобных соревнованиях.
Яблоком раздора, отчетливо разделившим шахматно-компьютерное сообщество на два бурно препирающихся лагеря, стало разное понимание того, что представляет собой плагиат в программировании. Точнее, что следует считать «честным заимствованием» фрагментов кода, а что -- «нечестным воровством», да еще в условиях густо перемешанных программ с открытыми и закрытыми исходными текстами.
"Фрукт" против "Рыбки"
В июне 2011 г. в мировых средствах массовой информации было широко объявлено, что Международная ассоциация компьютерных игр (International Computer Games AssociationI, CGA) очень жестко наказала одного из главных своих чемпионов, предав его с позору. В ходе расследования, проведенного специальной комиссией, созданной по инициативе руководства Ассоциации, было установлено, что чешско-американский программист компьютерных шахмат Васик Райлих (на фото ниже) многократно нарушал одно из главных правил ежегодного Чемпионата мира по шахматам среди компьютерных программ (World Computer Chess Championship, WCCC). Оно касается оригинальности выставляемой на состязание программы.
В докладе, сопровождавшем заявление ICGA, было констатировано, что Rybka ( http://www.rybkachess.com/ ), разработанная Райлихом, содержала в себе «плагиат» – код из программы Fruit, созданной ранее Фабьеном Летузье и распространяемой с открытыми исходниками. За данное нарушение правил Васик Райлих и его «Рыбка», добивавшиеся победы на Чемпионатах мира 2007, 2008, 2009 и 2010 гг., были лишены всех завоеванных титулов, а в дополнение к такому наказанию программиста еще и пожизненно дисквалифицировали.
Для Чемпионата мира по шахматам среди компьютерных программ вопросы об их клонах и заимствованиях кода считаются особо чувствительными, поскольку это в первую очередь состязание программистов, а уже во вторую -- шахматных игроков-программ. Именно поэтому среди главных правил Чемпионата есть такое под номером 2: "Каждая программа должна быть оригинальной разработкой участников состязания. Те команды программистов, чьи коды были выведены из других программ или включают в себя игровые коды, написанные иными разработчиками, в документах заявки на участие должны назвать имена всех прочих разработчиков или указать на источник таких кодов. … [В спорных ситуациях для целей проверки] директору турнира по его требованию должна быть доступна распечатка всех кодов системы, относящихся к игре".
Именно оно и стало главной причиной жестких санкций, обрушившихся на «Рыбку» и ее создателя. По заключению следственной комиссии, во всех пяти случаях своего участия в Чемпионатах мира Васик Райлих злостно и умышленно нарушал его, выдавая чужую работу за свою собственную.
Райлих против всех
Следует подчеркнуть, что программа Rybka с самого начала распространялась ее автором как продукт с закрытым исходным кодом. И хотя глухие пересуды о том, что ранние версии «Рыбки» делали ходы, подозрительно похожие на игру более известных в ту пору программ Fruit и Crafty, начали звучать еще с 2007 г., подлинный скандал разразился лишь весной 2011. Поводом же для него стали итоги большого состязания между Rybka и относительно новой, очень сильной программой Houdini бельгийского автора Роберта Гударта. Тот матч из 40 партий Rybka убедительно проиграла с разрывом в 7 очков, так что на начало 2011 г. Houdini обрела неофициальный статус сильнейшей в мире шахматной программы.
В ходе же эмоциональных обсуждений такого итога на сетевых форумах мало-помалу разгорелись споры об авторских приоритетах, о клонировании программ и о заимствуемых разработчиками друг у друга кодах. Одни напирали на то, что «Гудини» – это переработка программ серии Ippolit (которую Райлих в свое время обозвал декомпилированным вариантом Rybka), а значит, Houdini следовало бы считать плагиаторской версией «Рыбки». А оппоненты обратились к истории появления Rybka, призывая разобраться, наконец, не является ли она сама втайне построенной на кодах других движков.
Как только стали звучать подобные сомнения и обвинения, Васик Райлих на форуме сайта своей программы совершенно однозначно заявил, что она «есть и всегда была полностью оригинальным кодом, за исключением разного рода низкоуровневых кусочков, являющихся всеобщим достоянием». Впрочем, остудить накал страстей это заявление совершенно не помогло. Хуже того, вскоре в адрес ICGA поступили и совершенно официальные призывы, направленные видными членами сообщества, что следует, в конце концов, разобраться с темной историей происхождения Rybka.
В руководстве ICGA сочли эти выступления достаточно серьезными и создали для расследования кода «Рыбки» специальную комиссию, работать в которой пригласили и самого автора программы. Однако Райлих полностью проигнорировал предложения заслушать его доводы в защиту себя и своего детища. Когда же все 16 членов комиссии по окончании разбирательства единодушно вынесли вердикт о виновности программиста в плагиате, то Райлих расценил весь процесс расследования и его выводы как сделанные непрофессионально и с предубеждением, а выдвинутые против него обвинения назвал безосновательными...
В пресс-релизе ICGA по итогам этого малоприятного разбирательства было особо подчеркнуто категорическое нежелание автора «Рыбки» помогать следствию в установлении истины. Причем Райлих не только отказался общаться с членами комиссии, но и не предъявил им исходных кодов своей программы, что однозначно обязан был сделать. Такой степени неуважение к коллегам, естественно, не могло не отразиться на строгости наказания, примененного к нарушителю.
ChessBase против ICGA
Столь драматичное завершение конфликта, как несложно догадаться, отнюдь не погасило жаркие дебаты в компьютерно-шахматном сообществе. Скорее оно даже разожгло их с новой силой, поскольку многих шокировала строгость кары, постигшей Райлиха за то, чем в той или иной степени занимаются практически все программисты. (Правда, далеко не каждый из них выставляет свои продукты на таких состязаниях, где в явном виде требуется указывать фрагменты кодов, заимствованные у других программ, а также иметь разрешение от их авторов. Именно поэтому сейчас есть много сильных шахматных программ, имеющих высочайший рейтинг, но никогда не участвующих в чемпионатах мира.
Хотя сам Васик Райлих и дальше предпочел сохранять молчание, в его защиту очень решительно и с развернутой аргументацией выступил доктор Серен Риис (Søren Riis), специалист по информатике из Лондона, много лет выполнявший функции модератора на одном из компьютерно-шахматных форумов. Иначе говоря, зная жизнь этого сообщества, что называется, изнутри, Риис собрал внушительный перечень критических свидетельств и претензий к тому, каким образом ICGA устроило «судилище» над Васиком Райлихом.
Этот документ в четырех частях был опубликован в январе 2012 г. на известнейшем сайте ChessBase.com (http://www.chessbase.com/newsdetail.asp?newsid=7791), что породило, естественно, еще одну волну горячих споров. Для тех, кто не в курсе, следует пояснить, что ChessBase – наиболее заметный, вероятно, инфоресурс Интернета, посвященный шахматам вообще и компьютерным шахматам в частности. Бизнесом германской компании ChessBase является продажа шахматных программ и баз данных, поддержка сайта шахматных новостей, а также крупного сервера онлайновых шахмат.
Поэтому когда критика расследования и наказания Райлиха стали доминировать на сайте ChessBase, руководство ICGA решило прореагировать по существу. В феврале 2012 г. президент Ассоциации доктор Дэвид Леви дал сайту обстоятельное интервью (http://chessbase.com/newsdetail.asp?newsid=7899), где в подробностях объяснил, как и почему все было сделано именно так, а не иначе. В заключение же Леви подчеркнул, что люди, выступающие в поддержку Райлиха, сильно критикуют различные аспекты процесса расследования, начиная с состава следственной комиссии и личностей в составе секретариата и далее переходя к критике собственно правила 2, а затем жалуются на чрезмерную строгость санкций, наложенных на Райлиха после того, как в ICGA пришла к выводу о его виновности. Но при этом, осознанно или нет, все критикующие упорно обходят стороной наиболее важный вопрос, вызванный данной историей: нарушил он или же нет базовое правило для всех участников турниров ICGA, когда принимал участие в Чемпионатах мира по шахматам среди компьютерных программ?
Фактически, никто так и не сумел опровергнуть вывод следственной комиссии и всерьез поставить под сомнение достоверность собранных ею свидетельств. Васик Райлих действительно применял код, заимствованный из программ Fruit и Crafty, он действительно не объявил об этом в заявках на участие в турнирах ICGA и действительно не пытался получить разрешение на использование кода от авторов этих программ. Поэтому вряд ли кого удивит, что в ICGA единодушно признали Райлиха виновным в нарушении базового правила турниров.
Похоже, уже в любом виде спорта не обходится без допинга...