Journal Sources d'android disponibles.

Posté par  (site web personnel) .
Étiquettes :
20
21
oct.
2008
Ça y est, Google livre les sources du projet Android qui, pour rappel, vise à concurrencer les OS mobile de Microsoft ou l'Iphone et dont le premier téléphone le HTC G1 sortira demain.
Elles sont pour la plupart disponible sous la licence Apache 2.0.
Pour ce qui est de les compiler il faudra télécharger un peu plus de 2GB sur le dépot Git et avoir 6GB de dispo. Il y a une explication pour la compilation sous Mac OS et ubuntu (donc les autres distribs). Il vous faudra donc Python 2.4, JDK 5.0, wxgtk (optionnel) et autres packages pour compiler.

Le petit lien qui va bien pour les télécharger : http://source.android.com/

Journal court mais j'ai essayé de mettre l'essentiel.
  • # En bref

    Posté par  (site web personnel) . Évalué à 10.

    Vidéo là :http://sites.google.com/site/io/anatomy--physiology-of-an-an(...)
    Slide ici : http://sites.google.com/site/io/anatomy--physiology-of-an-an(...)

    • Noyau Linux évidement.

    • Pas de Glibc

    • Quelques ajours au noyau : Système d'alarme, logger, debugger,
    • • "Binder" qui facilite les communications inter processus (permet de simuler une sorte de communication objet à la dbus),

    • • Gestion plus agressive de l'énergie.

    • • Librairies écrite en C++ au dessus du noyau :

    • • Bionic une libc maison sous licence BSD: ils expliquent qu'ils ne veulent pas de GPL en user-space !! Et bien évidemment des raisons de taille et de performances.
    Implémente des services spéciaux ajoutés dans le noyau (logging). Ne supporte pas totalement POSIX.

    • • Un webkit modifié pour l'adaptation aux petits écrans

    • • SQLite, FreeType, SSL, ...

    • • Un gestionnaire d'affichage à eux, permettant double buffering, OpenGL ES Natif, ainsi que Hardware 2D. Les surfaces sont envoyés à la puce graphique via des IPC via le Binder.

    • • Gestionnaire audio maison avec mixeur

    • Une HAL en user-space avec GPS, Radio, OpenGL, Bluetouth, wifi en natif

    • Une VM javouille économe en mémoire, très optimisé, et permettant de simuler plusieurs machine virtuelles.

    • FrameWork écrit en javouille au dessus : contenant

    •• Activity Manager
    •• Package Manager
    •• Window Manager
    •• Resource Manager
    •• Content Providers
    •• View System
    •• Telephony Service
    •• Location Service
    •• Bluetooth Service
    •• WiFi Service
    •• USB Service
    •• Sensor Service


    Bref, un beau travail. On sent une grosse réflexion sur ce qu'est devenu Linux aujourd'hui.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

    • [^] # Re: En bref

      Posté par  . Évalué à 6.

      • • Librairies écrite en C++ au dessus du noyau :
      Au dessus de la libc++/libc tu veux dire ?

      Bionic une libc maison sous licence BSD: ils expliquent qu'ils ne veulent pas de GPL en user-space !!
      La glibc n'est pas GPL mais lgpl...
      Et bien évidemment des raisons de taille et de performances.
      La uclibc convient tres bien pour la taille et aurait eu besoin de main d'oeuvre


      Bref, un beau travail. On sent une grosse réflexion sur ce qu'est devenu Linux aujourd'hui.
      Oui c'est un beau travail, bien qu'un peu fou (Quasiment tout redevelopper, ca veut dire qu'on a la main d'oeuvre, les compétences, pas peur d'essuyer des bugs ).
      Mais maintenant la question pour le libre, c'est que ce que ca va devenir :
      - d'autres projets vont réussir a récupérer des composants pour d'autres projets (comme la libc, la machine java) ?
      - comment va s'effectuer la maintenance/bug report : ca ne concerne que la platforme android ou alors ils sont ouvert a d'autres utilisations
      - Accepteront ils des patchs/extensions ?
      [...]
      • [^] # Re: En bref

        Posté par  . Évalué à -1.

        La glibc n'est pas GPL mais lgpl...

        Quel avantage ont-ils donc à laisser sous license BSD leur lib ?

        Laisser aux développeurs netbsd la possibilité de l'utiliser pour les appareils mobiles ?

        Mais c'est vrai, dans la vidéo, il me semble qu'il parle bien de GPL et non de LGPL ...
        • [^] # Re: En bref

          Posté par  . Évalué à 6.

          Laisser aux fabricants de telephones la possibilite de la modifier sans avoir a publier les sources, peut-etre.
          • [^] # Re: En bref

            Posté par  . Évalué à 6.

            Au mon dieu, publier la libc, ça va sûrement les faire couler les pauvres, surtout qu'ils ont déjà le noyau à faire !

            Quand à la modifier, c'est probablement pas non plus l'idée du siècle...

            Enfin bon, Google vient de prouver qu'on peut faire un système Linux probablement largement incompatible avec tous les autres systèmes Linux qui existent. Soit. C'est pas énormément plus débile que Cisco qui code son propre Unix (légèrement buggué...) pour faire tourner ses téléphones. Oublions ce gadget useless et reprenons une activité normale.
        • [^] # Re: En bref

          Posté par  . Évalué à 3.

          Peut-être pour que Apple puisse les intégrer dans leur prochain iphone…
    • [^] # Re: En bref

      Posté par  . Évalué à 4.

      Pire ( http://android.kernel.org/?p=tools/egit.git;a=summary ) :

      Pure Java Git implementation

      "allez fun flex on va réimplémenter git en java lulz."
      • [^] # Re: En bref

        Posté par  . Évalué à 10.

        - Attends Richard, le coup - hic! - de l'imprimante du 3è, c'était pas mal. Ok. Mais ch'te parie que t'es même pas cap d'écrire un éditeur de texte ...
        - Boah attends, trop facile, un étideur. éteudir. éditeur de sexte. Struc. Un OS, kwa. Ch'te dis.
        - Wai mais attends, j'pas fini. T'même pas cap de faire un édi... truc là, en LIPS! Lisp!
      • [^] # Re: En bref

        Posté par  (site web personnel) . Évalué à 2.

        En même temps y en a certains qui font ça pour subversion [http://svnkit.com/].
    • [^] # Re: En bref

      Posté par  . Évalué à 1.

      > Une HAL en user-space avec GPS, Radio, OpenGL, Bluetouth, wifi en natif

      Question : vers quoi ? Des drivers proprios ou libres ? Et eux, en plein noyau ou en userland ?

      De la Couche d'Abstraction Matérielle (CAM), on en a de la bonne (hald), et de la frelatée (madwifi), dans l'existant... ça peut servir à plein de choses, les HAL...
      • [^] # Re: En bref

        Posté par  . Évalué à 2.

        Qu'on me corrige si je dis des conneries...

        En gros, d'après ce que j'ai compris de la vidéo de la conférence, il existe un module pour chaque type de matériel (libgps.so, libril.so, libaudio.so, etc) qui sont chargés à la demande, et qui sont des interfaces vers les pilotes situés en kernel space, ou dans le cas de l'audio, si le pilote audio est libre, via alsa.

        Maintenant, il doit y avoir des personnes qui ont une plus grand compréhension du système que moi :)
    • [^] # Re: En bref

      Posté par  . Évalué à 2.

      Après un rapide regard sur les sources de leur libc, et le README le précise, elle provient à la base de chez OpenBSD. Ils n'ont donc pas tout repris depuis 0.
      • [^] # Re: En bref

        Posté par  (Mastodon) . Évalué à 2.

        à se demander pourquoi ils utilisent un noyau linux...
        • [^] # Re: En bref

          Posté par  . Évalué à 6.

          Parce que la marque Linux a le vent en poupe ?
          Parce que c'est un noyau éprouvé et pour lequel il est relativement simple de trouver des developpeurs ?
          Parce que les ingés de google ont pris celui qu'ils connaissaient le mieux ?
          Parce que le noyau Linux n'est pas indiscociable de GNU/Linux, et que le principe d'UNIX est de pouvoir échanger les briques de base ?
    • [^] # Re: En bref

      Posté par  . Évalué à 2.

      En ce qui concerne les drivers, à mons avis ça va être bien fermé, mais je viens de voir qu'il y a un driver WLAN appelé "tiwlan" donc pour un chip de chez TI. Il est sous une sorte de BSD avec restriction sur l'utilisation du nom TI [http://git.source.android.com/?p=platform/system/wlan/ti.git(...)]. Par contre le firmware est un blob [http://git.source.android.com/?p=platform/system/wlan/ti.git(...)].
    • [^] # Re: En bref

      Posté par  . Évalué à 2.

      Ha, et sinon ils ont l'air d'avoir deux plateformes matérielles, une qui s'appelle "trout" et l'autre "sardine" ...
  • # Peur de la GPL ?

    Posté par  (site web personnel) . Évalué à 3.

    Je ne comprends pas la volonté de tout recoder de google en licence BSD. Pourquoi cette peur de la GPL ?

    On dirait qu'il ne veulent pas que l'on puisse exposer du code DRM ou interdire la tivoisation.

    Cela semble assez irraisonnée comme réaction. Ou au contraire, cela fait penser que Google s'éloigne de son moto "Don't be evil".

    Certe, c'est du beau code bien libre, mais je trouve qu'il dégage une mauvaise odeur par en dessous.

    "La première sécurité est la liberté"

    • [^] # Re: Peur de la GPL ?

      Posté par  (site web personnel) . Évalué à 9.

      Putain vous allez arrêter de nous brouter avec la GPL ?? C'est comme si la GPL était la seule licence libre et que les autres licences étaient une sorte d'imitation frelatée.

      Perso je préfère largement la licence Apache ou BSD à la GPL et je suis bien content que Google ait choisi ces licences.

      Et puis, en réfléchissant deux secondes : si Google avait tout fait en GPL, quel fabricant de téléphone aurait accepté de libérer toutes ces sources pour utiliser Android ? Aucun ! Ici au moins, la base restera libre et pour les extensions proprio, les constructeurs font ce qu'ils veulent.
      • [^] # Re: Peur de la GPL ?

        Posté par  (site web personnel) . Évalué à 3.

        Hum, quel fabricant de téléphone aurait accepté de libérer toutes ces sources ? Hum, j'ai un truc dont j'arrive plus bien à me souvenir, ça commence par neo et ça fini par freerunner...

        Mais bon, sinon, c'est trop bien le libre quand il n'offre aucune liberté à l'utilisateur final, t'as raison.

        Ceci étant dis, je n'ai rien contre aucune licence libre. Je vois franchement pas l'intérêt d'avoir une base libre pour foutre du proprio par dessus. Dans ce cas je peux tout aussi bien utiliser un système proprio, je serais pas beaucoup moins dépendant du bon vouloir des fabriquants.
        • [^] # Re: Peur de la GPL ?

          Posté par  (site web personnel) . Évalué à 6.

          Les constructeurs peuvent laisser leur code libre s'ils le veulent, mais je doute sincèrement (mais j'espère me tromper) que Motorola, Lg ou HTC publient leur code sous licence Apache.

          Maintenant faut aussi remettre les choses dans l'ordre : le code qu'ils ajouteront ça ne sera pas grand chose, 95% du code (le coeur d'Android) sera libre et 5% sera proprio. Et ça, je pense que c'est déjà une grosse avancée parce qu'à par le Freerunner le monde des mobiles était plutôt du genre 100% proprio. Donc merci Google.
      • [^] # Re: Peur de la GPL ?

        Posté par  (site web personnel) . Évalué à 0.

        C'est comme si la GPL était la seule licence libre et que les autres licences étaient une sorte d'imitation frelatée.

        C'est pas la question. La question, c'est pourquoi virer la glibc ou la µlibc pour réinventer la roue uniquement pour changer la licence.

        Concernant le troll licence, si toi tu préfères que certain puissent utiliser ton code sans retour au pot commun, c'est ton problème pas le mien.

        "La première sécurité est la liberté"

        • [^] # Re: Peur de la GPL ?

          Posté par  (site web personnel) . Évalué à 4.

          > c'est ton problème

          ben non, justement
          Si on met un code en BSD c'est justement que ce n'est pas un problème (sinon on met une autre clause, ou une autre licence)

          perso j'aime bien la BSD. non pas que je metterais tous mes softs en BSD, mais parfois la GPL me gave. Et alors ? si quelqu'un met un soft en BSD, on ne peut que lui dire merci, de la même manière que s'il avait mis en GPL, dans les deux cas il fait du libre est c'est vraiment le plus important.
        • [^] # Re: Peur de la GPL ?

          Posté par  (site web personnel) . Évalué à 3.

          C'est pas la question. La question, c'est pourquoi virer la glibc ou la µlibc pour réinventer la roue uniquement pour changer la licence.

          P't'être bien parce que ça ne correspondait pas à ce qu'ils voulaient, et qu'ils ont préférer se faire quelquechose sur mesure vu qu'ils en ont les moyens ?

          Concernant le troll licence, si toi tu préfères que certain puissent utiliser ton code sans retour au pot commun, c'est ton problème pas le mien.

          Exactement, je ne l'aurais pas mieux dit : c'est le problème de Google, pas le tien !
    • [^] # Re: Peur de la GPL ?

      Posté par  . Évalué à 3.

      La tivoization est possible avec la GPL2, et Linux est toujours sous GPL2
  • # Hum 6Go?

    Posté par  (site web personnel) . Évalué à 4.

    Pourquoi y a besoin de tellement d'espace pour compiler un truc qui est quand même censé être mis dans de l'embarqué ? Où alors c'est qu'il faut 6Go d'outils pour réaliser le tout petit binaire, ce que je comprendrais mieux ?
    • [^] # Re: Hum 6Go?

      Posté par  . Évalué à 3.

      Je connais pas bien android mais je connais un peu openembedded(le systeme de construction d'image et de paquets uttilise entre autre par l'openmoko):
      par exemple pour openembedded malgres le fait que le tarball ou l'image a flasher prend peu de place il faut de la place pour:
      *les archives des sources
      *les outils natifs pour compiler le cross-compiler et compiler certains binaires(donc gcc,glibc etc...)
      *les outils cross-compiles(gcc,glibc ou uclibc,les librairies etc...)
      *les archives des programmes que tu as cross-compiles(ipk ou opk ) pour les distribuer(par exemple si tu crees ta distribution tu as comme pour ubuntu un mirroir ou tu met tes binaires afin de )
      les outils natifs et les outils cross-compiles ne peuvent etre compresses car ils sont necessires pour compiler ton paquet...
      et encore 6GO c'est pas beaucoup...avant le changement d'ABI de TMPDIR d'openembedded, mon TMPDIR me prenais environ 35GO(mais j'avais compiles beaucoup de choses tels que mplayer,wesnoth etc...)

      De plus si ton image est en jffs2(image pour peripheriques MTD(c'est a dire de la flash sans interface qui abstrait le disque dur(comme par exemple mass storage) ) ) il faut savoir que le systeme de fichier jffs2 est compresse

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.