|
||||
|
Кивино гнездо: Утопили Рыбку... Автор: Киви Берд Опубликовано 11 июля 2011 года Тихая поначалу свара, обозначившаяся в мире компьютерных шахмат с первых месяцев 2011 года, к середине лета завершилась грандиозным скандалом. Организация под названием Международная ассоциация компьютерных игр или кратко ICGA (International Computer Games Association), устраивающая всемирные состязания между компьютерами по шахматам, го и прочим популярным в народе играм, своим официальным пресс-релизом от 28 июня с позором дисквалифицировала и лишила всех призов одного из главных чемпионов. Поскольку подобные дела случаются нечасто, начальную часть пресс-релиза ICGA имеет смысл процитировать дословно:
Поскольку расследование показало, что Васик Райлих во всех случаях участия его программы Rybka в чемпионатах мира по компьютерным шахматам неоднократно и явно умышленно нарушал одно из главных правил состязания, проступок программиста было решено расценивать максимально строго. То есть к нарушителю применили санкции дисквалификации, которые были сочтены аналогичными тем, что Международный олимпийский комитет применяет к участникам олимпиад в случаях наиболее серьезных нарушений своих правил. Как итог этих санкций, Васик Райлих и его программы пожизненно отстранены от участия в чемпионате мира по компьютерным шахматам и во всех прочих соревнованиях, организуемых или санкционируемых ассоциацией ICGA. Также полностью аннулированы все победы Васика Райлиха и его программы на прошлых чемпионатах мира, то есть звания чемпиона мира на состязаниях 2007, 2008, 2009 и 2010 годов, а также поделенное 2-3 место на чемпионате 2006. Победителями этих состязаний теперь признаны программы, занявшие второе место, а все памятные таблички на Призе Шеннона (Shannon Trophy, вручаемый чемпиону), которые в настоящее время несут имя Rybka как победителя турниров 2007-2010 годов, будут удалены с приза и вместо них будут выгравированы новые таблички с именами пересмотренных победителей. Кроме того, ассоциация потребовала, чтобы Райлих вернул ей все четыре Приза Шеннона, а также все денежные премии, полученные им за свою программу-чемпиона... Чтобы стало понятнее, почему столь обычное, в общем-то, среди программистов дело, как заимствование фрагментов кода - да еще из свободно распространяемых программ вроде Crafty и Fruit - в мире компьютерных шахмат привело к столь беспрецедентному скандалу, потребуется чуть подробнее разобраться с предысторией этого инцидента. Откровенно славянское название программы (на чешском и польском языках слово rybka означает то же самое, что и русское "рыбка") объясняется происхождением автора. Разработчик программы Васик Райлих хоть и родился в начале 1970-х годов в американском городе Кливленд, штат Огайо, однако родителями его были учившиеся в то время в США студенты-математики из Чехословакии. Детство Райлиха прошло в Праге, но образование он получил тоже в США, закончив Массачусетский технологический институт. С конца 1990-х Райлих живет в Восточной Европе, поначалу в Венгрии, а все последние годы в Варшаве, откуда родом его польская жена - Ивета Райлих, женщина гроссмейстер, входящая ныне в число сильнейших шахматисток мира. Сам Васик Райлих, кстати, тоже человек в шахматной иерархии далеко не последний, имея звание мастера международного класса. Страстное увлечение шахматами поначалу заставило его бросить работу в США и переехать в Будапешт, неофициально считавшийся шахматной столицей мира, где Райлих надеялся значительно повысить свой рейтинг участием во множестве соревнований. Когда же к 2003 году для него стало очевидно, что звание гроссмейстера остается недостижимым, а от вершин шахматного Олимпа его отделяют еще примерно две тысячи более сильных игроков, Райлих сделал судьбоносное решение - осознав, что гораздо большего сможет добиться в шахматах как программист. К концу 2005 года он написал собственную программу, которая уже на старте продемонстрировала весьма высокий класс игры и поначалу называлась Rajlich. Первоначальное название программы было, можно сказать, в каком-то смысле более честным, поскольку однозначно свидетельствовало о больших амбициях ее автора. Когда же пошли первые заметные победы, название сменилось на Rybka, а одновременно - примерно с 2007 года - появились и разговоры о скользкой природе этой "Рыбки" во всем, что касается исходного кода программы. То есть сведущие в данной области люди довольно быстро обратили внимание, что во многих ситуациях Rybka в своих первых версиях делала ходы, совершенно аналогичные ходам более известных на тот период программ-конкурентов, в частности, упоминалась программа Crafty. Однако Васик Райлих никогда не раскрывал исходные тексты своего детища, а все намеки и подозрения относительно заимствования чужих разработок решительно отметал, настаивая на полностью оригинальном движке "Рыбки". От версии к версии Rybka заметно прибавляла в классе игры, что наиболее убедительно отражалось в стабильном завоевании чемпионских титулов на наиболее престижных соревнованиях с 2007 по 2010 год. Попутно было отмечено появление нескольких сильных клонов, теперь уже демонстрирующих игру, подозрительно похожую на ходы "Рыбки". Так что скандальная перебранка, возникшая в начале 2011 года на шахматно-компьютерных форумах вокруг эмоционально горячей темы "кто и что у кого украл" оказалась вполне закономерным итогом этой запутанной ситуации. Поводом для свары стали итоги завершившегося в феврале 2011 года состязания между "Рыбкой" и сравнительно новой, очень сильной программой Houdini бельгийского автора Роберта Гударта. Матч из сорока партий Rybka убедительно проиграла со счетом 16,5 : 23,5, так что на начало 2011 "Гудини" стала считаться сильнейшей шахматной программой мира. И вот, при обсуждении данных результатов как-то само собой пошло много разговоров об авторских приоритетах, о клонировании и о заимствуемых программистами друг у друга кодах. Насколько существенно "Гудини" была выведена из программ серии IPPOLIT (о которой Райлих в свое время заявлял, что это декомпилированный вариант Rybka)? Является ли Houdini плагиаторской версией "Рыбки"? И что можно сказать о самой Рыбке? Не является ли и она сама в значительной степени построенной на кодах других движков? Как только стали звучать подобные вопросы, Васик Райлих на форуме сайта своей программы в который уже раз заявил совершенно однозначно, что "Рыбка является и всегда являлась полностью оригинальным кодом, за исключением разного рода низкоуровневых кусочков, которые находятся во всеобщем достоянии". Среди участников споров, однако, наблюдалось немало специалистов, уверенных прямо в противоположном. Более того, вскоре появилось открытое письмо, подписанное пятнадцатью разработчиками компьютерных шахмат, в котором уже официально поддерживалось обвинение, согласно которому Rybka была списана с программы Fruit, созданной Фабьеном Летузье. Поскольку дело приняло столь нешуточный характер, через некоторое время Дэвид Леви, президент Международной ассоциации компьютерных игр, объявил о создании в рамках ICGA специальной Комиссии по расследованиям клонов и производных. В принципе, плагиат компьютерных кодов никак нельзя назвать новостью, и коды компьютерных шахмат тут не являются исключением. В статье Дэвида Леви, предварявшей решение о создании Комиссии по расследованиям, упомянута, к примеру, известная история аж из 1989 года, когда было установлено, что шахматная программа Quickstep является почти идентичным клоном другой программы под названием Mephisto. Подобное повторялось еще не раз, и не далее как в прошлом году программа SquarknII была запрещена к участию в чемпионатах по компьютерным шахматам, когда было обнаружено, что она отличается от кода другой программы, Robbolito 0.85g3, всего лишь в трех небольших деталях. Для чемпионата мира по компьютерным шахматным вопрос о клонах, производных и заимствованиях кода считается особо чувствительным потому, что это в первую очередь состязание программистов, а уж затем шахматных программ-игроков. Именно поэтому среди главнейших правил чемпионата под номером "два" прописаны следующие требования к участникам:
Именно это правило чемпионата, собственно говоря, и стало главной причиной жесточайших санкций, обрушившихся на "Рыбку" и ее создателя после завершения разбирательств. Как констатировано в итоговых документах ICGA и ее комиссии по расследованиям, во всех пяти случаях своего участия в чемпионатах мира, Васик Райлих злостно и умышленно нарушал второе правило, провозглашая работу других программистов как свою собственную. Нарушение Райлихом вышеупомянутого правила ассоциация расценила как наиболее серьезный проступок из всех, которые может совершить программист и член ICGA в отношении своих коллег и организации... Как и в любом большом сообществе, даже в стане конкурентов далеко не все согласились со столь крутыми мерами. Например, вот что сказал известный шахматист и теоретик шахмат, гроссмейстер Ларри Кауфман, на сегодняшний день имеющий титул чемпиона мира среди ветеранов (старше 60 лет). На определенном этапе - при создании версии номер "три" - Кауфман по приглашению Райлиха непосредственно участвовал в разработке Rybka, однако ныне работает над конкурирующим проектом под названием Komodo. Как специалист, изнутри знакомый с кухней "Рыбки", он свидетельствует, что по его впечатлениям только ранние версии программы были основаны на кодах Fruit и Crafty: "По моему мнению, имелись серьезные причины для дисквалификации Рыбки в ее первой версии, а также любых побед в турнирах, происходивших примерно в течение года со времени ее выхода. Однако ко времени появления Rybka 3 она во всех практических аспектах была уже совершенно новой программой". В пресс-релизе ICGA по итогам расследования особо подчеркивается категорическое нежелание Васика Райлиха помогать следствию в установлении истины. Когда началось расследование, автор программы не только не предъявил исходных кодов своей программы (что однозначно обязан был сделать), но и вообще отказался сотрудничать со следствием или предоставлять доводы в свою защиту. Такой степени неуважение к коллегам, конечно же, не могло не отразиться на строгости окончательного вердикта. Подводя краткие итоги всей этой, прямо скажем, некрасивой истории, осталось отметить, что обе программы (Crafty и Fruit), фрагменты которых следственная комиссия обнаружила в теле "Рыбки", являются свободно распространяемыми программами с открытыми исходными кодами. Иначе говоря, автор Rybka имел возможность совершенно легально использовать коды этих программ, учитывая условия открытой лицензии GPL. Все, что требовалось от Райлиха - прямо этот факт признать. Но именно этого он не сделал. Таким образом, причиной краха "Рыбки" стало даже не заимствование кода, а категорическое нежелание программиста разделять почет и славу с законными соавторами. |
|
||