Nonostante tutti gli sforzi di Google per eliminare la frammentazione di Android fra gli smartphone realizzati dai produttori partner (rendere tutto modulare con Project Treble e Project Mainline su tutti), il risultato finale è che sono necessari da 6 a 12 mesi prima che uno smartphone non Pixel riceva l’aggiornamento alla nuova versione di Android. Google però ha una strategia più drastica per frenare questa cosa e arrestarla una volta per tutte.
Android si sta spostando su un nuovo modello “upstream”, allontanandosi dal tradizionale layout biforcuto che può causare ritardi nel software.
Attualmente, il codice open source AOSP di Android viene modificato più e più volte (dai produttori di SoC, dai produttori di smartphone per adattarlo alle loro ROM e dagli operatori telefonici), fino a rendere il risultato finale molto diverso da quello iniziale. Insomma, prima che un dispositivo venga aggiornato, il kernel Linux passa attraverso più fork: da Linux in “Android common”, quindi nella versione specifica del SoC, prima di raggiungere finalmente la sua iterazione specifica del dispositivo.
È un notevole lavoro per ogni azienda coinvolta ed è uno dei principali fattori che contribuiscono al problema della frammentazione di Android. Tuttavia, con la Generic Kernel Image (GKI), finalmente disponibile con l’ultima versione di Android, questo processo dovrebbe semplificarsi nei prossimi anni.
Alla fine, Google vuole che i produttori passino a un’interfaccia del modulo kernel, o sistema KMI, dove tutto ciò che devono fare è inserire le rispettive modifiche al kernel principale. In sostanza, invece di implementare tre o quattro fork diversi, sarà necessario eseguirlo solo una volta.
Come spiegato dall’ingegnere del software di Google, Todd Kjos: “La grande spinta è ottenere tutto il codice specifico dell’hardware dal kernel generico e nei moduli del fornitore. Una delle parti più importanti di questo sforzo è che dobbiamo avere un’interfaccia stabile tra quei moduli del fornitore e il kernel generico, che possono spedire in modo asincrono.”
L’intero processo di Google di muovere lo sviluppo di Android con il modello “upstream” molto probabilmente inizierà solo nel 2023, con il 2020-2022 dedicato a farlo funzionare per soluzioni preesistenti. Il Pixel 6 dovrebbe essere il primo dispositivo Android a essere fornito con GKI e kernel Linux 5.10, segnando un passo importante in questo processo.
Chiaramente tutto questo va ben oltre ciò che l’utente finale potrà “toccare con mano” ma è un bene che dietro le quinte si lavori affinché gli aggiornamenti per gli smartphone arrivino più velocemente.