Haiku

Haiku, conosciuto in passato come OpenBeOS, è un progetto open source che mira a ricreare ed estendere il sistema operativo BeOS.

Il progetto punta ad essere compatibile sia a livello di sorgenti che di binario con BeOS in modo da consentire una migrazione indolore degli utenti verso Haiku. Questo consente agli utenti di Haiku di avere a disposizione un insieme di programmi già funzionanti e testati. Nel contempo gli sviluppatori possono testare che il comportamento di Haiku sia comparabile con quello di BeOS e che la compatibilità sorgente e binaria sia davvero funzionante, potendo riutilizzare sia le applicazioni binarie che il codice di terzi già scritto per BeOS.

Storia
Haiku inizialmente venne chiamato OpenBeOS quando nel 2001 il progetto fu avviato, precisamente pochi giorni dopo l’annuncio della vendita delle proprietà intellettuali della Be Inc. alla Palm viene fondato il progetto OpenBeOS. In seguito si decise di cambiare il nome per evitare possibili problemi legali con Palm, Inc., che avendo acquistato i diritti intellettuali di BeOS, avrebbe potuto ostacolare il progetto open source, onde evitare confusioni tra il BeOS ufficiale e il nuovo sistema operativo.

Nel 2003, per finanziare lo sviluppo del sistema un’organizzazione no-profit (Haiku Inc.) è stata registrata a Rochester (New York), e nel 2004, dopo una notifica dell’infrazione del trademark di Palm sul nome di BeOS il progetto è stato rinominato Haiku. Il nuovo nome venne deciso dagli sviluppatori del progetto e fu ratificato dalla comunità nel WalterCon 2004. Il nome vuole riflettere l’eleganza e la semplicità della piattaforma BeOS, esso inoltre cita i particolari messaggi di errore di NetPositive, il web browser di BeOS e di molti altri programmi per BeOS.

Nelle settimane che vanno tra marzo e aprile 2005 il progetto ha posato alcune delle pietre miliari tra le quali il funzionamento delle prime applicazioni grafiche che utilizzano Haiku, come il suo primo web browser. Le applicazioni si avvantaggiano dell’accelerazione grafica e sia le librerie che i programmi che i driver sono stati sviluppati da zero, non fanno uso del codice originale del BeOS e quindi sono totalmente liberi da ogni licenza.

Il 1º aprile 2008, dopo circa sette anni di sviluppo incessante, gli sviluppatori hanno annunciato che è possibile compilare Haiku da sé stesso. Ciò viene comunemente definito come Self Host, e porta ad una maggiore semplicità nello sviluppo del sistema operativo perché consente di farlo dal sistema stesso, senza utilizzarne altri. Durante la prima settimana di settembre 2008 sembrava che ci sarebbe stato l’imminente rilascio della prima alpha in occasione del diciannovesimo BeGeistert denominato, con un voluto gioco di parole, “Alphaville”, la notizia è stata poi smentita dai fatti. L’evento si è tenuto a Düsseldorf nei giorni tra il 13 ed il 17 ottobre.

Cronologia versioni

  • Il 14 settembre 2009, è stata finalmente rilasciata la prima alpha denominata “Haiku R1 Alpha1”. È possibile quindi scaricare l’iso del sistema per testarla come Live CD o installandola anche su hardware reale.
  • Il 10 maggio 2010, è stata resa disponibile la seconda release ufficiale “Haiku R1 Alpha2”.
  • Il 18 giugno 2011 è stata rilasciata la terza versione alpha denominata “Haiku R1 Alpha3”. Questa nuova versione aggiunge il supporto in lettura e scrittura dei file system Btrfs, Ext4 e exFAT, inoltre aggiunge molte localizzazioni e il supporto per l’hardware è stato migliorato ulteriormente.
  • La versione alpha 4.1 è stata resa disponibile il 14 novembre 2012. Nelle intenzioni degli sviluppatori, questa avrebbe rappresentato l’ultima alpha e la successiva pubblicazione avrebbe dovuto essere la Beta1. Il prolungarsi dei tempi di sviluppo hanno però portato nel febbraio 2014 la decisione di realizzare un’ulteriore versione Alfa.
  • Il 28 settembre 2018, è stata resa disponibile la prima release ufficiale “Haiku R1/beta1”
  • Il 9 giugno 2020, è stata resa disponibile la seconda release ufficiale “Haiku R1/beta2”
  • Il 26 luglio 2021, è stata resa disponibile la terza release ufficiale “Haiku R1/beta3”
  • Il 23 dicembre 2022 è stata resa disponibile la quarta release ufficiale “Haiku R1/beta4”

