Читаем Журнал «Компьютерра» № 34 от 18 сентября 2007 года полностью

– Большинство людей работают на опыт и на свое имя. Человека четыре в последнее время ушли в разные фирмы… из них трое в Microsoft – их там принимают просто "на ура". Или вот, например, у одного человека была курсовая: "разработать графический редактор". Ну, он его и разработал. Под ReactOS. Многие наблюдатели со стороны удивлялись: "В ReactOS работают над графическим редактором! Зачем?! У вас еще ядро не работает как следует!" Приходилось отвечать, что если человек хочет что-то сделать, нам не жалко. Все равно курсовик пишет, а так двойная польза получается.

Сам Алексей учится в аспирантуре, и тема его диссертации, что неудивительно, связана с операционными системами. Участие в ReactOS, таким образом, позволяет совмещать "приятное с полезным". Однако это не единственная и даже не основная причина участия.


– У меня есть свои цели. Во-первых, просто интересно – я туда пришел ради идеи: Linux уже есть, а можно Microsoft еще подложить небольшую свинью и сделать открытую «ЭнТю». К тому же, мне кажется, что это перспективная вещь. Уже сейчас есть люди, заинтересованные в этой системе (коммерчески). Но мы не торопимся с этим – хотим вывести ее на более высокий уровень – потому что как только начнется коммерция, начнутся и претензии.

Реверс

Претензии, впрочем, уже начались. В начале прошлого года вокруг ReactOS разразился небольшой скандал: проект был обвинен в том, что заимствует дизассемблированный код Windows. Рассказ Алексея на эту тему напоминает детективную историю.


– Это было организовано небольшой группой лиц. По каким причинам – для нас осталось неизвестным. Несколько наших разработчиков решили пойти против всех остальных. Ситуация была следующая: мы периодически проводим различные исследования – например, взяли загрузочный сектор от Windows, дизассемблировали, написали комментарии и залили в SVN-репозитарий. А есть наш собственный бутсектор – он с ним никак не коррелирует. Но, как факт – виндовый бутсектор с комментариями у нас лежит в SVN. И они это выдали как величайшую проблему и попытались провести такую цепочку: один участник сообщает о нелегальном коде, другой – владелец SVN-сервера – его закрывает; и, вроде бы, планировалось провести голосование о закрытии проекта вообще.


Мотивы этих действий так и остаются неясными, и Алексей классифицирует свои соображения на эту тему как "теория заговора": "Видимо, были какие-то конкурирующие фирмы, которые захотели взять все в свои руки. Это был переломный момент – когда стал запускаться Explorer – и, возможно, у кого-то что-то переклинило". Как бы то ни было, «перехват» не удался – Алексей вовремя скопировал весь репозитарий кода к себе и оформил на себя доменные имена, получив полную независимость. Про реальные нарушения авторского права на тот момент ничего не известно:


– В то время мы уже детально озаботились этим вопросом – я думаю, ни один другой проект не анализирует легальность своих знаний так серьезно. Мы накопали целый ряд серьезных опенсорсных проектов, в которых наш бутсектор – это ничто.


Однако код в SVN все-таки стали проверять, и любые потенциально нарушающие копирайт материалы из открытого доступа убрали – на всякий пожарный. (Сейчас проверено уже 99.5 % всего кода, остальные полпроцента "заморожены".) «Чистоту» же поступающих извне патчей разработчики контролируют постоянно.


– Мы просматриваем все патчи. Во-первых, если это дизассемблирование и reverse-engineering, это сразу видно по некоторым особенностям. Во-вторых, спрашиваем, на чем основана реализация. Если человек присылает нам хороший testcase, в котором видно, как он вызывает функцию ядра, анализирует ее параметры, – без проблем. А вот, например, человек нам присылает патч с комментарием типа "увидел, тут у вас не реализовано, решил реализовать" – и код на две страницы. Как он его написал? Откуда взял? Мы такое брать не решились – ни одной ссылки на книжки, ни одного URL не привел. Хотя книг написано великое множество – архитектура описана. А все, что не описано, – ну, приходится изощряться. И без обратной разработки не обойтись.


