domenica 25 gennaio 2015

Cyanogen molla Goo- CYANOGEN MOLLA GOOGLE???


Non fate gli gnorri e non dite che non l'avete letto da nessuna parte perché praticamente ogni testata giornalista (e non) online ne ha parlato. CyanogenMod vuole cominciare ad allontanare Google dai suoi piani.

Agli inizi degli anni 2000 nasce il progetto Android e, risparmiandovi la solfa dell'acquisizione di Google e della formazione della Open Handset Alliance, viene alla luce il robottino più amato al mondo sotto forma di sistema operativo. Il codice sorgente aperto a tutti ha consentito agli sviluppatori indipendenti di clonarlo, modificarlo e re-distribuirlo sotto diverso nome e un team di sviluppatori indipendenti si è reso protagonista via via sempre di più nel corso degli anni: il team CyanogenMod.

Neanche mi azzardo a fare un po' di storia su di loro, sarebbe un'offesa alla loro reputazione, per cui mi limiterò a dire che grazie a loro, adesso noi possiamo usufruire di una miriade di ROM differenti per un'altrettanta miriade di dispositivi diversi, con la benedizione dei manteiner dei vari dispositivi, sempre pronti ad aggregare patch e nuove feature ad ogni rilascio.
Orde di utenti si sono dimostrate soddisfatte dell'omonima ROM, apprezzando la stabilità, le nuove feature (primo tra tutti il gestore temi avanzato) e la leggerezza tipica degli ambienti AOSP-like.
Altri OEM con reputazioni ben più colossali di Cyanogen hanno dato la loro interpretazione di Android con risultati più o meno soddisfacenti: basti pensare alla TouchWiz di Samsung, alla Sense di HTC, alla Xperia UI di Sony o alla LG UI. Lag e problemi vari a parte, tutti hanno provato a dare una loro interpretazione di Android. Tutti, compreso CyanogenMod col suo Trebuchet come launcher.
Sì, ma non dimentichiamoci che il cuore pulsante di ogni singola di queste interfacce è marchiato Google.



Prendiamoci in giro quanto vogliamo e diciamone da forca e da galera, Cyanogen avrà tantissimi meriti nell'aver compiuto un ottimo lavoro con la propria ROM, ma non scordiamoci che la stragrande parte del codice è scritto dal team Android: librerie, codice java, applicazioni, grafica, xml e tanto altro ancora. E non pensate che modificare una posizione o due nel menù impostazioni ed aggiungere un paio di quicktiles sia chissà quale aggiunta di codice! Certo, il gestore dei temi è una modifica maggiore (oltre ad essere di tutto rispetto), ma non cambia gli equilibri di codice conteso da Google o di codice conteso da Cyanogen più di tanto. Difatti i sorgenti di Android, senza device tree (quindi senza i sorgenti dei dispositivi) vanno dai 10 ai 14 gigabyte. Un file .java appartenente al menu impostazioni pesa dai 2 ai 10 megabyte e la modifica di esso (e del relativo .xml) non è un peso così decisivo da cambiare la struttura dei sorgenti.

Polemica sterile

Non vogliatemene, non ho scritto questa manfrina qui sopra per farvi perdere tempo, ma per farvi provare quel che ho provato io discutendo con un paio di utenti in un gruppo Facebook. Infatti erano queste le argomentazioni di chi imputava a CyanogenMod una "colpa" nel voler distaccarsi da Google dopo che quest'ultimo ha scritto (indirettamente, ovvio) il 98% del codice della CM. Il succo del discorso doveva essere questo: non puoi allontanarti da chi ti ha consentito di nascere, esistere e proliferare.
Sul perché sia una polemica sterile c'è ben poco da pensarci: Google (nella forma del team Android) e la OHA hanno deciso di unirsi e creare un sistema operativo per sistemi ARM per gli smart-device con una caratteristica fondamentale e rivoluzionaria: deve essere open source!

