03.03.2013 Views

LXFDVD - Журнал Linux Format

LXFDVD - Журнал Linux Format

LXFDVD - Журнал Linux Format

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

мешает. Достаточно почитать любой форум, там есть сотни различных<br />

мыслей о том, как сделать Windows лучше. С точки зрения программиста,<br />

преимущество есть уже сейчас: вместо чтения не всегда правильной<br />

документации MSDN, он может просто посмотреть в исходный<br />

код и найти интересующую его функцию, особенности ее реализации.<br />

Специально для этого мы стараемся как можно больше комментировать<br />

код, предлагать различные тестовые случаи, и т.п.<br />

LXF: Насколько полной должна быть совместимость ReactOS и<br />

Windows? Ставится ли задача обеспечить поддержку недокументированных<br />

возможностей Windows API?<br />

АБ: Настолько полной, насколько это возможно, и это относится к тем<br />

недокументированным особенностям, на которые так любят полагаться<br />

некоторые разработчики ПО и драйверов.<br />

LXF: Как я понимаю, в целях корректной поддержки драйверов<br />

Windows команде ReactOS приходится воспроизводить не только API,<br />

но и структуру компонентов ядра. Приходится ли вам дизассемблировать<br />

модули Windows для того, чтобы понять, как они работают, и воспроизвести<br />

их функциональность?<br />

АБ: Мы стараемся максимально избегать дизассемблирования. Есть<br />

прекрасные программы, которые позволяют отслеживать вызовы API,<br />

собирать текстовую информацию из файлов, есть openrce.org, который<br />

предлагает уже готовые цепочки вызовов, которые тоже помогают<br />

понять ход алгоритма.<br />

LXF: Microsoft очень ревниво относится к разработкам, которые<br />

кажутся им чем-то похожими на их собственные продукты, а в данном<br />

случае мы имеем дело с проектом, который сознательно копирует<br />

Windows. Как складываются отношения между Microsoft и ReactOS, и<br />

как, по-вашему, они могут развиваться в будущем?<br />

АБ: Microsoft ревниво относится к тем разработкам, которые снижают<br />

уровень дохода корпорации. На сегодняшний день ReactOS – полностью<br />

некоммерческий, образовательный проект, и отчасти мы даже способствуем<br />

росту приложений и драйверов с открытыми исходными текстами<br />

под ОС Windows. С некоторыми разработчиками из команды Microsoft у<br />

нас довольно хорошие отношения, и из нашей команды сама Microsoft<br />

уже наняла больше трех человек. К сожалению, это означает, что они<br />

не могут работать над ReactOS (из-за правовых тонкостей, даже если в<br />

Microsoft они работают над совершенно другими вещами).<br />

LXF: Большие компании умеют обращать себе на пользу даже неблагоприятные<br />

обстоятельства. Хотя ReactOS могла бы в перспективе<br />

подорвать монополию Windows, не кажется ли вам, что на практике<br />

этот проект в некотором смысле укрепляет позиции Microsoft, популяризирует<br />

разработку для Windows в сообществе Open Source? Может<br />

быть, это и не плохо?<br />

АБ: Сам по себе ReactOS как проект не имеет враждебных намерений<br />

по отношению к Microsoft (и уж тем более – к <strong>Linux</strong> и другим операционным<br />

системам). Отдельные разработчики, конечно, имеют свои собственные<br />

взгляды, которые не совпадают с официальной позицией.<br />

Что же касается популяризации Open Source-разработки под<br />

Windows – это очень хорошо. Открытое ПО должно развиваться как<br />

можно шире, захватывать новые области.<br />

LXF: Чему, по Вашему мнению, разработчики <strong>Linux</strong> могли бы поучиться<br />

у ReactOS и Windows?<br />

АБ: У ReactOS есть несколько особенностей, которые, на мой взгляд,<br />

могли бы быть использованы в других подобных проектах. Во-первых,<br />

это унификация и упрощение системы для сборки (ReactOS Build<br />

Environment, или сокращенно RosBE). Любой человек может скачать<br />

последнюю версию RosBE и исходные тексты проекта, развернуть и<br />

набрать “make bootcd”. Больше никаких действий – через некоторое<br />

время создастся ISO-образ установочного диска ReactOS, собранный<br />

