Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
ReactOS<br />
Народно-освободительная<br />
реакция Свободная<br />
Всем известна печальная склонность компании Microsoft ограничивать разработчикам доступ к<br />
информации о том, как работают их операционные системы. Самый характерный, на мой взгляд,<br />
пример такого рода - весьма оригинальный и очень полезный интерфейс MS-DOS Network Redirector,<br />
описанный в книге Undocumented DOS (Schulman et al., 1993). Сколько времени и усилий можно<br />
было бы сэкономить, если бы люди из Microsoft опубликовали документацию к этому интерфейсу<br />
сразу же после того, как он был добавлен в систему!<br />
Sven B. Schreiber, “Undocumented Windows 2000, Secrets Cookbook”<br />
Вы спрашиваете – возможно ли создать новую Unix-систему за какие-то несколько месяцев, при том, что у вас под рукой нет исходных тестов? Да, это возможно, поскольку<br />
для всех важнейших интерфейсов опубликованы общедоступные стандарты.<br />
Erik Raymond, “Samizdat: Stinks on Ice”<br />
50 <strong>Linux</strong> <strong>Format</strong> Январь 2008<br />
В<br />
жизни всегда найдется место не только подвигу, но и иронии.<br />
Компания Microsoft создала, возможно, самую успешную<br />
в мире модель коммерческой разработки ПО и вытеснила<br />
коммерческих конкурентов из всех сфер бизнеса, за которые<br />
принималась всерьез. Но именно тогда, когда редмондская компания<br />
праздновала окончательную победу над OS/2 и Lotus 1-2-3, на сцене<br />
появился новый игрок, который пришел из совершенно другой, незнакомой<br />
коммерческим гигантам среды. Вскоре новому явлению было<br />
придумано и имя – Open Source. С первых дней триумфального шествия<br />
движения за свободное ПО в нем выделилось направление, нацеленное<br />
на разработку открытых аналогов популярных коммерческих<br />
программ, так что нет ничего удивительного в том, что в конце концов<br />
на свет появился открытый проект, призванный клонировать самую<br />
успешную коммерческую программу всех времен и народов – операционную<br />
систему Microsoft Windows.<br />
Собственно говоря, бесплатные аналоги операционных систем<br />
Microsoft создавались еще во времена MS DOS. В 1996 году несколько<br />
программистов образовали группу под названием FreeWin95. Название<br />
проекта раскрывало его цель – создание бесплатного клона стремительно<br />
набиравшей популярность 32-битной операционной системы<br />
Windows 95. Как это часто случается с амбициозными проектами, группа<br />
FreeWin95 распалась, так и не произведя на свет ничего работоспособного.<br />
В 1998 году началась разработка нового открытого подобия<br />
ОС от Microsoft. На этот раз за основу для подражания была взята не<br />
Windows 95, а Windows NT. Сами участники проекта рассматривали<br />
свое детище как ответную реакцию на растущий монополизм Microsoft<br />
и назвали новую операционную систему соответственно: ReactOS.<br />
Между ReactOS и другими проектами-имитаторами операционных<br />
систем Microsoft существует одно важное, хотя пока что и не очень<br />
заметное, различие: разработчики ReactOS не стремятся клонировать<br />
операционная система – это<br />
не обязательно Unix. Спешите видеть –<br />
Андрей Боровский рассказывает о<br />
Microsoft Windows со страниц <strong>Linux</strong><br />
<strong>Format</strong>!<br />
Microsoft Windows. Задача ReactOS – создание открытой системы, совместимой<br />
с Windows на уровне приложений и драйверов. В остальном<br />
же, говорят разработчики, ReactOS будет развиваться совершенно<br />
самостоятельно. Тут, правда, стоит отметить, что поддержка совместимости<br />
на уровне драйверов, в том числе устанавливаемых драйверов<br />
файловых систем (IFS) требует довольно точного воспроизведения<br />
внутренней структуры ядра Windows (которое разработчики ReactOS<br />
прилежно изучают).<br />
Хотя сами программисты из команды ReactOS утверждают, что их<br />
система является открытым аналогом Windows, так же как <strong>Linux</strong> является<br />
открытым аналогом Unix, между ReactOS и <strong>Linux</strong> существуют принципиальные<br />
различия. На сегодняшний день Unix – это скорее набор спецификаций,<br />
нежели операционная система. Спецификации Unix открыты<br />
и каждая реализация ОС стремится соответствовать им по мере сил.<br />
В случае с Windows эталоном реализации является конкретная операционная<br />
система, притом закрытая. В некоторой степени спецификацией<br />
Windows можно считать описание API, которое содержится в SDK и DDK,<br />
но это описание, во-первых, неполно, а, во-вторых, не всегда соответствует<br />
тому, как на самом деле работает система. Поскольку разработчики<br />
ReactOS стремятся добиться совместимости с уже существующим<br />
закрытым кодом, в случае разногласий между документацией и поведением<br />
системы, им приходится придерживаться последнего.<br />
Различия в подходах к доступности исходных текстов системы оказывают<br />
на работу программистов даже большее влияние, чем может<br />
показаться на первый взгляд. Windows всегда была напичкана различными<br />
«секретными» функциями и недокументированными возможностями.<br />
Приобщившийся к «тайному знанию» Microsoft (благодаря<br />
собственной сообразительности или благоволению компании), получал<br />
преимущество над конкурентами. Охота за секретами Windows<br />
превратилась в увлекательное занятие и породила весьма обширный