Haiku R1/Alpha1

Дурной пример Microsoft, смело выпускавшей недоработанные версии своих систем и программ для обкатки их на пользователях, оказался заразительным. Первые версии Mac OS X, 10.0 и 10.1, иначе чем альфа и бета версиями я бы не назвал. На этом фоне, первая альфа-версия Haiku OS соответствует, примерно, Mac OS 10.2. Нерационально?

Haiku R1/Alpha1. Фото.

14 сентября 2009 года, в 00:00 по времени восточного побережья США, без специального события в каком-нибудь симфоническом зале или центре конференций, без приглашенных звёзд поп-музыки и без прочих обычных атрибутов, Haiku OS R1/Alpha1 вышла в свет.

Об этом событии написали журналисты ведущих компьютерных изданий, написали каждый кто во что горазд, в том числе глупости (по моему мнению), но операционная система и в самом деле была “как BeOS”, то есть, красива (несколько старомодна, но пусть это будет её стиль), аккуратна, очень понятна даже для того, кто впервые её увидел…

Не идеальна, но очень хороша.

Прошло почти десять лет (восемь, на самом деле) с того дня, когда BeOS превратилась в “мертвую” операционную систему. И вдруг – вот она, воскресшая и набравшаяся за время “в ином мире” современных способностей и умений…

Если бы она была коммерческой операционной системой, и её продвижением на рынок занимались бы специально обученные люди, наверное, у неё был бы шанс стать одной из самых распространенных операционных систем в мире. А может и не было бы.

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

Но в прошлой части мы остановились на событиях 2007 года… Последние два года перед выпуском первого релиза любой новой операционной системы (а возрожденная из ничего BeOS по имени Haiku была новой системой) – самые трудные и драматические. Но в случае с Haiku, релизной истерии не было. Ошибок (как правило, идиотских), вызванных истерией и переутомлением, не было. Все тщательно и аккуратно делали свое дело, оставаясь в уме и здравой памяти.

И тем не менее, про битву с багами и о других подробностях последних месяцев перед релизом информации очень мало.

Java в Haiku

Если честно, я не поклонник Java. Сначала язык мне понравился (в 1997!), мне нужен был инструмент для программирования сразу для нескольких платформ – но, несмотря на хайп вокруг этого языка, для моих задач он не подошел. Он был предназначен для другого.

К 2008 Java повзрослела и действительно научилась делать многое из того, что обещали толстые книги и многочисленные самоучители, и идея добавить первоклассную поддержку Java в Haiku была очень неплохой идеей. Тем более, что команда, которая занималась её внедрением в Haiku не должна была никому доказывать выгодность этого действия, и что затраты на него, как минимум, окупятся.

Перенос Java и JDK в Haiku обошелся Haiku, Inc в самую круглую сумму на свете.

С апреля 2008 года в Haiku поддерживается Java.

Исходный код Haiku компилируется в Haiku

До 2008 года, исходники Haiku компилировались с помощью кросс-компиляторов GCC 2, но в апреле-мае 2008 команда занимающаяся средствами разработки для Haiku, впервые в истории операционной системы, сумела построить корректно работающую копию Haiku OS в самой Haiku OS.

Это очень важное достижение, переоценить его значение невозможно. Отныне, Haiku была самодостаточна. Это свойство системы называется self-hosting. Некоторые платформы (тот же Mac), были лишены этого свойства в первые годы своего существования. В результате, разработчикам программного обеспечения для Mac’ов приходилось тратить кучу денег на приобретение Lisa, среды разработки для Lisa… При этом, Mac’и задыхались от нехватки программного обеспечения. Это беда всех новорожденных платформ, но если платформа лишена средств разработки…

Кросс-компиляция добавляет лишние сложности в процесс разработки для платформы, у Haiku такой проблемы больше не было.

Теперь программы для Haiku можно было писать прямо на месте. И вообще, жить стало легче.

Добровольцы озаботились создание полноценной среды разработки, с полным набором инструментов для разработчика. Для завершения первой альфа-версии было достаточно командной строки и Icon-o-Matic.

В следующей части я расскажу о русском следе в среде разработки Haiku. Команда из России, как раз в эти дни, начала работать над своим вкладом в Haiku… Пока команда состояла из одного человека… И ни слова больше.

Теперь в Haiku был надежно работающий GCC 2, управляемый из командной строки.

Глобальный баг-фикс

По мнению руководства компании (переизбираемого каждые два года, без мухлежа и без пиар-технологий), Haiku была готова выйти на финишную прямую.

Финишная прямая – это feature-freeze (замораживание изменений), тестирование и отладка. Говоря по-русски, баг-фикс.

Баг-треккер в Haiku был, еще тот, который был разработан для BeOS, усилиями Мин Лоу.

Теперь он стал самой важной программой в системе. Никто никогда не раскрывал эту тайну: сколько багов было зафиксировано в баг-треккере на момент замораживания изменений, но их никак не могло быть слишком мало.

К выпуску готовилась целая операционная система, это миллионы строк кода, десятки модулей, разные уровни (ядро, драйвера, модули графического интерфейса).

Единственным исключением из feature-freeze стал модуль для работы с WLAN. Он был закончен в июле, и был одной из технологий, без которых система не была бы выпущена. Претензий к WLAN в первой альфа-версии не было, что более чем удивительно. На её финальную отладку ушло меньше месяца.

В коммерческих компаниях в таких случаях объявляют мобилизацию. Не связанные с выпуском системы разработки приостанавливаются, все их сотрудники, в зависимости от специализации, занимаются либо выявлением, либо уничтожением багов.

В Haiku, Inc битва с багами шла параллельно с продолжающимися разработками. И даже без аврала. Редко у кого из добровольцев было достаточно денег чтобы не тратить время и силы зарабатывая себе на жизнь. Авралы у них случались на основной работе.

Релиз 1, Альфа 1

Haiku R1/Alpha1. Релиз 1, Альфа 1. Фото.

Альфа-1 можно было скачать на сайте Haiku, совершенно за бесплатно. Кроме того, начиная с ноября, можно было купить CD с Haiku в магазине CafePress. Этот магазин существует до сих пор, продает всякую ерунду с логотипом Haiku – майки, свитера, кружки, чашки.

Количество скачавших первую альфу Haiku неизвестно. Организовать подсчет нетрудно, но никто не озаботился такой… ерундой. Качают – и хорошо.

Некоторые поделились впечатлениями с прессой: это BeOS! В Haiku работают программы 10-летней давности! Иконки, правда, другие… Но тоже ничего.

И новые программы.

Появились и вредные вопросы: зачем в наши дни (это они про 2009) еще какая-то система?

За Windows никто заступаться не стал. Но всем хотелось узнать: а в чем Haiku лучше Linux или Mac OS X? Задававшие этот вопрос были уверены, что он чисто риторический. Но им ответили. Аргументированно.

Haiku R1/Alpha1. Релиз 1, Альфа 1. Фото.

Но об этом, и о российском участии в Haiku, а также о неожиданной реакции Access America Systems (бывшей PalmSource) – в продолжении.

Продолжение следует

История AppleКомпьютеры AppleОперационные системы Apple