Haiku (system operacyjny) [historia i autorzy]

Haiku (dawniej OpenBeOS) – wolny i otwarty system operacyjny kompatybilny z systemem BeOS. Jego rozwój rozpoczął się w 2001 roku. W 2008 był w stanie skompilować własny kod źródłowy. Pierwsza alpha została wydana we wrześniu 2009, druga w maju 2010, a trzecia, najnowsza w czerwcu 2011 roku.

Rozwojem systemu opiekuje się Haiku, Inc. – organizacja non-profit założona w 2003 roku przez dawnego lidera projektu Michaella Phippsa. Siedziba znajduje się w Rochester, w stanie Nowy Jork.

Spis treści

Historia

Początki

Projekt powstał w 2001 roku pod nazwą OpenBeOS po wykupieniu firmy Be Inc., twórcy BeOS-a, przez firmę Palm i ogłoszeniu zaprzestania prac nad systemem. Użytkownicy BeOS-a pozostali wówczas bez możliwości uaktualniania systemu, a twórcy oprogramowania z programami napisanymi na niewspieraną platformę. OpenBeOS różnił się od ówczesnych prób wskrzeszenia BeOSa. Przykładami takich prób są projekty Cosmoe oraz BlueEyedOS (oba obecnie niegotowe i zawieszone), które powstawały na bazie jądra Linux lub BSD i implementowały API BeOSa do postaci działającej pod tymi systemami, co łamało wsteczną kompatybilność z pierwowzorem i powodowało inny wygląd od oryginału. Projekt OpenBeOS zakładał stworzenie systemu od podstaw zapewniając kompatybilność z plikami binarnymi i kodem źródłowym napisanym dla BeOSa R5.

Pierwsze wydanie OpenBeOSa upubliczniono w 2002 roku. Była to forma nakładki na system BeOS R5 zastępująca część oprogramowania oprogramowaniem stworzonym przez społeczność. Nakładka ta ustawiała wersję systemu na R5.0.3.

W 2004 roku wybrano nową nazwę projektu, aby nie naruszać znaków towarowych Palma. Nazwa Haiku została wybrana przez głosowanie społeczności i upubliczniona na konferencji WalterCon. Nazwa wywodzi się z haiku – tradycyjnej japońskiej formy poetyckiej. Ma ona oddawać elegancję i prostotę systemu, a także nawiązuje do charakterystycznych komunikatów błędów w NetPositive i innych aplikacjach tworzonych przez Be, pisanych właśnie w haiku. Przykład z NetPositive:

Dalszy rozwój

29 kwietnia 2002 wydano pierwszą wersję app_server. Pozwoliło to wydać pierwszą wersję OpenBeOSa renderującą okna.

Kilka ważnych osiągnięć odnotowano w ciągu 6 tygodni między marcem a kwietniem 2005 roku. Wtedy to uruchomiono pierwsze graficzne aplikacje z napisane pod BeOSa na Haiku (z pełną akceleracją 2D) i pierwszy raz uruchomiono przeglądarkę internetową (był to Links). Projekt nie używa żadnego kodu należącego do Be, włącznie ze sterownikami grafiki i sieci z przykładów wydanych przez tę firmę. Kolejnym ważnym krokiem było uruchomienie powłoki graficznej Tracker w lipcu 2005 roku.

W październiku 2005 roku Axel Dörfler, jeden z deweloperów o największym wkładzie do systemu, został zatrudniony na pełen etat przy pracy nad systemem. Zakończył prace w grudniu 2005 roku. W tym czasie pracował nad uruchamianiem systemu z płyty CD, wieloprocesowością, jądrem i app_serverem.

W styczniu 2008 roku zespół Java for Haiku został utworzony i zaakceptowany przez społeczność OpenJDK. Wtedy to oficjalnie rozpoczęły się prace nad przeniesieniem Javy na Haiku.

W lutym 2008 Michael Lotz poinformował o kompilacji Haiku za pomocą Haiku, co oznacza sporą jego stabilność. 1 kwietnia 2008 Bruno Albuquerque podał informacje o identycznej kompilacji, ale bez modyfikacji systemu i sztuczek zastosowanych przy kompilacji Lotza.

W styczniu 2009 zaimplementowano natywne GCC w wersji 4.3.3. Do tej pory można było używać GCC 4.x tylko przez kompilację skrośną wersji 4.2.1. Pozwoliło to na przeniesienie na Haiku nowszych aplikacji, jak na przykład Firefox 3.

W lipcu 2009 wydano pierwszy port stosu WiFi z FreeBSD dla Haiku. Pozwoliło to na łączenie się z niezabezpieczonymi sieciami WiFi.

Haiku Release 1

Pierwsza alfa systemu o nazwie R1/Alpha 1 została wydana 14 września 2009.

27 października 2009 Haiku zyskało port Qt4.

Druga alfa (R1/Alpha 2) została wydana 10 maja 2010.

