giovedì 5 novembre 2009

Android? Ciofeca!!!


Executive summary: Android is a screwed, hard-coded, non-portable abomination.


Some weeks ago I was attending Embedded Linux Conference Europe. My personal highlight at this event
was the excellent Android Mythbusters presentation given by Matt Porter.


As you may know, Matt Porter was heavily involved in the MIPS and PPC ports of
Android, so he and his team have seen the lowest levels of Android, more and
deeper than even cellphone manufacturers ever have to look into it.


The slides of his presentation are now available for download. I would personally recommend this as mandatory reading material for everyone who has some interest in Android.

Sommario: "Android è un'incasinatissima abominazione, non portabile e zeppa di hard-coding".

Lo conferma Harald "LaF0rge", uno degli hacker che stimo di più (attualmente impegnato nella creazione di una versione open source -hardware e software- del GSM).

Le slide di cui sopra mostrano Android come non l'avete mai visto: codice raffazzonato, codice non portabile, quindici anni di userspace engineering gettato via senza motivo... vergogna! Ecco cosa succede a pagare dei consulenti a progetto anziché far lavorare nello spirito dell'open source (dove non puoi fare idiozie nel codice perché le vedrebbe l'universo mondo!)

Del resto era questo il motivo per cui non mi ero mai fidato troppo ad associare la parola "Android" alla parola "Linux".

Se prendiamo un "Linux" e lo appestiamo con modifiche poco pulite e trasferiamo in kernelspace/rootprivileges cose che si potevano fare benissimo nell'userspace... si può ancora parlare di "Linux"?

4 commenti:

  1. Sono molto poco daccordo!

    Potrebbe essere anche vero. E allora? L'importante è che ci sia la volontà e le risorse per rifattorizzare le porcate e rendere più stabile e performante il codice, come l'extreme programming insegna!
    Come so che c'è questa volontà? Semplice, vatti a guardare le prestazioni dell vecchia versione e della 2. Noterai delle belle differenze. E poi, visto che hai un bellisiimo telefono, sony ericson perchè non ti vai a gurdare i video dell nuovo X10?
    A me piace molto ma sicuramtente srà fuori dalla portata delle mie tasche.
    Ciao

    RispondiElimina
  2. Sulla scarsa portabilità si può anche chiudere un occhio (anche se prima o poi, nei prossimi anni, qualcuno ne avvertirà la fregatura: infatti ad accorgersene sono stati quelli che si son dati da fare per il porting di Android su piattaforme PowerPC e MIPS... e quando tenteranno di portarlo ad altre piattaforme? che succederà?).

    Ma sull'abuso dei root privileges (che non andrebbero toccati se non c'è assoluto bisogno) e sull'aver inutilmente snobbato la "userland", c'è parecchio da ridire, perché prima o poi sbucheranno problemi di sicurezza da far impallidire.

    E quando ciò succederà, tutti quelli che avranno detto "Android=Linux, dunque Android=ottimo" avranno cocenti delusioni...

    LaF0rge è uno dei più affidabili e rispettabili smanettoni in circolazione, per cui penso che ci si possa fidare di questo suo commento.

    E se poi andiamo a dare un'occhiatina alle slide della presentazione "Android mythbusters"... ;)

    RispondiElimina
  3. Ah, non c'era nessun giudizio sull'estetica e sulle funzionalità.

    RispondiElimina
  4. Ciao,
    premetto che non sono andato molto a fondo ma ho dato una occhiata alla presentazione Android mythbusters

    e mi è sorto un dubbio. Ma questi signori pensavano di fare girare un linux completo su un sistema embedded? Che significa pthread non completi o rimozioni del sistema udev?
    Semplicemente, come tu mi insegni avendolo fatto su beagleboard, un taglio di funzionalità al fine di rendere più leggero e gestibile quello che resta. Lo stesso Linus tempo addietro si lamentò del fatto che il suol eggerissimo kernel non è più cosi leggero e avrebbe bisogno di una dieta massiccia.
    E comunque :
    in questo momento sul mercato c'è:
    Win mobile: NO COMMENT
    IPhone OS: lasciamo perdere
    Maemo. Bello ma tutt'altro che open
    OS proprietari e blindati: non sappiamo niente di come sono fatti dentro quindi no comment

    Come vedi purtroppo niente scelta o Android o software proprietario!

    Tra l'altro per dirtela tutta non ho intenzione di entrare nel mercato degli OS. Lascio a Google l'onere di far funzionare il sistema e mi dedico allo sviluppo di ciò che ci gira sopra!

    Bye

    RispondiElimina