r   e   k   l   a   m   a
r   e   k   l   a   m   a

Kłótnie o przyszłość Haiku: po co robić własne jądro, skoro można wziąć Linuksa?

Strona główna AktualnościOPROGRAMOWANIE

Haiku, wolny system operacyjny, którego autorzy postawili sobie za cel odtworzenie pamiętnego BeOS-a, ma problemy. Ostatnią oficjalną wersję R1/Alpha 4.1 opisywaliśmy na łamach naszego portalu jeszcze w 2012 roku. Od tamtego czasu nie pojawiło się nic nowego. Oczywiście nie znaczy to, że deweloperzy nic nie robią, w ostatnich miesiącach udało się np. przenieść silnik renderujący WebKit2 – ale to wszystko prace na wyższym poziomie. Sam system jakby stanął w miejscu. W 2007 roku Michael Phipps, człowiek bez którego Haiku w ogóle by nie zaistniało, komentując stan prac nad systemem, stwierdził: prawie skończyliśmy. Po siedmiu latach Haiku wciąż jest prawie skończone. W tej sytuacji pojawia się propozycja, która mogłaby zmienić nie tylko przyszłość Haiku, ale też wszystkich otwartych systemów operacyjnych.

Jeśli na dopracowanie jądra Haiku czekać będzie trzeba kolejne siedem lat, to może cała zabawa nie ma sensu? Programista Xia Lang (który kiedyś, jak wyjaśnia, pracował komercyjnie nad BeOS-em) na łamach listy dyskusyjnej haiku-development przedstawił bardzo ciekawą alternatywę. Zamiast dalej dłubać we własnym jądrze, lepiej wykorzystać Linuksa. Xia nie rzucił tej propozycji ot tak. Wcześniej stworzył prototyp interfejsów programowania BeOS-a na linuksowym jądrze z linii 3.x. Jak twierdzi, po kilku miesiącach prac, dysponuje działającymi API aplikacji, interfejsu użytkownika i sieci – w dużym stopniu dzięki temu, że większość roboty zrobili już za niego deweloperzy Linuksa.

Dopracowanie wszystkich API wymagać będzie oczywiście jeszcze wiele pracy, ale chiński programista podkreśla, że dzięki temu Haiku dostałoby nagle wszystkie sterowniki świata i superstabilne jądro działające na wszelkiego rodzaju urządzeniach. W rezultacie użytkownikom można by oddać klon BeOS-a znacznie szybciej. Ewentualne problemy z opóźnieniami podsystemu dźwięku można rozwiązać dzięki wyborowi jąder czasu rzeczywistego i odpowiedniemu dostrojeniu linuksowych planistów, tak by radziły sobie z obciążeniami oczekiwanymi na BeOS-owym systemie. Niewtajemniczonym trzeba tu wyjaśnić, że podstawowym atutem BeOS-a było niezwykle wydajne przetwarzanie cyfrowych multimediów, dzięki innowacyjnym rozwiązaniom technicznym, które w latach dziewięćdziesiątych nie śniły się nawet twórcom Windows czy Mac OS-a.

r   e   k   l   a   m   a

Reakcje deweloperów jądra Haiku nie były zbyt przychylne. Zarzucono Linuksowi, że ma zbyt duże wymagania sprzętowe, że wszystko wymaga w nim ręcznego dostrajania, zwracano też uwagę na problemy z licencjonowaniem (Linux wydawany jest na licencji GPL, podczas gdy Haiku korzysta ze znacznie bardziej liberalnej licencji MIT). Sięgnięcie po Linuksa oznaczałoby też koniec binarnej kompatybilności z oprogramowaniem pisanym dla BeOS-a.

Ciekawostką może być to, że w 2001 roku pojawił się podobny pomysł odtworzenia BeOS-a na bazie Linuksa, o nazwie BlueEyedOS. Przepisane (z pewnymi ulepszeniami) interfejsy programowania BeOS-a na jądrze Linuksa miały stać się nowym standardem dla deweloperów BeOS-a, łącząc wydajność tego systemu ze stabilnością i serwerowymi możliwościami Linuksa. Pierwsza wersja BlueEyedOS-a pojawiła się w roku 2003 – i była wersją ostatnią. O projekcie praktycznie zapomniano, zainteresowani tematem programiści zaangażowali się w prace nad Haiku.

Niechęć twórców kernela Haiku do pomysłu Xia Langa jest całkiem zrozumiała – nikt nie chce przyznać, że wykonał kawał dobrej, ciekawej, ostatecznie bezużytecznej roboty. Z dyskusji, jaka wywiązała się na liście wynika jasno, że prace nad tym systemem będą przebiegały dalej w ramach dotychczasowych założeń i żadnej rewolucji tu nie będzie. Wersji Alpha 5 mielibyśmy się spodziewać za jakieś pół roku, pierwszą betę za rok, a pierwsze stabilne wydanie R1 – za półtora roku.

Xia nie zamierza jednak ustępować. Powiedział, że skoro był w stanie sam ukończyć praktycznie trzy zestawy API w ciągu dwóch miesięcy (co jak twierdzi, nie jest trudne, gdy ma się do dyspozycji świetne jądro i ogromną ilość gotowych bibliotek), to nie będzie rezygnował ze swoich planów na rzecz czegoś, co być może będzie nadawało się do wydania za półtora roku. Nawet jeśli bowiem Haiku R1 się pojawi, to będzie w praktyce tylko 32-bitowym jądrem dla architektury x86, obsługującym bardzo krótką listę urządzeń peryferyjnych, bez tych wszystkich mechanizmów konteneryzacji, wirtualizacji czy zarządzania systemami plików, nie mówiąc już o efektywnym wykorzystaniu wielordzeniowych procesorów.

Spór na liście haiku-development nie zakończył się zbyt przyjemnie, ale jego owoce mogą być bardzo ciekawe. Niebawem na GitHubie pojawić się ma kod przygotowanych przez Xia Langa zestawów API BeOS-a, pojawiły się też osoby, które zadeklarowały swoją pomoc. Jeśli nic nie stanie na przeszkodzie, to na długo przed ukończeniem Haiku będziemy mogli zobaczyć kompatybilny z BeOS-em na poziomie API system operacyjny, który wspiera nowoczesny sprzęt i wykorzystuje nowoczesne mechanizmy linuksowego jądra. Taki BeLinux byłby też ciekawą odskocznią od GNU/Linuksa, być może docelowo bardziej spójną i wygodną dla Zwykłego Użytkownika, niż Ubuntu czy Mint (nie mówiąc już o Fedorze).

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.