Project Halium è un progetto open source che mira a costruire una base di lavoro comune per tutti i sistemi operativi non Android, basati su GNU/Linux.
Se sei un appassionato di Android che ha esplorato anche oltre il mondo delle ROM personalizzate puramente basate su Android, probabilmente hai sentito parlare di progetti come Ubuntu Touch, Sailfish OS e simili.
Si tratta di sistemi operativi mobili ambiziosi, spesso di lunga durata, non Android e basati su GNU/Linux. Tuttavia, la frammentazione sta rendendo piuttosto difficile lo sviluppo e l'adozione da parte degli utenti di questi sistemi operativi alternativi... ma è lì che Progetto Halium entra.
Questo progetto open source sta cercando di riunire sviluppatori dai port di Ubuntu Touch, sviluppatori della comunità del sistema operativo Sailfish, il progetto aperto webOS Lune OS e i contributori di KDE Plasma Mobile, tra gli altri sviluppatori (sospettiamo Jolla) per porre fine alla frammentazione visto nella base di livello inferiore del rispettivo progetto. Attualmente, Ubuntu Touch, Sailfish OS/Mer, Plasma Mobile e altri utilizzano diversi alberi sorgente e metodi Android per stack costruiti in modo diverso. Ciò porta a molta frammentazione tra i più popolari progetti di sistemi operativi mobili non Android e basati su GNU/Linux in il loro utilizzo dell'albero dei sorgenti di Android, come viene avviato l'init di Android e come le immagini vengono flashate sul file dispositivo. Molti di questi progetti svolgono essenzialmente lo stesso lavoro, ma in modo diverso.
Idealmente, queste parti non dovrebbero essere separate, poiché tutti questi sistemi operativi hanno lo stesso obiettivo alla fine: avviarsi utilizzando i driver binari Android. Pertanto, l'obiettivo di Halium è quello di lavorare verso una base Linux comune, che possa poi essere utilizzata da tutti questi diversi progetti per l'avvio sui rispettivi telefoni. Questo significa standardizzando la build del kernel Linux e l'HAL di Android (Livello di astrazione hardware), libhybris per il supporto dei driver Android e quindi avere un set standard di componenti dello spazio utente. Successivamente, le decisioni sull'interfaccia di alto livello vengono lasciate ai singoli progetti stessi, ma la base di livello inferiore verrebbe condivisa.
Questo approccio presenta una buona dose di vantaggi che aiuterebbero tutti i progetti di sistemi operativi mobili non Android e basati su GNU/Linux. Lo sforzo di porting condiviso arriverebbe a un HAL semplificato e altre distribuzioni potrebbero funzionare più facilmente sui dispositivi mobili. Una volta gettate le basi, ci sarebbe un "terreno comune" per la comunicazione anche tra i vari progetti. Si tratta di un progetto ambizioso con diverse fasi, a partire dallo sviluppo iniziale di libhybris, quindi abilitare l'hardware (prepararlo) e infine abilitare il dispositivo (espandere e includere nuovi dispositivi oltre al riferimento Google Nexus 5, OnePlus One e Google Nexus 5X).
Se desideri saperne di più o partecipare a questo progetto, puoi contattarci in vari modi. Puoi unirti a #halium per discutere tramite IRC freenode; puoi visitare Halium Telegram supergruppo; o infine puoi chattare usando Matrix (#halium: ishroot.org o #halium: trix.org). Anche se è ancora nelle fasi iniziali, vale comunque la pena dare un'occhiata al progetto. Lo terremo sicuramente d'occhio per vedere come procede e, si spera, come finirà per avvantaggiare queste alternative al sistema operativo mobile!