So che è un concetto difficile da assimilare perché la velleità di rivendicazione di un lavoro è sempre forte poiché il nostro ego ha bisogno di essere nutrito, ma la caratteristica di essere open source comporta la libera ri-distribuzione al mercato senza dover, per forza di cose, dar credito a nessuno. 
E la stessa cosa vale per CyanogenMod nei confronti di Google! Non esiste un vincolo legislativo o morale che leghi Cid al robottino verde, l'unico vincolo che domina è quello puramente tecnico, dove il codice eseguito da AOSP e la logica dietro di esso (nonché la struttura) è lo stesso.

Detta in parole povere: doveva CyanogenMod farsi qualche scrupolo nel voler cacciare una frase tanto arrogante verso colui che ha permesso di nascere? Ovviamente no perché tale diritto di staccarsi è contemplato nella licenza d'utilizzo stessa.

E Google?

Ribaltiamo la situazione e guardiamola dal punto di vista di Google. Il risvolto della medaglia per chi pubblica codice (e lo rende quindi open source) è che è possibile avere aiuti da parte di gente esterna che guarda al codice. Se è vero che CyanogenMod ha preso tanto, tantissimo da Google, è anche vero che CM ha restituito tante patch sia al codice java che a quello dei vari kernel e di questo dovrebbero essere riconoscenti i vari OEM che rilasciano i kernel (Linux) per i vari dispositivi. Inoltre c'è da dire che anche diverse feature create da CyanogenMod o, senza andare nello specifico, da altri team, sono stati introdotti in AOSP, come le notifiche Heads Up o il sistema di notifica in stile Hover della Paranoid Android.


Notifiche Heads Up su Android Lollipop.
Insomma, aver scelto l'opzione di aprire il codice a nuove possibilità, ha fatto sì che sia chi ha pubblicato Android, sia chi lo ha clonato possa beneficiarne.

Ma allora perché Cyanogen vuole staccarsi da Google?

Il fulcro del discorso lo sto iniziando a fine articolo, da buon blogger che ti vuole tenere sulla propria pagina (inutilmente visto che non ci sono ads nel blog, che genio che sono).
Mentre è vero che Android gode di sorgenti pubblici, è anche vero che i servizi di Google non lo sono altrettanto: il Play Store, il Google Play Services, Gmail, Drive, Earth e tutte le altre app e servizi sono (comprensibilmente) top secret per proteggere i segreti aziendali del successo di Google.
Una branca di appassionati informatici e attivisti etici però non è d'accordo con questa filosofia, in quanto è probabile che tra le righe di codice benevolo è probabile che vi sia rintanata qualche riga di codice malevolo, che non per forza debba significare virus o backdoor, ma anche solo spyware e servizi non del tutto intellegibili a primo impatto.

Il team Cyanogen rientra in questa branca di informatici, per cui preferisce distaccarsi da tale filosofia aziendale adottata da Google. L'obiettivo sarebbe quello di abbandonare Big G in toto, ma, pensateci, al momento dell'installazione di Cid voi flashate due pacchetti. Avete mai avuto la briga di estrarli e dare un'occhiata dentro?
Il primo, quello solitamente nominato come

cm-12-20150125-NIGHTLY-hammerhead.zip
dove può cambiare la data, il tipo di build e il nome del device, è il pacchetto flashabile che contiene la CyanogenMod, ossia il solo sistema operativo compreso dell'immagine del kernel, delle librerie del runtime, delle librerie per il funzionamento delle periferiche, delle app basilari come il Dialer o il Browser e tutti i vari file addetti alla grafica.

Il secondo pacchetto è quello designato ad installare le Google Apps (o GApps) e solitamente viene nominato come
gapps-lp-20150125-signed.zip
Ma la struttura è totalmente diversa come anche il contenuto.


Aprendo una cartella (in questo caso system) troviamo alcune applicazioni made in Google e tra queste spicca Exchange Services che, altro non è che il gestore delle connessioni in entrata ed uscita coi server Google. Il discorso non cambia neanche spostandosi nelle altre cartelle, solo Google apps.

Quindi, se le app di Google sono già separate dalla CyanogenMod, basterebbe non flashare il secondo pacchetto per rimanere puri da Google, no?