Wersja ta była już dystrybuowana ze wczesną wersją przeglądarki WebPositive opartej na WebKicie. We wcześniejszych wersjach tę funkcję pełniły Bezilla (port Firefoxa 2), Links lub NetSurf.

R1/Alpha 3 została wydana w czerwcu 2011. Zawiera dużą liczbę poprawek i ulepszeń, a także obsługę kompilatorów GCC 2 i GCC 4 (starsza wersja ze względu na kompatybilność).

Haiku Release 1 Alpha 4 została wydana 12 listopada 2012 roku.

Haiku Release 1 Alpha 4.1 wypuszczona dwa dni później była wersją poprawkową czwartej alfy, w której wykryto dwa poważne błędy uniemożliwiające poprawną prace na nośnikach tylko do odczytu

API i rozwój systemu

Haiku jest tworzone w C++ i dostarcza zorientowane obiektowo API.

Modularna budowa BeOS-a pozwoliła ekipie programistów na niezależne prace nad zamiennikami serwerów i API (znanymi w Haiku jako kity). Początkowo programiści podzielili się na następujące podzespoły:

  • App/Interface – pracuje nad kitami App, Interface i Support
  • BFS – pracuje nad odtworzeniem systemu plików Be File System – owocem prac tego zespołu jest praktycznie kompletna implementacja pod nazwą OpenBFS.
  • Game – pracuje nad odtworzeniem kitu Game.
  • Input Server – pracuje nad serwerem, który obsługuje urządzenia wejściowe (np. klawiatury i myszki) i zarządza ich komunikacją z resztą systemu.
  • Kernel – pracuje nad jądrem systemu.
  • Media – pracuje nad serwerem dźwięku i związanymi z nim API.
  • MIDI – pracuje nad implementacją standardu dźwięku MIDI.
  • Network – pracuje nad sterownikami i API związanymi z siecią.
  • Preferences – pracuje nad napisaniem apletów służących do konfiguracji systemu.
  • Printing – pracuje nad serwerem druku i sterownikami do drukarek.
  • Screen Saver – pracuje nad wygaszaczem ekranu.
  • Storage – pracuje nad serwerem magazynowania i sterownikami do wymaganych systemów plików.

Kilka kitów zostało uznane za kompletne, reszta znajduje się w różnych stopniach rozwoju.

Jądrem Haiku jest fork jądra hybrydowego NewOS, napisanego przez byłego inżyniera Be, Travisa Geiselbrechta. Fork jest w fazie dynamicznego rozwoju. Wiele funkcjonalności zostało już zaimplementowanych, włączając w to wirtualny system plików i obsługę wieloprocesorowości symetrycznej.

Kompatybilność z BeOS-em

Celem projektu Haiku jest zgodność z BeOS-em R5 na poziomie źródłowym i binarnym, co pozwoli oprogramowaniu napisanemu/skompilowanemu dla BeOS-a R5 na kompilację i/lub działanie bez żadnych modyfikacji. Dostarcza to użytkownikom Haiku zbiór aplikacji (nawet tych, których autorzy nie zajmują się już programowaniem lub nie mają chęci aktualizowania ich) do użycia w Haiku, pozwalając też wznowić prace nad aplikacjami, które zostały wstrzymane po ogłoszeniu zaprzestania rozwoju platformy BeOS.

Kompatybilność ta ma także swoje wady, jak np. konieczność dostarczania z Haiku GCC w wersji 2.95, wydanej w 1999 roku. Użycie wyłącznie wersji GCC 4 powoduje utratę wstecznej kompatybilności. W związku z tym projekt wydaje hybrydowe wersje zawierające GCC w wersji 2 i 4, pozwalające na korzystanie z obu tych kompilatorów naraz. WebKit i WebPositive kompilują się wyłącznie w GCC 4.

Kompatybilność dotyczy tylko architektury x86. Porty dla architektur PowerPC, ARM i 68k używają tylko kompilatora GCC 4.

Mimo tego kompatybilność z systemowymi dodatkami, które używają prywatnych API, nie zostanie zaimplementowana. Do tych dodatków wliczają się dodatkowe sterowniki systemów plików i wtyczki kodeków, jednak jedyną trudną do ponownego napisania wtyczką będzie kodek Indeo, dla którego nie istnieje żadna specyfikacja.

Programy z BeOS uruchomione w Haiku to między innymi: Opera, Firefox, NetPositive, Quake II, Quake III, SeaMonkey, Vision i VLC.

Pokaż ten artykuł na Wikipedia.pl

Tekst udostępniany na licencji Creative Commons: uznanie autorstwa, na tych samych warunkach, z możliwością obowiązywania dodatkowych ograniczeń. Zobacz szczegółowe informacje o warunkach korzystania.
Zasady zachowania poufności. O Wikipedii. Korzystasz z Wikipedii tylko na własną odpowiedzialność. Materiał pochodzący z Wikipedii został zmodyfikowany poprzez ograniczenie liczby przypisów. Wikipedia® is a registered tradmark of the Wikimedia Foundation.

Kategorie dla tego artykułu