« La fin d’Android ouvert », quand les journalistes confondent tout

 

Ce n’est pas la première fois ni la dernière fois que je tombe sur un article tiré par les cheveux. MacPlus vient de publier un article titré Des documents officiels confirment la fin d’un Android « ouvert », c’est le moment de remettre les choses en place. 

14.02.13-MADA (1)

La source de l’article est un document officiel qui énumérerait les cadres du MADA (Mobile Application, Distribution Agreement) passé entre Google et ses partenaires. Vous pouvez retrouver le document complet à cette adresse. L’article de MacPlus met en évidence les dangers pour les consommateurs, et le risque pour les acteurs de l’écosystème.

Dianne Hackborn (ingénieur chez Google) était récemment intervenue pour une question assez similaire. Elle avait déclaré que l’objectif pour Google était « de créer un terrain de jeu plus équitable pour tout le monde« . Il fallait une plateforme où il est beaucoup plus facile pour les petits joueurs de s’affronter contre la plateforme dominante sur un terrain de jeu plus équitable.

Comme vous allez le voir dans la suite de l’article, Google fournit le socle, mais Google est également dans la compétition qui utilise ce socle de la même façon que les autres. Le déséquilibre apparent vient de la puissance de Google, mais pas de la conception d’Android, comme je vais vous le montrer.

Tout est une histoire de nuance. Commençons. Une grosse partie du code d’Android est open-source, c’est ce que l’on appelle « Android Open Source Pproject (AOSP) ». Vous pouvez télécharger les sources et compiler une version d’Android très complète (ce n’est pas accessible aux novices). Vous retrouverez la base d’un système d’exploitation avec Android et son noyau Linux, la machine virtuelle Dalvik ainsi que des parties de l’interface utilisateur de base (paramètres d’ application, le panneau de notifications, l’écran de verrouillage, un launcher de base, un composeur, la gestion des contacts, l’appareil photo, un calendrier, un client e-mail, etc.). Cette version « de base » est assez complète et permet d’avoir un smartphone fonctionnel.

Afin de vulgariser, on peut dire que Android est composé de trois couches :

  • Le noyau Linux : il s’agit de la gestion de la partie hardware (Kernel, drivers, etc.), seuls les constructeurs et les solutions de sécurité travaillent sur cette couche
  • La couche «Java» et toutes les fonctionnalités logicielles : dans cette couche, on retrouve la machine virtuelle (Dalvik ou ART), ce qui va permettre aux développeurs de dialoguer avec le téléphone, mais aussi la couche 3D avec Open GL. On appelle ça le « middleware ».
  • La couche applications : ce que vous voyez, vous pouvez facilement interagir avec !

Cette « base AOSP » est open-source, elle sert à réaliser des distributions d’Android. Que cela soit les ROM de CyanogenMod, ou encore les « vrais » forks comme nous pouvons les trouver sur les Amazon Kindle ou les distributions chinoises (telle que Alyun OS). Bref, Android est effectivement un système d’exploitation libre et open-source, publié sous licence Apache. Comme le dit Julien Del Rio, « AOSP est une solution clé en main« .

D’autres parties d’Android ne sont pas open-source, cela comprend une grande quantité de services Google. En effet, Google fournit beaucoup de valeur au-dessus d’Android, avec un écosystème très complet d’applications et de services basés sur le cloud. Google Play, Gmail, Google Drive, Google Play Games, Google Now, Google Maps, Chrome, Google Cloud Messaging (les notifications) sont autant de services qui sont utiles pour les utilisateurs et les développeurs. Si vous développez une application qui tire partie de l’API de Google Maps ou encore des serveurs de Google Cloud Messaging pour vos notifications, vous allez devoir revoir une partie du code pour soumettre vos applications sur les tablettes Kindle ou sur BlackBerry 10. Néanmoins, les « forks » d’Android proposent des alternatives aux solutions de Google, la plupart de temps.

Ce que je dis n’est pas un secret, c’est une réalité depuis le lancement d’Android en 2007. La conception initiale de la plateforme a été claire depuis le début, si un partenaire veut lancer un smartphone équipé par les services de Google, il doit signer un accord cadre et respecter un cahier des charges précis (caractéristiques minimum). Cela permet d’offrir une expérience homogène avec la « Google Experience ». Google a mis en place plusieurs niveaux de coopération ; les plus gros partenaires (comme Samsung, LG, HTC , Sony ou encore Intel) peuvent ainsi bénéficier des mises à jour Android parmi les premiers.

