
L’utente normale, di per sè, non riesce a distinguere la differenza tra opensource o freeware: per lui è semplicemente gratis. Nel mondo degli esperti del settore la cosa ha un risvolto molto diverso: opensource = libertà di modificare, creare, aiutare.
Purtroppo, Android, è gestito interamente da Google in maniera closedsource fino alla major release. Google continua ogni 6 mesi a rilasciare una versione di android di nascosto per dare l’effetto sorpresa all’utente ma che si perde in una totale dispersione di versioni che oramai android 2.3 e android 4.1 sembrano due sistemi operativi TOTALMENTE DIVERSI.
Inizialmente, quando venne rilasciata la versione 2.1 di android pensavo che il cuore (kernel+api) di android fossero aggiornate e gestite da google stessa mentre applicativi e interfaccia grafica del produttore (al tempo HTC con il Dram o il Desire) imitando la filosofia linux dove il DE come Gnome/KDE veniva creato da un team, initscript da un’altro, systemd da un’altro e così via… Mi ero solo illuso.
Android ha sbagliato nel voler creare un prodotto unico, a mio avviso doveva creare due canali di updates:
~ Canale google: api android + kernel
~ Canale produttore: apps+launcher+mod personalizzate
In questo modo, abilitando questi «due repository» non sarebbe mai esistita la frammentazione perchè le api sono tutte retrocompatibili e non avrebbero causato danni al canale produttore (o almeno il produttore avrebbe deciso quando eseguire l’update dal repository google dopo una serie di testing).
Dopo questa breve spiegazione degli errori di google nel non aver imitato il mondo linux ma voler creare tutto da sola posso dire che android ha contribuito molto in due ambiti dell’opensource.
~ ARM
Lo sviluppo di android ha fatto sì che le distribuzioni linux iniziasserò a sviluppare le proprie distribuzioni nell’ottica dei processori arm e il kernel da quando è nato android ha avuto un impennata di commit e fix per i dispositivi arm molto elevato. La cosa fa ben sperare per la futura generazione di server o laptop arm a risparmio energetico con una durata della batteria in uso anche di diversi giorni: fantastico per chi odia stare 24h su 24 con il cavo della corrente mentre usa il suo portatile. Nel 2011 google con Android Device Kit ha rilasciato un intero pacchetto api per interfacciarsi con arduino e creare piccoli gadget personali android: c’è chi ha fatto un telecomando per chiudere la porta della stanza, chi ha sviluppato una lampada che si accende/spegne con android, chi una macchina telecomandata con i lego e altre cose a livello di domotica o semplicemnte svago.
~OUYA
Grazie ad android a marzo 2013 verrà rilasciata una console di giochi (tipo playstation/xbox) totalmente opensource. Sulla vostra playstation siete obbligati a comprare cd originali o giochi online dalla piattaforma sony ma non potete creare un gioco da soli, masterizzarlo e giocarci perchè tutti i giochi devono essere certificati dalla playstation e visionati: ecco ouya viene incontro a chi vuole creare giochi e giocarci. Immaginate come android abbia 10000 giochi gratuiti sul play store (ex market android), ouya avrà sicuramente persone che vorranno creare giochi opensource gratis che tu scarichi, masterizzi e giochi senza pagare niente! Ecco il vantaggio di android, permette progetti di questo genere.
Android non ha contribuito particolarmente a linux e al kernel stesso, se scarichiamo i sorgenti di un qualsiasi kernel di HTC/Samsung/LG (che deve essere rilasciato secondo il contratto GPLv2 del kernel originale) ci sono 1000-2000 righe di codice in più dove non c’è scritto quasi niente di rilevante: di solito sono solo collegamenti ai driver closed source del processore, scheda grafica, voltaggi componenti, etc.
Se prendiamo Android come piattaforma dove creare qualcosa di nuovo allora si. Cyanogenmod, Ouya, Arduino, Android X86 sono progetti che, basati o in collaborazione con android, offrono un’esperienza nuova. Anche semplicemente la Cyanogenmod che è una rom (firmware) per i telefoni che aggiunge features utili, nuove e che gli utenti desiderano. Molto spesso android e i produttori come HTC/Samsung copiano le loro modifiche aggiungendole ai loro firmware (ovviamente riscrivendo da zero per non dire che hanno copiato da cyanogenmod). Basta prendere HTC che nel menu a tendina delle notifiche ha aggiunto i collegamenti rapidi a wifi/bluetooth/gps/etc che in cyanogenmod esisteva dalla versione froyo di android.
Ognuno vede questo os opensource come vuole ma per molti aspetti sembra solo un sistema operativo che sfrutta linux per andare per la sua strada. Penso che nonostante android sia stato forkato e poi incluso nuovamente nel kernel originale 3.3 di torvalds riesca comunque a stare per conto suo. Le distribuzioni linux continuano ad aggiornare i propri pacchetti in modo quasi syncrono perchè basta prendere una ubuntu LTS o una Fedora 17 e i pacchetti che vi sono all’interno sono gli stessi o differenziati di una minor release mentra android se prendiamo un device galaxy s e un htc desire con hardware simile la versione del galaxy è ferma alla 2.2.7 mentre quella del htc desire alla 2.1 per colpa della sense.
Il fatto che device con un hardware simile abbiano versioni diverse lascia solo supporre che a google, samsung, htc, lg, sony non frega assolutamente niente della frammentazione e vogliono solo e soltanto vendere.



