English [en]   Deutsch [de]   français [fr]   മലയാളം [ml]   polski [pl]   русский [ru]  

Meet the GNU contributors in person at the GNU Hackers' Meeting!

The 8th GNU Hackers' Meeting takes place in Munich, Germany from 15–17 August 2014. It spans three days, and comprises talks about new GNU programs, status of the GNU system and news from the free software community.

Register now to secure your place.

L'original de cette page est en anglais.

Android et la liberté des utilisateurs

par Richard Stallman
Publié initialement dans The Guardian [en]

Soutenez la campagne « Libérez votre Android »

Dans quelle mesure Android respecte-t-il la liberté de ses utilisateurs ? Pour l'utilisateur d'ordinateur qui chérit la liberté, c'est la question la plus importante à se poser pour tout logiciel.

Dans le mouvement du logiciel libre [en], nous concevons des logiciels qui respectent la liberté des utilisateurs de sorte que vous comme moi puissiez échapper à l'emprise de ceux qui vous la refusent. Cela contraste avec l'idée de l'open source qui se concentre sur la façon de concevoir le code ; c'est une réflexion différente qui s'intéresse principalement à la qualité du code plutôt qu'à la liberté. Ainsi, le souci principal n'est pas de savoir si Android est « ouvert », mais s'il permet à celui qui l'utilise d'être libre.

Android est un système d'exploitation orienté principalement vers les téléphones portables. Il est constitué du noyau Linux (le noyau de Torvalds), plus quelques bibliothèques, une plateforme Java, et quelques applications. À part Linux, le logiciel des versions 1 et 2 d'Android a été conçu essentiellement par Google. Google l'a sorti sous la licence Apache 2.0, une licence libre laxiste, sans copyleft.

La version de Linux incluse dans Android n'est pas un logiciel entièrement libre puisque, tout comme la version de Torvalds de Linux, elle contient des morceaux de code binaire [binary blobs]) non libres dont quelques-uns sont effectivement utilisés dans des appareils tournant sous Android. Les plateformes Android utilisent aussi des micrologiciels [firmware] non libres, ainsi que des bibliothèques non libres. À part cela, le code source des versions 1 et 2 d'Android tel que publié par Google est libre, mais ce code est insuffisant pour faire tourner l'appareil. Quelques applications qui viennent généralement avec Android sont également non libres.

Android est très différent du système d'exploitation GNU/Linux, car il contient très peu de GNU. En effet, le seul élément commun entre Android et GNU/Linux se résume à peu près à Linux, le noyau. Les gens qui font l'erreur de croire que « Linux » fait référence à la totalité de la combinaison GNU/Linux s'emmêlent les pinceaux, et font des affirmations paradoxales telles que « Android contient Linux, mais ce n'est pas Linux ». Si nous évitons cette confusion au départ, la situation est simple : Android contient Linux, mais pas GNU. Ainsi Android et GNU/Linux sont essentiellement différents.

À l'intérieur d'Android, le noyau Linux reste un programme séparé dont le code source est sous licence GNU GPL version 2. Combiner Linux avec du code sous licence Apache 2.0 représenterait une violation du copyright, puisque les licences GPL version 2.0 et Apache 2.0 sont incompatibles. Les rumeurs que Google a d'une manière ou d'une autre fait passer Linux sous licence Apache sont fausses. Google n'a aucun pouvoir pour changer la licence du code de Linux, et n'a pas essayé de le faire. Si les auteurs de Linux autorisaient son usage sous la version 3 de la licence GPL [en], ce code pourrait ensuite être combiné avec un code sous licence Apache, et la combinaison pourrait être publiée sous licence GPL version 3. Mais Linux n'a pas été publié ainsi.

Google a respecté les règles de la GNU GPL pour Linux, mais la licence Apache sur le reste d'Android n'oblige pas à montrer le code. Google a dit qu'ils n'allaient jamais publier le code d'Android 3.0 (à part Linux). Le code source d'Android 3.1 est caché également. Ainsi, Android 3, en dehors de Linux, est purement et simplement du logiciel non libre.

Google a dit qu'ils ne publiaient pas le code source de la version 3.0 parce qu'il était bogué, et que les gens devraient attendre la version d'après. Il pourrait s'agir d'un bon conseil pour ceux qui veulent juste faire tourner le système Android, mais ce devrait être aux utilisateurs de prendre cette décision. Et de toute façon les développeurs et les bidouilleurs qui voudraient inclure des changements dans leurs propres versions pourraient très bien utiliser ce code.

