Android: l'open-source made in Google

Creato il 18 aprile 2010 da Malcommac

Sin dalla sua introduzione nel Luglio del 2008 la politica di revisione con la quale Apple ha gestito AppStore è stata oggetto di vivaci critiche, spesso comprensibili, altre volte condivisibili ma comunque sempre in grado di catalizzato l’attenzione del mondo dell’IT e dei media.
L’idea che dopo essere diventata uno dei più grandi distributori di entertainment Apple abbia iniziato a praticare anche il ruolo di editorialista, censore e insindacabile gestore su ciò che puo’ entrare dentro i suoi iCosi (ultima in ordine di tempo la bocciatura dell’app del premio pulitzer Mark Fiore) piace davvero a pochi.
Questa volta però non parlaremo di Apple ma di quella che viene osannata come la piattaforma universale per il mobile: Android.
Siamo davvero sicuri che il sistema operativo di Google sia il paradiso delle libertà? E’ davvero quella terra dove respirare una nuova aria e dove finalmente il mondo open puo’ sognare il successo mai avuto nel desktop? Le cose, come sempre, non sono tutte rose e fiori…

Andreas Constantinou [1. La strategia di Google con Android nel post "Is Android Evil?"], attualmente a capo del settore ricerca di VisionMobile (ed ex lavoratore alla divisione R&D in Orange), definisce Android con un apparente controsenso: “[…] Si tratta dall’ambiente open più chiuso nell’intera storia informatica.

Il progetto Android nasce nel 2007: l’idea è quella di creare un sistema operativo aperto che permetta alla società di Mountain View di sbarcare nel nascente mercato mobile offrendo i propri servizi ma soprattuto aggiudicandosi una buona fetta del lucroso business del mobile Ad.
La gestione della governance di Android non è però così libera ed aperta come si crede; essa consiste in un elaborato modello di punti di controllo che permettono a Google di impacchettare i propri servizi e controllare nei minimi aspetti le combinazioni di software ed hardware su cui è possibile far girare l’androide.
Google fa tutto questo sbandierando all’interno della propria SDK (Software Development Kit) una delle più permissive licenze, quella Apache: in effetti si può, a ragione, affermare che la piattaforma mobile di Google è tra le migliori realizzazioni di software opensource asservite a scopo commerciale.
In realtà a dispetto di quanto riferisce Chris DiBona (ingegnere a capo dello sviluppo open in Google) a CNet, la licenza Apache sembra sia stata scelta anche per non imporre a Google l’obbligo di rendere pubblici i cambiamenti apportati al codice.
Ma prima di addentrarci in questo discorso vale la pena analizzare come si è arrivati ad un successo che ha davvero poco a che fare con il mondo del codice libero.

A dispetto della fredda accoglienza iniziale, col passare del tempo Android è riuscito a conquistatorsi il supporto di una larga parte dell’industria mobile, compresi diversi operatori di rete e di importanti costruttori di hardware (ovviamente escludendo Nokia). Così dall’unico modello supportato nel 2008 si stima che per fine 2010 ci saranno più di 50 device diversi con Android pre-installato (una previsione che ha messo soggezione a diversi competitor).

Ma come ho già accennato, il successo di Android ha poco e niente a che fare con l’open source; esso può essere ricondotto a 3 diversi fattori:

Apple & Co.

Per quanto strano possa sembrare buona parte del successo di Android proviene dai suoi rivali. Con l’incredibile successo di iPhone e la dittatura prendere-o-lasciare imposta da Apple agli operatori mobili, molti carrier hanno iniziato a cercare alternative meno costose, da una parte per limitare le spese, dall’altra per non legarsi un cappio al collo dietro una sola compagnia (Microsoft docet).
Il fatto che gli operatori di rete siano stati i primi ad appoggiare il progetto Android non ne è che l’ulteriore conferma; la necessità di dare il via ad un iPhone per chi un iPhone non può permettersi (evitando quindi di dover sborsare i 300€ necessari per rimanere competitivi in un mercato Apple centrico) ha convinto parecchi protagonisti a salpare con Google.

Gli Operatori di rete e i carrier

Ce sono parecchi e nessuno ha mai smaniato all’idea di poggiare il proprio business sulle decisioni di una sola società. Android in questo senso ha consentito l’utilizzo di una piattaforma universale poco costosa e di facile customizzazione.
Per i grandi nomi il ricorso all’opzione mainstream ha permesso inoltre di fare investimento sicuro e molto conveniente. Ed è proprio per questo che i progetti di smartphone Android sono spesso sponsorizzati da coppie di costruttori ed operatori di rete, in una sorta di bundle OEM.

