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.
I repository pubblicati sui server Google e mirrorati anche su GitHub presentano una moltitudine 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-1 Acer 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 MIT invece 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 .
Stefano De Carlo