Heureusement, Google a ultérieurement publié le code source d'Android 3.*, en même temps qu'ils ont publié la version 4 (également avec le code source). Le problème décrit plus haut se révéla comme une aberration temporaire plutôt que comme un changement de politique. Toutefois, ce qui arrive une fois peut arriver à nouveau.

En tout cas, le code source de diverses versions d'Android a été publié pour l'essentiel en tant que logiciel libre. Est-ce à dire que les appareils utilisant ces versions d'Android respectent la liberté de l'utilisateur ? Non, et ceci pour plusieurs raisons.

Tout d'abord, la plupart comprennent 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. Beaucoup des applications disponibles pour les premières versions d'Android ont été remplacées par des applications non libres ; en 2013 sont apparus des appareils sous Android qui ne proposent aucun moyen d'afficher des photos, à part une application Google+ non libre.

La plupart des appareils Android comportent le logiciel non libre Google Play (ex-Android Market). Ce dernier invite les utilisateurs qui ont un compte chez Google à installer des applications non libres. De plus, il a une porte dérobée [backdoor] par laquelle Google peut, d'autorité, installer ou désinstaller des applications. Cela ne fait pas officiellement partie d'Android mais ce n'en est pas moins mauvais.

Si vous donnez du prix à votre liberté, vous ne voudrez pas des applications non libres proposées par Google Play. Pour installer les applications Android libres, vous n'avez pas besoin de Google Play car vous pouvez aller les chercher sur f-droid.org.

En outre, les produits Android viennent avec des bibliothèques non libres. Elles ne font pas officiellement partie d'Android, mais puisque diverses fonctionnalités en dépendent, on les trouve dans toute véritable installation d'Android.

Même les programmes qui font officiellement partie d'Android peuvent ne pas correspondre au code source publié par Google. Les constructeurs peuvent changer ce code, et bien souvent ils ne publient pas le code source de leurs versions. La GNU GPL les oblige – à supposer qu'ils s'y conforment – à redistribuer le code de leurs versions de Linux. Pour le reste du code qui est sous licence Apache, laxiste, ils ne sont pas obligés de publier le code source des versions qu'ils utilisent réellement.

L'un des utilisateurs a découvert que de nombreux programmes du système Android équipant son téléphone avaient été modifiés pour envoyer des données personnelles à Motorola. Certains fabricants ajoutent à Android un dispositif caché de surveillance générale [en] comme Carrier IQ.

Replicant [en] est une version libre d'Android. Pour certains modèles de téléphones, les développeurs de Replicant ont remplacé beaucoup de bibliothèques non libres. Les applications non libres sont exclues, mais vous ne voulez sûrement pas les utiliser. Par contre, Cyanogen Mod (une autre version modifiée d'Android) n'est pas libre.

Certains appareil sous Android sont des « tyrans » conçus pour que leur propriétaire ne puisse pas installer et utiliser ses propres logiciels modifiés, mais seulement les versions approuvées par une société particulière. Dans ces conditions les exécutables ne sont pas libres, même s'ils sont faits à partir d'une source libre dont chacun peut disposer. Cependant, certains appareils Android peuvent être rootés, ce qui permet aux utilisateurs d'y installer des logiciels différents.

Les micrologiciels importants et les pilotes sont en général privateurs1 également. Ils gèrent l'accès au réseau téléphonique hertzien, le wifi, le bluetooth, le GPS, l'accélération 3D, l'appareil photo, les hauts-parleurs, et dans certains cas aussi le microphone. Sur certains modèles, quelques-uns de ces pilotes sont libres et d'autres ne sont pas indispensables, mais on ne peut pas se passer du microphone ni de l'accès au réseau.

Le micrologiciel qui gère l'accès au réseau est préinstallé. Si tout ce que le programme se contentait de faire était de communiquer avec le réseau quand vous le souhaitez, on pourrait le considérer comme un simple circuit. Quand nous insistons sur le fait que les logiciels de tout système informatique doivent être libres, nous pouvons passer sur un micrologiciel préinstallé qui ne sera jamais mis à jour, car cela ne fait pas de différence pour l'utilisateur que ce soit un programme plutôt qu'un circuit.

