Kończy się sierpień. Mamy więc małą rocznicę - niemal dokładnie cztery lata temu został opublikowany pierwszy artykuł związany z postępami w pracach nad Haiku. Zapraszam na jubileuszowy przegląd tego systemu.

Cztery lata to jest już spory kawałek czasu - ogólnie pisaniem o Haiku/BeOS'ie zajmuję się natomiast już niemal siedem lat. Cały ten czas poświęcony był głównie wyczekiwaniu na premierę Haiku i przypatrywaniu się postępom czynionym w pracach nad tym systemem. A z postępem bywało naprawdę różnie - czasami działo się wiele dobrych rzeczy, które przywracały nadzieje na rychłe opublikowanie systemu. Później jednak bardzo często następował marazm. Nadzieję na pierwszą wersję testową mieliśmy już w okolicach 2004 roku - jednakże wciąż i wciąż data ta była przesuwana.

Systematyczne tworzenie przeglądów w tym czasie wymagało ode mnie niejednokrotnie sporego zaparcia - wiele podobnych inicjatyw (z różnych części świata) nie wytrzymywało próby czasu. Oczywiście nie byłoby to możliwe bez wsparcia - chciałbym w tym miejscu podziękować za pomoc przy pisaniu artykułów Marcinowi (który sam stworzył kilka przeglądów) i Hubertowi (który aktywnie pomagał mi w powstawaniu tychże artykułów w ostatnim czasie).

Wszystko wskazuje na to, że oczekiwanie na pierwszą opublikowaną wersję Haiku (na razie wersję alpha) dobiegnie już wkrótce końca. Całe długie oczekiwanie najprawdopodobniej znajdzie swój finał w okolicach 14 września 2009 r., na kiedy została zaplanowana data premiery systemu. Przeglądy będą jednak ukazywać się nadal - prace nad systemem będą przecież trwały :).

Jeśli chodzi o pracę wykonaną przez programistów w ciągu ostatniego miesiąca, to stwierdzić należy, że działo się naprawdę dużo. Główni programiści Haiku spontanicznie zorganizowali tzw. 'Coding Sprint', podczas którego wspólnie pracowali nad wyeliminowaniem istotnych problemów stojących na drodze do wydania wersji testowej systemu. Można było zauważyć również fakt, że podczas wakacji nad systemem pracują studenci w ramach Google Summer of Code i Haiku Code Drive. Prace nad Haiku były zauważalnie szybsze nawet od postępów dokonanych przy tworzeniu systemu ReactOS (porównując ilość pojedynczych zmian w samym kodzie w ciągu ostatniego miesiąca). Osobiście mam nadzieję, że to tempo zostanie już utrzymane - choćby w związku z szansą na zwiększenie ogólnego zainteresowania Haiku po publikacji wersji alpha.

W tym miejscu należy pewnie zadać pytanie o to, jaki jest stan Haiku w kontekście wydania wersji testowej? Z całą pewnością można stwierdzić, że jesteśmy w okolicach wersji alpha, a wiele modułów systemu znajduje się już w fazie beta. System jest stabilny i szybki, obsługuje większość aplikacji napisanych na BeOS'a R5. Ostatnimi czasy dodano obsługę kodowania multimediów i elementy obsługi trybu overlay dla kart graficznych korzystających w chwili obecnej w Haiku ze sterownika VESA (dla których nie napisano dotychczas dedykowanych sterowników). W systemie można już też zamontować partycje sformatowane w NTFS. Korzystając z Haiku ma się uczucie obcowania z systemem mocno związanym z BeOS'em - przy czym dodatkowo w wielu miejscach nowocześniejszym. Na pewno brakuje w chwili obecnej nowoczesnych aplikacji, co może utrudnić swobodę korzystania np. z internetu - miejmy jednak nadzieję, że wraz z popularnością systemu ilość aplikacji będzie rosła. Starsze aplikacje - odziedziczone jeszcze po BeOS'ie - może nie są najnowocześniejsze, ale z pewnością fakt ich dostępności dodaje atutów Haiku.

