Haiku , первоначально OpenBeOS , — это бесплатная операционная система с открытым исходным кодом для персональных компьютеров. Это продолжение BeOS , созданное сообществом , и его цель — обеспечить бинарную совместимость с ним, но в значительной степени это переработка, за исключением некоторых компонентов, таких как Deskbar. [7] Проект Haiku начался в 2001 году при поддержке некоммерческой организации Haiku Inc., и операционная система остается в стадии бета-тестирования . [8]
Проект OpenBeOS начался Майклом Фиппсом [9] 18 августа 2001 года, после объявления Palm, Inc. о покупке Be, Inc. , что ознаменовало конец разработки BeOS, для поддержки сообщества пользователей BeOS путем создания обратной версии с открытым исходным кодом. -совместимая замена BeOS. [10] Palm отказалась лицензировать код BeOS третьей стороне, [11] это означает, что OpenBeOS пришлось подвергнуть обратному проектированию . [12] В 2003 году Фиппс основал некоммерческую организацию Haiku, Inc. в Рочестере, штат Нью-Йорк , США, для финансовой поддержки развития. [13]
В 2004 году проект провел свою первую конференцию разработчиков в Северной Америке WalterCon ; [14] в этот день также было объявлено, что OpenBeOS была переименована в Haiku [10] во избежание нарушения прав на товарные знаки Palm. [15] Некоммерческая организация BeUnited.org, которая продвигала открытые стандарты для проектов BeOS-совместимых операционных систем, [16] объявила, что Haiku будет ее «эталонной платформой». [17] В феврале 2007 года проект провел Tech Talk в Googleplex , на котором присутствовали бывшие инженеры Be, а также Жан-Луи Гассе , который выразил свою поддержку проекту. [18] [14] Существует также ежегодная конференция BeGeistert, которая проводится в Германии с 1998 года, когда BeOS была активна. [19] [20]
Помимо графического пользовательского интерфейса (Tracker и Deskbar, исходный код которых был открыт в BeOS 5), Haiku является оригинальным программным обеспечением. [21] Модульная конструкция [22] BeOS позволяла первоначально разрабатывать отдельные компоненты Haiku группами в относительной изоляции, во многих случаях разрабатывая их в качестве замены компонентов BeOS до завершения разработки других частей операционной системы. [ нужна цитата ]
Первым проектом OpenBeOS было созданное сообществом временное обновление для BeOS 5.0.3 в 2002 году, включавшее замену некоторых компонентов BeOS с открытым исходным кодом. [23] Ядро NewOS для x86 , Dreamcast ( SuperH ) и PowerPC , [24] было успешно разветвлено в том же году , на основе которого с тех пор базируется Haiku. [25] Оконный менеджер был завершен в 2005 году. [26] В июле 2006 года разработчик Haiku Стефан Асмус представил Icon-O-Matic, редактор значков и формат хранения (HVIF) с механизмом рендеринга на основе Anti-Grain Geometry . [27] PackageInstaller был создан Лукашем Земчаком на Google Summer of Code в 2007 году . [28]app_server
Поддержка Java в конечном итоге была добавлена командой из BeUnited, которая портировала ее на BeOS, [29] [30] а затем и WLAN из стека FreeBSD . [31] Наряду с портом на GCC4 наконец-то вышла первая альфа- версия после семи лет разработки. [32] После первоначальной полной совместимости с BeOS 5 в качестве цели был начат опрос сообщества, чтобы переопределить будущее Haiku за пределами рефакторинга свободного программного обеспечения BeOS с конца 1990-х годов, и было решено расширить концепцию поддержки основных современных систем и протоколов с помощью большего количества амбициозная поддержка современного оборудования, веб-стандартов и совместимости с библиотеками FLOSS . [33] 27 октября 2009 г. Haiku получила поддержку Qt4 . [34]
В браузере WebPositive сначала была предустановлена версия Alpha2, заменившая BeZillaBrowser. [35] После этого много времени было потрачено на создание системы управления пакетами , которая была запущена в сентябре 2013 года. [36] Бета-версия 1 вышла в 2018 году, и одной из наиболее заметных новых функций [37] была PackageFS и установка пакетов через HaikuDepot и pkgman; Beta1 была первой официальной версией Haiku, поддерживающей полное управление пакетами. [38]
Впервые Wine был портирован на Haiku в 2022 году. [21]
Как и BeOS, Haiku написан на C++ и предоставляет объектно-ориентированный API . [45] Ядро Haiku — это модульное гибридное ядро , которое началось как ответвление NewOS, модульного моноядра, написанного бывшим инженером Be Inc. Трэвисом Гайзельбрехтом. [46] Было реализовано множество функций, включая уровень виртуальной файловой системы (VFS) и поддержку симметричной многопроцессорной обработки (SMP). [ нужна цитация ] Он работает на 32-битных и 64-битных процессорах x86 и недавно был портирован на RISC-V ; [47] Также разрабатывается порт для ARM , но в настоящее время он сильно отстает от порта x86. [48]
Интерфейс прикладной программы (API) основан на интерфейсе BeOS, который разделен на ряд «наборов», которые объединяют связанные классы и имеют некоторое отношение к библиотеке , содержащей вспомогательный код. В 2007 году компания Access Co Ltd, владельцы интеллектуальной собственности Be, Inc, опубликовала текст этой книги ( BeBook ) под лицензией Creative Commons . [49] [50] Загрузчик не зависит от файловой системы и может также загружать GRUB , LILO и NTLDR . [ нужна цитата ]
Начиная с выпуска Beta1, управление памятью Haiku включает ASLR , DEP и SMAP . [51]
Графические операции и управление окнами обрабатываются протоколом app_server . [52] VESA используется в качестве резервного режима вывода видео. [53] Haiku совместим с POSIX и имеет уровни трансляции для X11 и Wayland . [54]
Графический интерфейс пользователя состоит из Tracker, файлового менеджера , и Deskbar, панели задач , которая всегда находится вверху, которая размещается в правом верхнем углу экрана и содержит меню, трей и список запущенных программ. Tracker — это развитие OpenTracker, выпущенного по лицензии с двумя дополнениями , ограничивающими использование товарных знаков Be Inc .; [55] Зеты также модифицировали OpenTracker в своей операционной системе. [56]
Иконки в Haiku называются stippi и были разработаны Стефаном Ассмусом. [57] Асмус также создал формат векторных значков Haiku (HVIF), векторный формат хранения значков в Haiku, предназначенный для быстрого рендеринга и небольших размеров файлов. [58]
Управление пакетами осуществляется с помощью графического приложения HaikuDepot и его эквивалента для командной строки, называемого pkgman
. [59] Пакеты также можно активировать, установив их из удаленных репозиториев с помощью pkgman или перетащив в специальный каталог пакетов . [59] Управление пакетами Haiku монтирует активированные пакеты в системный каталог, доступный только для чтения. Система управления пакетами Haiku выполняет решение зависимостей libsolv
из проекта openSUSE . [ нужна цитата ]
Он поставляется с рядом предустановленных приложений, таких как веб-браузер на базе WebKit WebPositive , средство чтения документов BePDF, простой веб-сервер PoorMan, текстовые редакторы Pe и StyledEdit, IRC- клиент Vision и эмулятор терминала на базе Bash . [60]
Haiku R1 стремится быть совместимой с BeOS 5 как на исходном , так и на двоичном уровне, [61] позволяя программному обеспечению, написанному и скомпилированному для BeOS, компилироваться и запускаться без изменений на Haiku. [62] Однако 64-битная версия Haiku не совместима с BeOS на двоичном уровне, но API все еще есть. [62] Установка этих файлов формата PKG выполняется с помощью PackageInstaller. [63]
Бинарные приложения BeOS R5, работающие на Haiku, включают Opera , Firefox , NetPositive , Quake II , Quake III , SeaMonkey , Vision и VLC . [ нужна цитата ]
В 2013 году, после выпуска Haiku Alpha 4, Ars Technica рассмотрела операционную систему и похвалила ее за скорость, но в конечном итоге заявила, что это «не более чем интересное развлечение, с которым можно поиграть на запасном оборудовании». . [64] Haiku Beta 4 была рассмотрена ZDNET в 2023 году, где говорилось: «Haiku предназначен для тех, кто испытал NeXT или AfterStep и хочет операционную систему, которая выглядит и ощущается немного старомодно, но работает быстрее, чем любая другая ОС, которую они когда-либо использовали. опытный». Далее он высоко оценил ядро Haiku, файловую систему и объектно-ориентированный API. [45]
По состоянию на 2018 год Фонд свободного программного обеспечения включил Haiku в список неодобренных операционных систем, потому что: «Haiku включает в себя некоторое программное обеспечение, которое вам не разрешено изменять. Оно также включает в себя несвободные пакеты встроенного ПО». [65]