Malheureusement, dans ce cas ce serait un circuit malveillant. Les fonctions malveillantes sont inacceptables, quelle que soit la manière dont elles sont implémentées.

Sur la plupart des téléphones Android, ce micrologiciel a tellement de contrôle qu'il pourrait transformer le produit en un appareil d'écoute. Sur certains, il peut prendre le contrôle total de l'ordinateur principal par l'intermédiaire de la mémoire partagée, et peut ainsi supplanter ou remplacer le logiciel libre que vous avez installé. Avec certains modèles, peut-être avec tous, il est possible d'exercer un contrôle à distance sur ce micrologiciel et d'écraser les autres logiciels du téléphone. Le principe du logiciel libre étant d'avoir le contrôle de nos logiciels et de notre machine, tout système comportant une porte dérobée est disqualifié. Bien que n'importe quel système informatique puisse avoir des bogues, ces appareils peuvent être des bogues (Craig Murray, dans Meurtre à Samarcande [en], fait le récit de son rôle dans une opération de renseignement qui convertit le téléphone portable non Android d'une cible qui ne se doute de rien, en un appareil d'écoute).

En tout cas, le micrologiciel du téléphone permettant l'accès au réseau n'est pas l'équivalent d'un circuit, car le matériel permet l'installation de nouvelles versions, et c'est d'ailleurs ce qui se passe. Puisque c'est un micrologiciel privateur, en pratique seul le fabricant peut faire de nouvelles versions, les utilisateurs ne le peuvent pas.

Pour résumer, on peut tolérer des versions non libres d'un micrologiciel gérant l'accès au réseau à la condition qu'il ne soit pas mis à jour, qu'il ne puisse pas prendre le contrôle de l'ordinateur principal, et qu'il puisse seulement communiquer si, et quand, le système d'exploitation libre le permet. En d'autres termes, il doit être l'équivalent d'un circuit, et ce circuit ne doit pas être malveillant. Il n'y a pas d'obstacle technique à construire un téléphone Android qui ait ces caractéristiques, mais nous n'en connaissons aucun.

Android n'est pas un système autonome ; il a besoin d'un autre système pour son développement. Les outils du « kit de développement » de Google (SDK) semblent être libres, mais c'est difficile à vérifier. Les fichiers de définition de certaines API de Google ne le sont pas. Installer le SDK exige de signer un contrat de licence privatrice, ce qu'on doit refuser par principe. Le SDK de Replicant est une alternative libre.

De récentes couvertures médiatiques se sont intéressées aux guerres de brevets. Pendant les 20 ans de campagne qui ont été consacrés à l'abolition des brevets logiciels, nous n'avons cessé de mettre en garde contre de telles guerres. Les brevets logiciels pourraient contraindre certaines fonctions d'Android à disparaître, ou même rendre le système indisponible (consultez endsoftpatents.org [en], pour en savoir plus sur les raisons qui rendent l'abolition des brevets logiciels nécessaire).

Pourtant, les attaques sur les brevets et les réponses de Google n'ont pas de lien direct avec le sujet de cet article, qui analyse en quoi la distribution des produits Android se rapproche un peu d'un système éthique, et en quoi elle reste en-deçà. Ce problème mérite l'attention de la presse également.

Android représente une étape majeure vers un téléphone portable libre qui soit contrôlé par l'utilisateur, mais il y a encore beaucoup de chemin à parcourir. Les hackers travaillent sur Replicant [en], mais c'est une tâche considérable que de gérer techniquement un nouveau modèle de téléphone, et il reste encore le problème du micrologiciel. Même si les téléphones Android d'aujourd'hui sont considérablement moins mauvais que les smartphones d'Apple ou de Windows, on ne peut pas dire qu'ils respectent votre liberté.


Note de traduction
  1. Autre traduction de proprietary : propriétaire. 

[logo de la FSF]« Notre mission est de préserver, protéger et promouvoir la liberté d'utiliser, étudier, copier, modifier et redistribuer les programmes informatiques, et de défendre les droits des utilisateurs de logiciel libre. »

La Fondation pour le logiciel libre (FSF) est le principal sponsor institutionnel du système d'exploitation GNU. Soutenez GNU et la FSF en achetant des manuels et autres, en adhérant à la FSF en tant que membre associé, ou en faisant un don, soit directement à la FSF, soit via Flattr.

Haut de la page