Выбрать главу

В принципе, плагиат компьютерных кодов никак нельзя назвать новостью, и коды компьютерных шахмат тут не являются исключением. В статье Дэвида Леви, предварявшей решение о создании Комиссии по расследованиям, упомянута, к примеру, известная история аж из 1989 года, когда было установлено, что шахматная программа Quickstep является почти идентичным клоном другой программы под названием Mephisto. Подобное повторялось еще не раз, и не далее как в прошлом году программа SquarknII была запрещена к участию в чемпионатах по компьютерным шахматам, когда было обнаружено, что она отличается от кода другой программы, Robbolito 0.85g3, всего лишь в трех небольших деталях.

Для чемпионата мира по компьютерным шахматным вопрос о клонах, производных и заимствованиях кода считается особо чувствительным потому, что это в первую очередь состязание программистов, а уж затем шахматных программ-игроков. Именно поэтому среди главнейших правил чемпионата под номером «два» прописаны следующие требования к участникам:

Каждая программа должна быть оригинальной разработкой участников состязания. Те команды программистов, чьи коды были выведены из других программ или включают в себя игровые коды, написанные другими разработчиками, в документах заявки на участие должны назвать имена всех прочих разработчиков или указать на источник таких кодов. Программы, являющиеся близкими производными от других программ (например, совершая почти все те же самые ходы), могут быть объявлены недействительными директором турнира после консультаций с экспертами. Для этих целей директору турнира по его требованию должна быть доступна распечатка всех кодов системы, относящихся к игре.

Именно это правило чемпионата, собственно говоря, и стало главной причиной жесточайших санкций, обрушившихся на «Рыбку» и ее создателя после завершения разбирательств. Как констатировано в итоговых документах ICGA и ее комиссии по расследованиям, во всех пяти случаях своего участия в чемпионатах мира, Васик Райлих злостно и умышленно нарушал второе правило, провозглашая работу других программистов как свою собственную. Нарушение Райлихом вышеупомянутого правила ассоциация расценила как наиболее серьезный проступок из всех, которые может совершить программист и член ICGA в отношении своих коллег и организации...

Как и в любом большом сообществе, даже в стане конкурентов далеко не все согласились со столь крутыми мерами. Например, вот что сказал известный шахматист и теоретик шахмат, гроссмейстер Ларри Кауфман, на сегодняшний день имеющий титул чемпиона мира среди ветеранов (старше 60 лет). На определенном этапе — при создании версии номер «три» — Кауфман по приглашению Райлиха непосредственно участвовал в разработке Rybka, однако ныне работает над конкурирующим проектом под названием Komodo. Как специалист, изнутри знакомый с кухней «Рыбки», он свидетельствует, что по его впечатлениям только ранние версии программы были основаны на кодах Fruit и Crafty: «По моему мнению, имелись серьезные причины для дисквалификации Рыбки в ее первой версии, а также любых побед в турнирах, происходивших примерно в течение года со времени ее выхода. Однако ко времени появления Rybka 3 она во всех практических аспектах была уже совершенно новой программой».

В пресс-релизе ICGA по итогам расследования особо подчеркивается категорическое нежелание Васика Райлиха помогать следствию в установлении истины. Когда началось расследование, автор программы не только не предъявил исходных кодов своей программы (что однозначно обязан был сделать), но и вообще отказался сотрудничать со следствием или предоставлять доводы в свою защиту. Такой степени неуважение к коллегам, конечно же, не могло не отразиться на строгости окончательного вердикта.

Подводя краткие итоги всей этой, прямо скажем, некрасивой истории, осталось отметить, что обе программы (Crafty и Fruit), фрагменты которых следственная комиссия обнаружила в теле «Рыбки», являются свободно распространяемыми программами с открытыми исходными кодами. Иначе говоря, автор Rybka имел возможность совершенно легально использовать коды этих программ, учитывая условия открытой лицензии GPL. Все, что требовалось от Райлиха — прямо этот факт признать. Но именно этого он не сделал. Таким образом, причиной краха «Рыбки» стало даже не заимствование кода, а категорическое нежелание программиста разделять почет и славу с законными соавторами.