Poniżej, jak zwykle, bardziej szczegółowa lista zmian dokonanych w kodzie Haiku:

  • wprowadzono poprawki w interfejsie i appserverze;
  • usprawniono tryb VESA;
  • w dalszym ciągu pracowano nad debuggerem;
  • pracowano nad sterownikami do kart dźwiękowych (opensound i hd_audio) i kart graficznych (Intel_extreme, nVidia);
  • wprowadzono istotne poprawki do sterowników USB;
  • w dalszym ciągu intensywnie pracowano nad Locale Kit;
  • usprawniono liczne aplikacje (Installer, Icon-o-matic, Soundrecorder, Zip-o-matic, Activitymonitor, Screen, Powerstatus, Packageinstaller, Terminal, Screenshot, Mail, Showimage, CDPlayer, Diskprobe, Background, Chart, Screensaver, Poorman, Keymap, People, Icon-o-matic, Codycam);
  • dokonano zmian w obsłudze pamięci wirtualnej;
  • pracowano nad portami na maszyny ARM, PPC i MIPS;
  • wprowadzono poprawki w sterownikach do systemu obsługi plików FAT;
  • wyeliminowano najpoważniejsze zauważone błędy w systemie obsługi plików BFS;
  • wprowadzono poprawki w translatorach jpeg i jpeg2000;
  • pracowano nad menedżerem urządzeń i aplikacją do partycjonowania dysków;
  • powstała spora część modułu odpowiedzialnego za kodowanie materiałów audio i wideo (Media Kit);
  • udoskonalono sterowniki ACPI;
  • dodano demo Haiku3d;
  • do obrazu dodano sterowniki do obsługi dysków NTFS;
  • usprawniono obsługę OpenGL;
  • pracowano nad aplikacją Mediaconverter;
  • pracowano nad grą Particles II;
  • wprowadzono poprawki do funkcjonalności związanej z obsługą CDDB;
  • udoskonalono dokumentację;
  • dokonano usprawnień w systemie wydruku;
  • wyeliminowano kilka błędów w jądrze systemu;
  • pracowano nad funkcjonalnością związaną z siecią;
  • dodano nowe ikonki;
  • usprawniono Shedulera;
  • dodano biblioteki libjpeg 7, uaktualniono Fluidsynth do wersji 1.0.9, PNG do wersji 1.2.39 i ffmpeg do wersji z sierpnia 2009;
  • wprowadzono poprawki do sterownika SATA;
  • poprawiono bardzo wiele zauważonych błędów.

Opisane powyżej zmiany wprowadzili (kolejność alfabetyczna, najpierw stała załoga Haiku/SVN): Alexandre Deckner (aldeck), Artur Wyszyński (aljen), Rene Gollent (anevilyak), Axel Dörfler (axeld), Bruno G. Albuquerque (bga), Bryce Groff (bgroff), Ingo Weinhold (bonefish), Clemens Zeidler (czeidler), Joachim Seemer (humdingerb), Stefano Ceccherini (jackburton), Jonas Sundström (kirilla), Jérôme Duval (korli), Michael Pfeiffer (laplace), Ryan Leavengood (leavengood), Marcus Overhagen (marcusoverhagen), Michael Lotz (mmlr), François Revol (mmu_man), Fredrik Modeen (modeenf), Oliver Ruiz Dorantes (oruizdorantes), Philippe Houdoin (phoudoin), Adrien Destugues (pulkomandy), Rudolf Cornelissen (rudolfc), Stephan Aßmus (stippi), Philippe Saint-Pierre (stpere), Oliver Tappe (zooey) oraz Jens Arm, Stephen Doken, Fredrik Ekdahl, Mark Erben, Alexander von Gluck, kallisti5, Ankhur Sethi, Johannes Wishert.