Cette certification permet aussi de « driver » le marché Android. En effet, Google peut permettre l’adoption plus rapide des versions d’Android récentes. Sans pouvoir obliger les constructeurs à mettre à jour leurs anciens appareils, il les oblige déjà à utiliser les versions récentes d’Android. Dans le tableau ci-joint (Android Police), vous pouvez ainsi observer les « dates d’expiration » des versions Android. Ainsi, tous les appareils Android certifiés par Google sortis après cet été 2014 seront équipés au moins d’Android 4.4 KitKat. Une bonne nouvelle pour les utilisateurs.

medium-144190

Cette certification permet tout de même aux partenaires de pré-embarquer leurs solutions, vous pouvez donc retrouver des clients e-mails alternatifs, des applications agenda, des API complémentaires pour les développeurs… sur des Samsung ou encore des HTC. Ce fameux « cadre » que Google propose est en réalité une solution commerciale nommée « Play Services » dans lequel on retrouve également ce que l’on appelle GMS (c’est le nom du framework de services). En gros, GMS est un code propriétaire de Google mis en place sur le dessus d’Android pour interagir avec les services de Google. On se retrouve donc avec une offre technique et commerciale.

Dans ces appareils certifiés, et contrairement à iOS, il est possible de remplacer la quasi-totalité des briques logicielles dans Android. Vous voulez changer de fournisseur de localisation ? Le lanceur d’applications (launcher) ? Le navigateur ? L’application de SMS/MMS ? Le composeur (dialer) ? C’est possible. Sur cette « couche logicielle », tout peut être changé.

Si tout peut être changé, l’autre problématique à poser est « Est-ce qu’une alternative solide existe ? ». En effet, GMS et Play Services comprennent des outils techniques et logiciels pointus avec une multitude de fonctions très utiles aux développeurs. Vous comprenez donc que se passer du GMS, c’est prendre des risques. On sort de « l’expérience Google » et on doit développer une grosse partie de l’écosystème. C’est ce qu’Amazon a choisi de faire avec les tablettes Kindle, cela ne l’empêche pas de proposer son « App Store » aux appareils non-Kindle. C’est également possible sur Android, vous pouvez installer des markets d’applications alternatifs.

Comme vous pouvez le constater, Google a créé un terrain de jeu équitable. Même si dans les faits, il est plutôt compliqué de se passer entièrement des services Google, cela reste possible. Au sein même des appareils certifiés par Google, il est également possible de remplacer de nombreuses briques, le constructeur lui-même peut le faire, mais aussi les utilisateurs.

Evidemment, il est possible de se poser quelques questions. Google pourrait décider d’intégrer les services de cloud computing dans la plate-forme de base (AOSP), il pourrait décider également de restreindre l’utilisation des différentes machines virtuelles et donc de limiter encore plus l’intérêt d’utiliser Android en dehors de « l’expérience Google ». Néanmoins, la plateforme Android dispose d’une facilité de partage bien définie, c’est dans l’intérêt de Google. Si vous voulez avoir une plateforme Android compatible, vous voulez que cela fonctionne de la même façon partout.

Bref, tout cela pour dire que peu d’acteurs (comme MacPlus, a priori) ont une compréhension de la façon dont Google a intégré Android. Cette « conception » a permis à Google de promouvoir ses services, sans fournir obligatoirement un cadre restreint pour tous les acteurs de l’écosystème. Ne vous inquiétez pas, Android n’a pas fini d’être « ouvert ».

Comme je vous l’ai montré d’un point de vue « professionnel », Android est un outil open-source offert à tous. D’un point de vue « utilisateur »,  Google profite de toute sa puissance pour associer Android à son image en quasi exclusivité. Il est dommage que les experts ne fassent pas la part des choses…

Android est devenu en quelques années la première plateforme mobile, devant toutes les autres. On parle peu des terminaux métiers, néanmoins Android est au cœur de toutes les problématiques métiers. Ce n’est pas le sujet de cet Editoïd, néanmoins c’est un sujet passionnant qui fera l’objet d’un autre article.

Sources :


Les derniers articles