E’ possibile scaricare l’ultima versione dal sito principale: https://www.haiku-os.org/get-haiku

Da qui invece, sono disponibili i vari software per Haiku: https://depot.haiku-os.org/

Caratteristiche tecniche
Haiku è sviluppato per la maggior parte in C++, e fornisce delle sue API object-oriented, conosciute collettivamente con il nome di kits, i server invece sono quei componenti che utilizzando i kit implementano tutte le funzionalità del sistema.

I server e le API sono sviluppati da un insieme di sviluppatori volontari che affascinati dal sistema mantengono in vita il progetto. Haiku è in stato di beta e per quanto mancante di alcune parti non fondamentali, può essere considerato completo e sufficientemente stabile per essere utilizzato tutti i giorni con alcune limitazioni.

Il design modulare di BeOS ha permesso di sviluppare i componenti in squadre di sviluppatori divise e relativamente isolate, nella maggior parte dei casi i moduli erano originariamente usati come rimpiazzo per quelli di BeOS, questo ha permesso lo sviluppo di molte parti del sistema prima che Haiku fosse pronto.

Il kernel di Haiku è basato su un fork di NewOS, il kernel originariamente sviluppato da Travis Geiselbrecht, uno degli sviluppatori di BeOS. Attualmente il kernel di Haiku è considerato abbastanza stabile e completo per supportare tutte le caratteristiche di un sistema operativo moderno.

Software compatibile
Attualmente, col passare del tempo e degli sviluppatori che man mano contribuiscono alla scrittura di software e al porting delle applicazioni, il parco software di Haiku aumenta via via, grazie anche al porting delle applicazioni QT (recentemente è stato ad esempio portato QupZilla, un browser QT, in versione 1.4.0) e del recente porting di OpenJDK che consente di eseguire applicazioni Java e Swing su Haiku, come ad esempio Thinkfree Office.

Per il resto l’utilizzo di software originariamente scritto per BeOS sconta il fatto che si tratta di software risalente almeno a dieci anni fa e con le ultime nightly builds, un certo numero di vecchi software, hanno la necessità di essere aggiornati.

Il sistema utilizza parti del progetto GNU.

Il software viene rilasciato con il formato di gestione dei pacchetti HPKG.

HPKG
HPKG (noto anche Haiku Delta Packages) è il formato di file adoperato dal sistema operativo Haiku per il suo sistema di gestione dei pacchetti.

Struttura
Un file HPKG comincia con un magic number, che lo identifega come tale, vi è poi un header, che al suo interno ha informazioni come il numero di elementi all’interno del file, l’offset dei dati ecc, che servono al sistema per interpretare il file. Il resto del file è logicamente inteso come heap ed è diviso in chunk, sequenzialmente ordinati, che possono essere compressi e, se lo sono, quando decompressi hanno una grandezza di 64 KB, eccetto quello finale, che può avere una dimensione arbitraria. Infine, si trovano le lunghezze dei chunk compressi, che permettono ad Haiku di accedere al file con acesso casuale e di sapere quando fermarsi nella decompressione dei chunk.

Installazione
I file HPKG possono essere prelevati dalla utility inclusa Haiku Depot, dal tool a riga di comando pkgman o da una fonte qualsiasi.

L’installazione, i tool citati fanno in automatico, consiste nello spostare il pacchetto nella directory /system/packages, dove verrà montato in sola lettura nel file system virtuale del sistema.

La disinstallazione può avvenire utilizzando il Tracker per cancellare il pacchetto da quella directory, o tramite il gestore pacchetti.