[Sarlug] OpenBeOS 2 ÇÏÄÁ
Paul Galashin
wblaze at yandex.ru
Thu Aug 21 10:16:19 MSD 2003
Здравствуйте, sarlug.
Юбилей Open BeOS. Интервью Акселя Дёрфлера. На печать
Сергей Долгов 21.08.2003 2:41
18 августа проекту Open BeOS формально исполнилось 2 года. Формально по той причине, что реальная работа над проектом началась заметно позже, после кончины Be Inc., а тогда был всего лишь учрежден тематический список e-mail рассылки.
Поздравляем команду Open BeOS и все BeOS сообщество и в честь этого события публикуем первую часть интервью с одим из основных разработчиков проекта.
Интервью было организовано Маттиасом Брейтером (Matthias Breiter) для немецкого компьютерного издания Technoids. Затем оно было переведено на английский Марком Паттерсоном (Mark Patterson) и опубликовано на сайте OSNews.com. Русский перевод был подготовлен Станиславом Максимовым специально для qube.ru. Итак, читайте о проекте OpenBeOS в изложении одного из ключевых участников проекта.
1. Пожалуйста, расскажи нашим читателям немного о себе.
Меня зовут Аксель Дорфлер, родился в 1976 году. В данный момент я являюсь студентом по специальности Вычислительная Лингвистика и Искусственный Интелект в университете города Оснабрюк (Osnabrueck).
2. Как и когда ты начал заниматься BeOS?
Думаю, что основной причиной стало мое отвращение к Windows. Я слишком долго был (и все еще остаюсь) пользователем Amiga, чтобы относиться серьезно к ранним версиям Windows вплоть до выпуска NT. Более того, до 2000-го года у меня даже не было 'IBM-совместимого' ПК. Я видел демо BeOS R3 на отцовском компьютере, демо-диск пришел к нам в каком-то компьютерном журнале. К сожалению, мы смогли получить только черно-белый экран с разрешением 640x480, и большинство приложений, входящих в демо, просто 'упало' во время моего беглого тестирования системы. После всего этого, я не был особенно заинтересован системой и ее дальнейшим развитием, хоть и получил регистрационный номер разработчика в Be (Be Developer ID) немного ранее. Но это, должно быть, было еще до выхода BeBox, и с тех пор я даже прекратил получать рассылку Be Newsletter. Однако, все изменилось, когда 3 месяца спустя как я приобрел себе PC, вышла в свет персональная версия BeOS R5. До тех пор мой PC существовал как бы в тени моей Amiga. Несмотря на Athlon 600, Windows 98 работали гораздо медленнее старенькой Amiga. Впрочем, даже не скорость BeOS повлияла на мой финальный выбор: BeOS просто отлично работала (и совершенно случайно даже поддерживала все мое 'железо').
3. Что толкнуло тебя к участию в создании OpenBeOS?
Для начала не я ее создал. Тогда это был Майкл Фиппс (Michael Phipps) с небольшой группой энтузиастов. Я оставался в стороне какое-то время и абсолютно не ждал что данный проект сможет за пару лет создать замену BeOS.
Мой пессимизм, однако, дал серьезную трещину, когда Be была продана и стало ясно что разработка самой BeOS остановлена, и Zeta компании YellowTab не выглядела настолько многообещающей, как она выглядит сейчас. Так как все остальные операционные системы (а я их попробовал достаточно к тому времени) не подходили под мои высокие стандарты, OpenBeOS стала для меня логическим выбором, дающим возможность взять судьбу BeOS в свои собственные руки. Я вступил в проект вместе с Бруно Г. Альбукирком (Bruno G. Albuquerque) (также известным как BGA), и в последствии никогда об этом не жалел. Мне выпала счастливая возможность работать с лучшими и талантливейшими программистами из всех, с кем мне только приходилось когда-то работать.
4. Доволен ли ты сейчас возможностями разработки под BeOS (с точки зрения интерфейсов и т.д.), в особенности с твоей теперешней точки зрения?
По большей части - да, кроме, может быть, некоторых ошибок и несообразностей в реализации (к примеру, в Media Kit). Как разработчику, мне не хватает удобного способа создания пользовательского интерфейса, как это реализовано, например, в liblayout.so Марко Нелиссена (Marco Nelissen). Также не хватает библиотеки локализации (она уже в разработке) и хорошего сетевого стека. Нет, я не слишком требователен, но тем не менее кто-нибудь мог бы взяться и улучшить множество вещей, интегрировать архитектуры уже имеющихся библиотек. Разумеется, это все не мешает моей работе в OpenBeOS.
Сейчас OpenBeOS находится на старте. Первым делом нам нужно сделать правильную реализацию системы, а уж потом мы можем сконцентрировать свои усилия на улучшениях в API. Почему меня должно заботить то, как легко пользоваться Media Kit, если он не в состоянии синхронно проигрывать мои видеофайлы?
5. Используя твое знание других операционных систем, можешь ли ты сказать, что у Be получилась система, в которой легко программировать?
Разумеется. С точки зрения программирования она не отстает от таких систем как Java, OpenStep / Mac OS X. А Windows - во всяком случае, ее версии до .NET - в данном контексте можно упомянуть только для того, чтобы показать, как не следует делать системы.
6. Возвращаясь к OpenBeOS: вы собираетесь воссоздать BeOS API или же вы предложите собственное решение на базе BeOS?
Наш план - полностью воссоздать BeOS 5 со всеми API. Мы сохраним совместимый API в первой версии. В последующих версиях мы уже рассчитываем вносить большие изменения. Разумеется, мы сейчас уже стараемся усовершенствовать многие вещи, от этого выиграют и пользователи и разработчики, но мы не вносим (значительных) изменений в API.
Преимущества такого подхода заключаются в том, что мы можем вплотную сотрудничать с другими системами-наследницами BeOS в отношении API, и мгновенно узнавать, насколько те или иные изменения влияют на имеющиеся проекты.
7. В противоположность другим "свободным" продолжателям BeOS, вы не используете ядро Linux, но используете свое собственное ядро BeOS. Почему?
Тому есть несколько причин. Одна из них - лицензия GPL. Хотя, конечно, я не отрицаю ее полностью, но я думаю, что ее применение в разработке операционных систем имеет ряд недостатков, связанных с ее особенностями. Например, если бы XFree, так же как и ядро, имела лицензию GPL, то многие системы Linux сегодня работали бы только с помощью VESA. Если это и неочевидно, я полагаю, что ситуация с драйверами в Linux неоптимальна. Многие компании не решаются разрабатывать открытые драйвера для Linux. Кроме того, GPL производит определенное впечатление, что все должно быть бесплатно - нам хотелось бы этого избежать. Такое впечатление может неправильно повлиять на тот небольшой рынок, в который мы рассчитываем попасть.
С другой стороны, по чисто техническим причинам, я бы предпочел ядро от FreeBSD, Darwin (открытая часть ядра OS X фирмы Apple - прим. ред.), и т.д., чем нежели от Linux.
Почему мы решили разработать свое собственное ядро основанное на NewOS? Казалось бы, выбери мы ядро FreeBSD, работа над ним была бы уже завершена, и ядро было бы такого качества, для достижения которого потребовались бы годы. На самом деле все не так просто. Такая модификация уже завершенного ядра, реализация в нем нужных нашей системе особенностей была бы для нас неподъемной задачей. Реализация же 'с нуля' во многом быстрее, и что более важно, результат получится более чистым - ядро будет изначально предназначено для специфичной ОС. Мы занимаемся проектированием абсолютно новой системы, мы строим ее исходя из наших собственных требований. Результатом будет гармоничное, унифицированное целое. Сравнивая наши исходные тексты с исходниками Linux или BSD, вы обнаружите, что наш код является более элегантным и простым в понимании. В нашем проекте мы используем унифицированный подход и современные принципы разработки программного обеспечения, система разработки проста и прозрачна, ее очень легко понять стороннему разработчику.
Уже один этот факт (для меня) имеет огромное значение. Вот что поддерживает мой боевой дух в этой работе, а мотивация является одним из ключевых факторов в любом проекте с открытым кодом. Не считая, конечно, времени, которое тоже важно в данном случае. Возможно, BlueEyedOS [www.blueeyedos.com] сможет продемонстрировать реальные результаты гораздо раньше нас, но те, кто когда-либо работал с Linux, знают что простота и прозрачность не были ключевыми принципами при его проектировании.
8. Будет ли OpenBeOS на 100% совместима с Be, или же потребуется рекомпиляция всего ПО?
OpenBeOS будет совместима на 99.8%, т.е. все приложения, основанные на опубликованном API, будут работать без изменений.
Однако, существуют также и недокументированные функции, которые мы может либо переделать, либо оставить как есть. Это одна из причин, почему например оригинальный DriveSetup не сможет работать в OpenBeOS. Но разумеется мы предоставим замену таким (системным) приложениям. Так же, к примеру, мы инвертируем адресное пространство системы, что значительно упростит перенос таких проектов как Wine, но, к счастью, такие изменения не повлияют на уже имеющиеся приложения.
Аксель пояснил: адресное пространство ядра BeOS расположено, начиная с 0 и до шестнадцатиричного 7f ff ff ff, приложения же, в свою очередь, находятся (и имеют доступ к адресам), начиная с шестнадцатиричного 80 00 00 00 до ff ff ff ff. Но так как во многих других системах все наоборот (ядро начинается с 80 00 00 00), и, к примеру, бинарные файлы Windows могут использовать фиксированные адреса для библиотек, то при портировании необходимо выполнять ряд вычислений чтобы транслировать эти адреса (приходится эвристически сканировать всю программу на предмет использования фиксированных адресов и замены их на динамичские). Так вот, мы устранили эту проблему. Это было несложно сделать, так как BeOS не использует фиксированных адресов совсем.
Таким образом, можно сказать, что приложение будет либо работать (99.8%), либо нет (0.2%). Тривиальной рекомпиляцией тут ничего не изменить. Исключением является версия для PowerPC; она не будет совместимой с BeOS R5 PPC на уровне исполняемого кода. В этом случае, рекомпиляция является необходимым требованием
--
С уважением,
Paul mailto:wblaze at yandex.ru
More information about the Sarlug
mailing list