Les caractères libre et open-source du système d’exploitation mobile de Google sont souvent les premiers arguments avancés par les constructeurs pour en équiper leurs appareils et par les utilisateurs soucieux de ne pas se faire enfermer par Apple ou Microsoft. Mais, dans les faits, Android n’est pas si ouvert que ça.

Un rapport édité par VisionMobile en juillet dernier classe Android bon dernier parmi 8 projets open-source majeurs en comparant leur degré d’ouverture :

Ce score est établi en fonction de 13 données basées sur des critères tels que l’accès au code, à ses méchanismes, à un calendrier de développement public, aux prises de décisions, sur la possibilité pour les développeurs de réellement influencer le projet et d’en faire des dérivés librement et, enfin, sur une structure de communauté qui rend les développeurs égaux entre eux.

C’est l’environnement de développement (EDI) Eclipse qui est à la tête de ce classement, avec un score de 84%. Android, lui, n’obtient qu’un score de 23% ce qui tend à faire penser qu’il n’est pas si open-source.

Pourquoi ?

Pour comprendre ce faible score, il faut revenir à la définition de l’open-source. Un logiciel open-source doit, bien sûr, rendre la consultation, modification et redistribution de son code possible, dans le cadre de licences libres. Les développeurs doivent pouvoir avoir une vision du calendrier des modifications apportées au logiciel et ne doivent pas être discriminés entre eux. Tous les développeurs doivent être égaux.

Pour Google, l’open-source signifique qu’il est possible de télécharger et compiler le code d’Android. Mais le manque de contrôle de la part de la firme sur les appareils qui l’utilisent et le manque d’égalité dans la communauté des développeurs que cela engendre fait cruellement défaut à l’ouverture du système d’exploitation, même s’il est tout à fait légal pour n’importe quel internaute de télécharger le code, l’utiliser ou le redistribuer.

Un OS loin d’être ouvert

Le principal problème vient, en effet, des constructeurs de smartphones ou de tablettes, qui ont la possibilité de recréer un environnement fermé à partir d’Android. Les opérateurs les encouragent d’ailleurs à le faire en prétendant que, dans le cas contraire, la sécurité de leurs réseaux serait mise à mal. Ces protections empêchent les utilisateurs d’installer la version de l’OS qu’ils préfèrent et imposent une version modifiée par le constructeur.

Richard Stallman, à l’origine de GNU et de la licence du même nom, le confirme : « certains modèles sont conçus pour empêcher leur propriétaire d’installer et de modifier le logiciel. Dans cette situation, les exécutables ne sont pas libres, même s’ils sont faits à partir d’une source libre qui est disponible pour vous. » Il fait la distinction entre le libre et l’open-source. Le libre met en avant la philosophie du projet tandis que l’open-source met l’accent sur la méthode de développement.

Ces constructeurs, rassemblés dans l’Open Handset Alliance, ne donnent pas non plus de calendrier sur les futurs développements d’Android à d’autres développeurs que ceux qui en font partie. Et son fonctionnement est plutôt opaque puisque le regroupement n’a pas de forme légale, de processus de communication ou de réunions régulières.

De même, le kit de développement n’avait pas été mis à jour depuis très longtemps avant l’arrivée d’Android 4.0. Seul un petit groupe de développeurs bénéficiait de nouvelles versions, créant de fait une hiérarchie dans la communauté. Impossible, donc, pour un développeur dans son coin de bénéficier des nouveautés de l’OS et d’influer sur le développement d’Android.

Enfin, Richard Stallman rappelle qu’Android n’est pas libre parce que la version de Linux utilisée pour son noyau ne l’est pas non plus. « La version de Linux incluse dans Android n’est pas un logiciel entièrement libre puisque qu’il contient des morceaux de code non libres (des  » binary blobs « ), tout comme la version de Torvalds de Linux, dont quelques-uns sont réellement utilisés dans des machines tournant sous Android. Les plateformes Android utilisent des microprogrammes non libres aussi, ainsi que des bibliothèques non libres. À part cela, le code source des versions 1 et 2 d’Android telles que faites par Google sont libres, mais ce code est insuffisant pour faire tourner l’appareil. Quelques applications qui viennent généralement avec Android sont aussi non libres. Google a respecté les règles de la licence GPL (General Public License ou Licence publique générale) pour Linux, mais la licence Apache sur le reste d’Android n’oblige pas à montrer le code.« 

Conséquences

L’argument d’ouverture d’Android fut souvent avancé par les constructeurs et les clients comme étant un avantage comparé à iOS d’Apple ou à Windows Mobile, puis Windows Phone de Microsoft. Mais l’on constate que le système de Google n’est pas si ouvert que ça. De même, si les constructeurs pouvaient l’utiliser gratuitement, Microsoft exige désormais des royalties de la plupart d’entre eux, sous la menace de procès en violation de brevets. Apple, de son côté, mène plusieurs batailles juridiques dont la plus célèbre, contre Samsung, a conduit à l’interdiction pour le Coréen de commercialiser certains de ses produits dans plusieurs pays du monde. La gratuité de l’OS est donc en train de disparaître.

Même s’il est possible de contourner ces verrous en « rootant » son téléphone (avec un accès root, l’utilisateur a le contrôle total sur le système), ces « protections » ne sont pas un signe d’ouverture. Les utilisateurs doivent se tourner vers des distributions alternatives, comme CyanogenMod, qui demandent de véritables connaissances techniques pour pouvoir les installer. Mais c’est la seule façon, pour eux, d’avoir un véritable système ouvert et sur lequel ils ont un vrai contrôle.

Richard Stallman explique ainsi que, si le code d’Android a été rendu disponible, ce n’est pas pour ça qu’Android respecte les libertés de l’utilisateur : « tout d’abord, la majorité des versions comprend des applications non libres de Google pour communiquer avec des services tels que Youtube et Google Maps. Celles-ci ne font pas officiellement partie d’Android, mais cela n’en fait pas un bon produit pour autant. Il y a aussi la présence de bibliothèques non libres. Qu’elles fassent partie d’Android ou pas est discutable, ce qui importe c’est que beaucoup de fonctionnalités en dépendent. »

« Même les exécutables qui font officiellement partie d’Android peuvent ne pas correspondre au code des versions de Google. Les constructeurs peuvent changer le code, et bien souvent ils ne publient pas le code source de leurs versions. La licence GNU GPL les oblige, en théorie, à redistribuer le code de leurs versions de Linux. Le reste du code sous licence Apache ne les oblige pas à publier le code source des versions qu’ils utilisent réellement » ajoute Stallman.

Le mythe d’Android comme étant open-source et totalement libre pour sa communauté de développeurs et d’utilisateurs est donc en train de disparaître. On peu, évidemment, saluer l’initiative de Google qui rend son code disponible. Mais les constructeurs en abusent, sans que la firme de Mountain View le leur reproche. Ce sont pourtant eux qui, les premiers, sont à blâmer.


Vous voulez tout savoir sur la mobilité de demain, des voitures électriques aux VAE ? Abonnez-vous dès maintenant à notre newsletter Watt Else !