Smartphone: “breve” guida agli acquisti – parte 3: dentro Android

parte 2: l’ascesa di Android

Siamo arrivati alla terza puntata di questa serie, dopo due articoli storici che spero non abbiano causato terribili sonnolenze. Abbiamo visto come Google (attraverso Android) ed Apple sono riusciti a condividere il mercato degli smartphone e lo tengono ostaggio, spesso con metodi poco leali.

Innanzitutto vorrei togliere dalle opzioni di scelta l’iPhone. Chi lo acquista entra in possesso di un oggetto di design che prescinde dal motivo per cui è stato costruito, inoltre non possiede nessun elemento tecnico interessante da trattare. Ha un’interfaccia grafica obsoleta, utilizza una componentistica con almeno mezzo anno di ritardo, è fragile e costa uno sproposito. Chi non si convince di questo è perché è un Apple fan e come tale ha imparato a convivere con tutti i compromessi di utilizzo che impone Apple, impossibile da convincere. Quindi, non voglio usare questo spazio per motivare le mie affermazioni, non trovando l’argomento particolarmente stimolante. Passiamo, piuttosto, ad analizzare Android che grazie all’unico pregio di utilizzare Linux come kernel rende il resto dei difetti quantomeno, e in mancanza di alternative, più interessanti da discutere.

Nei tempi in cui Android cominciò timidamente a fare il suo ingresso in scena, il mondo sviluppava a pieno ritmo in modo condiviso: la maggior parte delle aziende, anche concorrenti, da decenni avevano iniziato a condividere le parti più interne dello stack software e farsi concorrenza sull’hardware e sulle interfacce grafiche. Stiamo parlando del mondo open source che è regolato da licenze e la più comune di queste è la GPL (Gnu Public Licence). Questa, in poche parole, prevede che se si modifica un software GPL o lo si include nel proprio stack (link) il software sviluppato deve essere rilasciato con la medesima licenza. Significa che questa si espande a macchia d’olio andando ad intaccare qualsiasi altro componente che entra in contatto diretto o indiretto con essa (fa eccezione il kernel Linux che, seppur licenziato con GPL, non è incluso come fosse una normale libreria).

Google fece l’errore che molte aziende poco esperte tendono a fare, ossia aver paura di licenziare con GPL per non vedersi costretta a rilasciare i sorgenti di tutti i componenti del proprio software per cui Google paga fior fiore di ingegneri. Decide, quindi, di ridisegnare lo stack di Android, riscrivere alcune librerie fondamentali e, quindi, non sporcarsi le mani col GPL. Si tratta, però, di una scelta che non pagherebbe se non fosse che Google l’ha sostenuta negli anni con vagonate di dollari per sviluppare programmi già esistenti ed ampiamente adottati negli ambiti più svariati.

Un esempio è bionic, la libreria C che sostituisce la storica Gnu C library (Glibc), che avrà anche i suoi difetti ma è praticamente utilizzata in tutto il mondo Linux. Tant’è che Google si vede costretta a sviluppare nuovamente tantissimi programmi base dipendenti dalla glibc, come ls, cp, mv, ecc., peggiorandone, ovviamente, le prestazioni.

Google si trova anche a fronteggiare il gravoso problema della inconsistenza delle interfacce che offre il kernel alla cosiddetta userspace. Lo fa, però, in casa tra le proprie mura domestiche, aggiungendo un livello ulteriore che connette kernel e userspace e che chiama, con poca originalità, HAL (Hardware Abstraction Layer) e ne specifica le interfacce (API). Funziona così: normalmente quando un produttore sviluppa un componente che andrà in un telefonino deve accompagnarlo con il device driver, generalmente rilasciato in GPL. In Android il produttore è costretto anche a sviluppare la parte HAL rispettandone le specifiche ma, d’altro canto, non ha l’obbligo di rilasciare il codice. Così che i fornitori, attratti dall’opportunità di nascondere il proprio sorgente, muovono l’intelligenza del driver in HAL facendolo, quindi, diventare, una pattumiera di file binari che nessuno sa con esattezza cosa fanno (per smontare le smanie complottistiche, nella maggior parte dei casi trascorrono il tempo aspettando ed occupando inutilmente risorse).

parte 2: l’ascesa di Android

One Reply to “Smartphone: “breve” guida agli acquisti – parte 3: dentro Android”

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Share via
Copy link
Powered by Social Snap