Fa pocs dies es va donar a conèixer la notícia sobre un nou canvi que ha implementat Google en el desenvolupament d'Android, i és que ara el nou model de desenvolupament per a Android a eliminant la publicació d'avenços intermedis al domini públic i restringint la revisió oberta dels canvis en els seus components. Encara que Android seguirà sent una plataforma de codi obert, llicenciada sota Apache 2.0, el codi només s'alliberarà al repositori d'AOSP (Android Open Source Project) una vegada que cada nova versió estigui completament llesta.
Fins ara, el desenvolupament d'Android ha seguit un model mixt, on algunes parts, com la pila Bluetooth, es desenvolupaven públicament, mentre que altres es mantenien a repositoris interns de Google fins al llançament. A més, els fabricants de dispositius amb llicència GMS (Google Mobile Services) tenien accés a la branca interna abans de la publicació oficial del codi font.
No obstant això, Google ha decidit abandonar aquesta estratègia i migrar tot el desenvolupament a la seva pròpia branca interna, eliminant la divisió entre codi públic i privat. En endavant, totes les contribucions i millores es realitzaran de forma tancada, i només s'alliberarà el codi quan la versió final estigui llesta per a la seva distribució.
S'esmenta que aquest canvi no afectarà la disponibilitat del codi per als desenvolupadors de firmware basat a AOSP, ja que aquests solen treballar sobre versions ja etiquetades i no a la branca principal en desenvolupament. Això no obstant, sí que suposarà desafiaments per a aquells interessats a monitoritzar els canvis en temps real, ja que ja no podran seguir l'evolució de components individuals, sinó que hauran d'analitzar els canvis una vegada que la versió completa es faci pública.
Per què hi ha parts Android que es desenvolupen en privat?
En general, fa més d'un any que llança un dispositiu al mercat. I, per descomptat, els fabricants de dispositius volen lliurar el programari tan actualitzat com sigui possible. Alhora, els desenvolupadors no volen fer el seguiment constant de noves versions de la plataforma quan escriuen el codi de les apps. Es genera tensió en tots dos grups entre l'enviament de productes i el no voler quedar endarrerit.Per solucionar aquest problema, algunes parts de la propera versió d'Android, incloses les APIs de la plataforma principal, es desenvolupen en una branca privada. Aquestes API constitueixen la propera versió d'Android. El nostre objectiu és centrar latenció en la versió estable actual del codi font dAndroid mentre creem la propera versió de la plataforma.
Alguns desenvolupadors esmenten que estigui nou model també dificultarà les contribucions externes al projecte, ja que la base de codi d'AOSP estarà sempre desactualitzada respecte a la branca interna, limitant la capacitat de la comunitat per participar activament en l'evolució d'Android.
Entre els elements que deixaran de desenvolupar obertament i es traslladaran per complet a la branca interna s'inclouen:
- El sistema de compilació d'Android
- El motor d'actualitzacions
- La pila Bluetooth
- El marc de virtualització
- La configuració de SELinux
Motius de la decisió de Google
La raó principal d'aquest canvi, segons Google, is simplificar el procés de desenvolupament. Mantenir dues branques paral·leles generava una acumulació de diferèncias entre elles, cosa que requeria un esforç addicional per sincronitzar canvis i fusionar pegats entre la versió pública i la interna. Aquesta escletxa es fa evident en comparar una compilació neta d'AOSP amb les versions beta més recents d'Android 16, que es basen en la branca interna de Google.
Si bé la transició a un model de desenvolupament basat en trunk ha ajudat a reduir la discrepància, aquesta encara persisteix i continua representant un desafiament per a Google.
A més, com que la majoria del desenvolupament de l'API ja es realitzava a la branca interna, la pública quedava freqüentment desactualitzada, provocant conflictes en traslladar canvis entre totes dues. Amb el nou model, Google cerca optimitzar la gestió del codi i reduir la complexitat d'integració, encara que això signifiqui una transparència menor per a la comunitat.