# Haiku (sistema operativo)

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.
* 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"
* Il 13 settembre 2024 è stata resa disponibile la quinta release ufficiale "Haiku R1/beta5"

## 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 (ad esempio nel marzo del 2013 è stato portato QupZilla, un browser QT, in versione 1.4.0) e del porting di OpenJDK (avvenuto nell'agosto del 2012), 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 venti 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.