полностью из исходников. RosBE существует как для Windows, так и для<br />

<strong>Linux</strong> (в тестовом варианте). Во-вторых, простая установка. Она состо-<br />

ит из трех стадий (разделяемых<br />

необходимыми перезагрузками),<br />

настройка на конкретное аппаратное<br />

обеспечение происходит автоматически,<br />

без необходимости<br />

ручного конфигурирования. Это<br />

также позволяет проводить тестирование<br />

более быстро, и даже<br />

создавать автоматические системы<br />

регресс-тестирования.<br />

LXF: Открытые проекты почти<br />

всегда испытывают нехватку<br />

«рабочих рук». Кого сейчас<br />

больше всего не хватает команде<br />

ReactOS?<br />

АБ: Больше всего не хватает, конечно же, разработчиков – их, наверное,<br />

всегда не хватает. Но мы всегда рады любому другому варианту<br />

помощи проекту, каким бы он ни был.<br />

LXF: Что может дать молодому, талантливому программисту участие<br />

в таком проекте, как ReactOS?<br />

АБ: Знания, опыт, имя. У нас даже в последнее время появилась такая<br />

шутка: «Хочешь работать в Microsoft или Apple? Присоединяйся к<br />

ReactOS, и никаких проблем при приеме на работу!»<br />

LXF: Каковы ваши личные впечатления от участия в проекте ReactOS,<br />

оказал ли проект какое-либо влияние на вас?<br />

АБ: ReactOS – очень интересный проект. Он дал (и продолжает давать)<br />

уникальный опыт, который вряд ли можно получить в другом месте.<br />

Даже не в плане программирования (хотя и тут хватает интересных<br />

вещей) – это опыт управления крупным специфическим проектом, где<br />

вся работа полностью некоммерческая и открыта на условиях лицензии<br />

GPL. Эта тема настолько мало раскрыта, что у меня и моих коллег<br />

возникает желание написать об этом статью, с названием примерно<br />

«Проекты Open Source: особенности управления», чтобы как-то описать<br />

полученные знания и наблюдения. Хотя, думаю, случится это не скоро.<br />

Послесловие<br />

Откровенно говоря, я не верю в то, что ReactOS когда-нибудь заменит<br />

Windows или <strong>Linux</strong> на моем компьютере. И дело тут не только в том,<br />

что команде ReactOS предстоит еще очень много сделать прежде, чем<br />

система станет применимой практически (а ведь другие ОС не будут в<br />

это время стоять на месте). Нынешнее благожелательное равнодушие<br />

Microsoft по отношению к открытому аналогу Windows объясняется,<br />

безусловно, только тем, что ReactOS, ни сейчас, ни в обозримой перспективе,<br />

не может стать конкурентом «пожирателя десктопов». Если<br />

же когда-нибудь дело дойдет до реальной конкуренции, Microsoft<br />

просто обречена на победу. Очевидно, что юридически судьба проекта,<br />

клонирующего Windows API, находится в руках разработчика Windows.<br />

Сколько технологий, запатентованных Microsoft, вольно или невольно<br />

используется в ReactOS? Думаю, что никто этого точно не знает, но при<br />

случае редмондская компания найдет, к чему придраться.<br />

Может ли проект ReactOS принести пользу разработчикам <strong>Linux</strong>?<br />

Безусловно, может. От развития ReactOS прежде всего должны выиграть<br />

такие проекты, как WINE и Samba. Разработчики ReactOS изучали<br />

Windows глубже и, скорее всего, разбираются в устройстве этой ОС<br />

лучше, чем другие программисты сообщества Open Source.<br />

В последнее время многие говорят о том, что для завоевания рынка<br />

рабочих столов открытым операционным системам потребуется более<br />

высокий уровень совместимости с самой популярной коммерческой<br />

ОС, чем тот, который предоставляет сегодняшний <strong>Linux</strong>. Идея открытой<br />

операционной системы, максимально совместимой с лучшими коммерческими<br />

разработками, весьма привлекательна и, на мой взгляд,<br />

перспективна. Хотя такой системой будет, скорее всего, не ReactOS. И,<br />

может быть, даже не <strong>Linux</strong>. LXF<br />

ReactOS<br />

Январь 2008 <strong>Linux</strong> <strong>Format</strong> 53

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!