Qualcomm

Il chipset maker Qualcomm è un nome che vale 10 miliardi di dollari ed è stato, sin dall’inizio, uno dei grandi sostenitori di Android. I costruttori possono accedere ai manuali di riferimento tecnico di Qualcomm che permettono di avere una sorta di “template” già pronto per realizzare un device Android funzionante; questo è un passaggio fondamentale: oltre a consentire un cospicuo risparmio in termini di sviluppo, permette di ridurre drasticamente i tempi di ingresso sul mercato a 9-12 mesi.
Un supporto simile viene fornito anche da ST Ericsson e Broadcom.

In altre parole gli smartphone Android sono creati seguendo specifiche sempre uguali; il grosso del budget OEM va nella customizzazione. Una scelta del tutto opposta è stata fatto al tempo (2001) con Symbian; qui il grosso dell’investimento OEM finisce invece nel baseporting (integrazione di funzionalità radio e comunicazione sull’hardware).
A conti fatti questo significa che il budget di R&D essendo molto limitato può essere dirottato a livello di customizzazione finale: una vera manna per le tasche dei costruttori.

A tutto questo va poi aggiunto l’hype creato dalla mancanza di royalties sull’SDK che solitamente sono applicate ad ogni unità venduta.

L’open source è stata quindi per Google un’ottima “scusa” per allettare costruttori ed operatori a siedere e banchettare sulla tavola di Android, strafogandosi in cambio di fedeltà e prezzo stracciati.

Il discorso sviluppatori è invece un po’ diverso; pur considerando Android una buona alternativa all’AppStore per ora il mercato risulta poco profittevole e nulla dice che in futuro ci sarà proporzione tra device venduti e volume di applicazioni acquistate (attualmente, rispetto allo store di Apple, il fatturato è almeno 9 volte più basso. Il punto cruciale è capire il tipo di clientela: buona parte dei device su Android spazia in device low-cost acquistati da clienti che potrebbero facilmen
te ignorare o non essere interessati alla presenza dello store stesso – qui invece un articolo che parla di un possibile futuro sorpasso del marketplace di Google ai danni di Apple e Microsoft).

Dietro la bandiera dell’open source

La cosa più interessante è capire quanto sia realmente chiuso l’ambiente Android a dispetto della licenza open con la quale è distribuito.
Parafrasando Henry Ford, tutto potrebbe essere riassunto in una frase: “chiunque può avere Android nel suo colore preferito finchè questo è nero”.
Google ha realizzato una magia generando interesse e successivamente attingendo alle risorse open, pur seguendo una linea molto restrittiva nel suo modello di commercializzazione.

Ma come fa Google ad avere un controllo così stretto dei servizi, del software e dell’hardware presente nei dispositivi con Android? Il gigante di Mountain View ha elaborato una strategia molto elegante, che possiamo riassumere in 8 punti chiave:

Branches private

Ci sono diverse linee di sviluppo private che Google rende visibili ai suoi partner selezionati (generalmente tutte le aziende OEM che lavorano al progetto); si tratta di novità che vengono rese disponibili con almeno 6 mesi di anticipo rispetto alla concorrenza e che permettono agli OEM di rimanere competitivi sul mercato.
In seguito viene poi rilasciata una versione dell’SDK pubblica, il cui principale scopo è quello di permettere l’introduzione delle nuove feature (quelle ormai ‘vecchie’) anche nelle applicazioni di terze parti.

Processo di review chiuso

Al contrario di quello che si può pensare, tutti i revisori del codice lavorano in Google: questo in buona sostanza significa che soltanto Google può avere facoltà di accettare o rifiutare un’applicazione.
A Google inoltre vige una regola non scritta secondo la quale il codice prodotto dai programmatori a Google non è secondo a nessun altro; se provate a chiedere a tutti i developer che hanno contributo alle patch di Android, scoprirete che soltanto pochi contributi sono stati accettati; il resto viene rifiutato senza allegare nessuna motivazione.

Velocità di evoluzione

Google rinnova la piattaforma Android ad una velocità che fino a qualche anno fa era impensabile per il mercato mobile; ci sono 4 major update ogni 18 mesi (da 1.6 a 2.1). I partner OEM non hanno altra possibilità che stare vicino alle scelte di Google, pena la perdita di nuove feature/bug fixes. In questo senso Nexus One, Motorola Droid e HTC G1 sono utili per testare le innovazioni di ogni nuova release.

