Fuchsia, il misterioso sistema operativo di Google

Nonostante qualche tentativo di unificazione poi svanito nel nulla, i sistemi operativi utilizzati da Google nei differenti ecosistemi in cui integrare i suoi servizi cloud si sono finora sempre basati sul kernel Linux: da Android, re del mercato smartphone/tablet, ai Chromebook dotati di Chrome OS, passando per i vari livelli di interazione con Android presenti nei firmware per Android Auto, Wear e gadget come Chromecast e OnHub. Inevitabili quindi gli sguardi attirati dal nuovo progetto software apparso nei repository di Mountain View, nome in codice Fuchsia, un nuovo sistema operativo su cui Google per il momento dice pochissimo, ma il cui kernel non è Linux e pare avere caratteristiche tali da adattarsi ad ognuno dei settori che coinvolgono il gigante della ricerca.

Ipotetico logo di Google Fuchsia

Ipotetico logo di Google Fuchsia (Fonte immagine)

I repository pubblicati sui server Google e mirrorati anche su GitHub presentano unamoltitudine di componenti da cui si può provare a ricostruire le intenzioni di BigG e speculare la direzione che seguirà il suo sviluppo. Quello principale è il microkernel Magenta, basato sul progetto LittleKernel (LK). Il principale focus dei microkernel sono le applicazioni embedded (quantità di memoria limitate, periferiche fisse e un preciso insieme di task da svolgere), ma Google ha esteso LK per adattarlo a dispositivi embedded più potenti, dotarlo del supporto alla modalità utente e di un nuovo sottosistema per la sicurezza. Magenta supporta architetture ARM a 32 e 64 bit, e x86 a 64 bit. È già possibile compilarlo e virtualizzarlo, ma i responsabili del progetto ed esperti conclamati nel settore embedded Brian Swetland e Travis Geiselbrecht hanno svelato sull’aggregatore Hacker News che Magenta gira già “abbastanza bene” su dispositivi reali come Intel NUC e il 2-in-1Acer Switch Alpha 12. Non solo: è in arrivo anche il supporto a RaspberryPi 3, della quale è atteso il supporto ufficiale anche in Android 7.

Andando oltre a Magenta, il principale strumento di sviluppo su Fuchsia pare essere Dart, il linguaggio di programmazione general-purpose sviluppato da Google. Per la UI il toolkit incluso nei repository di Fuchsia è Flutter, capace di supportare sia Android che iOS minimizzando le differenze nella base di codice. È anche incluso Escher, motore di rendering OpenGL/Vulkan basato su effetti di luce, ombre e colore, elementi alla base di molti concetti del Material Design introdotto su Android. Complessivamente è chiara la presenza di un insieme di componenti adatti ad un intervallo eterogeneo di dispositivi, e ciò alimenta le speculazioni che vogliono Fuchsia come futuro rimpiazzo dei sistemi operativi Linux-based sviluppati da Google.Il tutto potrebbe però essere uno dei tantissimi esperimenti nati, cresciuti e morti all’interno di Mountain View senza vedere una vasta applicazione pratica. Nel frattempo è interessante notare quelle che sembrano essere due sostanziali differenze rispetto al modello di sviluppo seguito da Android. Tutto il codice è open source fin dal primo momento e sviluppato sotto gli occhi di tutti, al contrario dello sviluppo in-house di Android a cui segue il dump del codice sorgente nei repository AOSP, un rituale che si ripeterà a settembre con il rilascio di Android Nougat. Inoltre la licenza di quasi tutti i componenti di Fuchsia è la permissiva Licenza MITinvece della Apache 2 di Android, che comunque rimane per parte del kernel Magenta. In ogni caso un grosso stacco dalla viralità del coopyleft del kernel Linux, licenziato sotto GPL v2, e che potrebbe consentire in futuro ridistribuzioni proprietarie di Fuchsia.


Questo articolo è stato pubblicato in origine su Punto Informatico, sotto licenza Creative Commons BY-NC-SA 2.5.