В принципе, обратная разработка (reverse engineering) – например, дизассемблирование – не является нарушением авторского права. Тем не менее, прямое заимствование дизассемблированного кода, безусловно, нарушает копирайт (это считается созданием производной работы). Чтобы избежать нарушения, используют подход, называемый "clean room reverse engineering": один человек дизассемблирует программу, разбирается в том, как она устроена, пишет качественную документацию обычным текстом (без настоящего кода) и передает другому человеку, который, смотря только на эту документацию, уже делает свою реализацию. Только такой метод обратной разработки разрешается в соответствии с правилами ReactOS.


– В наших условиях отследить это на 100 % невозможно – но зачастую оно само так выходит. У нас есть люди, которые понимают в обратной разработке, и есть люди, которые пишут код. Вторые обращаются к первым – как это реализовано? Получают ответ. Пишут свой код.

Что дальше?

Перейти на страницу:

Все книги серии Компьютерра

Похожие книги

«Если», 2005 № 12
«Если», 2005 № 12

Алексей ЗАРУБИН КРУГИ НА ПЕСКЕ Дороги, которые мы не выбираем, все равно приводят к желанной цели… если к тому времени остаются какие-либо желания. Екатерина СЕДАЯ, Дэвид БАРТЕЛЛ УЛЫБАЮЩИЕСЯ ПАРАЗИТЫ Это не конец света, это всего-навсего подарок генетика любимой женушке к годовщине свадьбы. Майкл СУЭНВИК Я ТОЖЕ ЖИЛ В АРКАДИИ Не сотвори себе кумира: из бронзы ли, плоти, полимера или какой другой материи… Получив премию «Хьюго» за действия неунывающей парочки друзей, писатель втравил их в новую историю. Эдуард ЯКУБОВИЧ ЛИНИЯ ЖИЗНИ Герой забыл одну простую истину: попытки узнать свою судьбу часто кончаются плохо. Или очень плохо. Джеффри ЛЭНДИС ДОРАДО Время — весьма жестокая штука. Нил ЭШЕР СТРУД Кто из этих братьев-инопланетян человечеству младший, а кто старший? Поди разберись! Мэтью ДЖАРП ГОРОД ЗДРАВОМЫСЛИЯ …стоит под угрозой уничтожения. Предотвратить взрыв берется бывший пират. Тимофей ОЗЕРОВ СПАСИТЕ БАБОЧКУ! Более странной экранизации у Брэдбери, пожалуй, еще не бывало. Дмитрий БАЙКАЛОВ РАЗГОВОРНИК ДЛЯ КИНОМАНА Фантастика или мелодрама: кто «крылатее»? Вероника РЕМИЗОВА ОЖИВЛЯЮЩИЙ ЧУДОВИЩ Один из сотрудников журнала «Если» в детстве даже подрался с одноклассником, поспорив о том, как же движется скелет в знаменитом фильме о Синдбаде. Раскрываем секрет — и ему, и читателям. ВИДЕОРЕЦЕНЗИИ Взбесившийся ИИ и другие герои. Эдуард ГЕВОРКЯН АЛЬТЕРНАТИВА ЗДРАВОМУ СМЫСЛУ Итоги очередного интернет-голосования заставили погрузиться в воспоминания известного писателя и публициста. РЕЦЕНЗИИ Кнут и пряник, убеждены рецензенты, есть идеальный метод в деле воспитания фантастов. КУРСОР Неужели у нас снимут фильм по «Обитаемому острову»? Дмитрий ВОЛОДИХИН, Аркадий ШТЫПЕЛЬ ПРОРОКИ И БУРЕВЕСТНИКИ Кажется, «фантастика ближнего прицела» вновь обретает популярность. Пока только у авторов. ЭКСПЕРТИЗА ТЕМЫ Определенно, прозаики что-то скрывают. Наверняка у них припрятана где-то машина времени — иначе как еще объяснить наличие у экспертов этих «завтрашних» документов? ПЕРСОНАЛИИ Геолог, биохимик, астрофизик, юрист — кого только нет в нашем общем доме. ПРИЗ ЧИТАТЕЛЬСКИХ СИМПАТИЙ Вниманию Большого жюри: срок для определения лучших из лучших сокращается!

Аркадий Штыпель , Дмитрий Байкалов , Дмитрий Володихин , ЕСЛИ Журнал , Журнал «Если» , МАЙКЛ СУЭНВИК

Фантастика / Журналы, газеты / Научная Фантастика