Software incompleto

L’SDK resa pubblica non è assolutamente sufficiente per realizzare un handset funzionante; mancano infatti parti chiave come l’integrazione radio, pack di lingua, pack relativi ad un operatore e tutte le applicazioni di Google (Mail, GTalk, Maps, Market e tutti gli altri). Ci sono soltanto pochi builder di ROM con uno stack Android completo (tra cui Cyanogen distribution) ma queste non contemplano la possibilità di vendere il device realizzato.

Market ovunque

Il marketplace di Android è il distributore esclusivo e canale di riferimento per le oltre 40,000 applicazioni create dagli sviluppatori indipendenti; ed è regolato attraverso un contratto specifico. Questa tattica rappresenta uno dei più forti punti di controllo che Google può applicare ai distributori OEM: non è infatti possibile (ad eccezione di prodotti particolari come navigatori o telefoni DECT) distribuire un telefono Android senza inserire necessariamente questa applicazione. Il fatto che poi (almeno per il momento) Google abbia una politica molto più liberale di Apple verso il processo di approvazione è una storia del tutto diversa, su cui difficilmente è possibile prevedere futuri sviluppi.

Licenza di distribuzione chiusa

Poco è conosciuto riguardo il contenuto della licenza OHA che ogni OEM deve firmare per vendere Android; quello che si sa è che nessuno può distribuire Android senza accettare le clausole CTS (di cui parlo più avanti).

Roadmap Privata

L’open di Android non arriva neanche alla roadmap; la possibilità di accedervi sono limitatissime, quasi inesistenti. Ad oggi si puo’ consultare soltanto la roadmap relativa alla linea di sviluppo dello scorso anno (praticamente una vita fa); per poterne sapere di più è necessaria una benedizione di Google.

Il marchio Android

Google è l’unico proprietario del marchio Android; questo significa che è anche l’unica società in grado di licenziarne a terzi l’uso. La strada, anzi l’autostrada, è quella di Google. Fare un fork di Android è cosa talmente costosa che soltanto nomi del calibro di China Mobile sono in grado di affrontare simili investimeenti.

La Open Handset Alliance nata in seno al progetto è un altro mito; una volta che Google è riuscita ad attrarre abbastanza nomi eccellenti,ha congelato di fatto i movimenti di questa presunta organizzazione. Ad oggi l’OHA è una bella pagina con un sacco di firme stile VIP club e nulla di più.

Un altro capitolo nella storia di Android è il CTS (che sta per Compatibility Test Suite); si tratta di un test che è necessario affrontare per far si che il proprio device risponda correttamente alle specifiche dettate da Google; questo test va ben oltre la compatibilità con le API, ma mette bocca anche sul sull’implementazione delle feature (hw e sw) fino ad arrivare al design dello smartphone stesso.
L’accordo CTS consente a Google di decidere in modo insindacabile cosa può fare o no un dispositivo, senza che il costruttore possa ribattere.
In questo senso è possibile comparare la CTS alla politica anti-Flash di Apple.

In aggiunta a questo esistono ulteriori clausole e limitazioni che ogni OEM deve accettare per potersi fregiare del supporto ad Android. Tutte queste restrizioni fanno della Android Foundation un bel nome senza nessun potere, se non quello Google-centrico.

Grazie ad Android Google vuole entrare a far parte del business dei servizi per i dispositivi mobili: si va dall’Ad, fino alla fruizione di contenuti (news, mappe ma anche il VoIP) e il pagamento online (una sorta di Visa mobile).

Dopo tutto questo siete ancora sicuri che il comportamento di Google sia così aperto come erroneamente si tende a credere? Se fino ad oggi una certa libertà (soprattuto riguardo la parte più visibile/cruciale, il contatto con gli sviluppatori) è d’obbligo per far si che Android possa prendere piede (e consentire a Google di entrare di peso nel nascente mercato dei contenuti in movimento) non è detto che tale politica rimanga valida anche più avanti.

Va da se che quanto detto non vuole essere una critica a Google o una bocciatura di Android; si tratta semplicemente di un invito a riflettere su quello che è il comportamento di accentramento e controllo che vige in questi anni nell’industria del software, a cui nessuno può sfuggire, certamente ne Google ne tanto meno Android.


Potrebbero interessarti anche :

Possono interessarti anche questi articoli :