Esattamente, ma CM, dalle conclusioni che ho tirato io, non vuole limitarsi soltanto ad epurare. Se è vero che non flashando le Gapps si ottiene un sistema libero dalla G, è anche vero che l'utente ottiene un sistema mutilato, visto che non disporrebbe di un market da dove approvvigionarsi di nuove applicazioni.

La soluzione?

Ce la da il CEO di Cyanogen che spara a zero sul futuro di Cid e rivela che nel giro di 18 mesi sarà in arrivo un market targato CM e nel giro di 3-5 anni non dipenderanno in alcun modo da Google.

Partiamo dall'affermazione più scandalosa.

Nel giro di 3-5 anni si allontaneranno da Google definitivamente, ma in che senso? Addio clone del codice sorgente? Creeranno loro le novità? Aggiorneranno loro la distribuzione? Insomma, si immetteranno come OS separato da Android nel mercato mobile?

La risposta è sì, almeno considerando quello che ci hanno fatto intendere fino ad ora. Difatti qualche mese fa si è parlato della partnership con MicroMax che ha fatto nascere Yureka, il primo smartphone figlio della collaborazione tra CM e MicroMax. Le intenzioni di CyanogenMod da questo punto di vista sono chiare: mercati emergenti con partner economici e comunità di modders a contribuire al codice.

Ma per quanto riguarda l'abbandono del Play Store? Vorrei dare un titolo al paragrafo in questione, ma voglio che sia pregno di significato, quindi provo con:

Per caso il CEO di Cyanogen ha scoperto l'ebrezza dei funghi allucinogeni?

È davvero recente la notizia che comunica che il Play Store è in netta crescita per quanto riguarda il numero di app e che ha battuto di gran lunga gli altri store (App Store di Apple, Amazon e WP).

Il grafico figo per dimostrarvi che è vero, ci vuole.
Ma quindi perché darsi la zappa sui piedi e mozzare così un sistema operativo performance di un servizio indispensabile per l'utente? Sicuramente per gli aspetti etico-informatici menzionati prima e sicuramente anche per la volontà di staccarsi e di creare una piattaforma indipendente.

Ma come?



Sono sincero a dire che il mio primo pensiero è andato a F-Droid, lo store totalmente open source nel quale vengono pubblicate applicazioni esclusivamente open source. Un conto è costruire da zero un servizio, un conto è prenderne uno affermato e affidabile e ripensarlo per i propri scopi. 
Non mi meraviglierei nel vedere l'acquisizione di tale servizio dai piani alti di CM e vederlo incorporato nello zip flashabile nel breve periodo. Non nascondo neanche che mi farebbe piacere, ma sarebbe una mossa azzeccata?
Non credo proprio. 1 miliardo di applicazioni non sarebbero disponibili (se non attraverso altri canali non sempre facilmente percorribili da utenti non esperti), sarebbe solo possibile scaricare le poche centinaia di app (spesso non aggiornate) disponibili sullo store e ci sarebbe, comunque, il "vincolo" di rilasciare il codice sorgente. Gli sviluppatori di giochi, specialmente i più popolari, non sono molto inclini a questo aspetto, per cui non sarebbero scaricabili, come non lo sarebbero app popolari quali, le prime che mi vengono in testa, Facebook, Whatsapp, Evernote, Twitter etc etc.

Resa dei conti.

È davvero troppo presto per poter predire o giudicare in alcun modo la scelta di CM, perché non ci sono le basi per pensare quel che sarà l'assetto futuro del parco mobile, specialmente in un lasso di tempo così ampio come è quello indicato da Kirt McMaster.
Fatto sta che la mossa di abbandonare Google è tanto ardita quanto, a mio avviso, potenzialmente stupida, ma c'è comunque da apprezzarne il coraggio.

Ora scusatemi, davvero davvero tanto, per tutta la manfrina di questo lunghissimo post, ma non riesco a riassumere all'osso quando l'argomento è tanto vasto e tanto interessante da approfondire.

Per punizione vado a disinstallare il Play Store e a reperire F-Droid, mea culpa.