« Tablette-smartphone-logiciel-libre » : différence entre les versions

De April MediaWiki
Aller à la navigationAller à la recherche
Ligne 82 : Ligne 82 :
* API (-> libre -> gouvernance -> publique -> patent free ... sous ensembles des problématiques d'interop)
* API (-> libre -> gouvernance -> publique -> patent free ... sous ensembles des problématiques d'interop)


[http://source.android.com/ Android Open Source Project (AOSP)] est un système d'exploitation open source à la base d'Android que l'on retrouve dans les téléphones de différentes marques certifiés par Google mais aussi à la base de [https://fr.wikipedia.org/wiki/CyanogenMod CyanogenMod], de [https://en.wikipedia.org/wiki/Fire_OS Fire OS qui équipe la tablette Kindle Fire d'Amazon] ou encore de [https://en.wikipedia.org/wiki/Nokia_X_family Nokia X Software Platform qui équipe les téléphones Nokia X].
[http://source.android.com/ Android Open Source Project (AOSP)] est un système d'exploitation open source à la base d'Android que l'on retrouve dans les téléphones de différentes marques certifiés par Google mais aussi à la base de [https://fr.wikipedia.org/wiki/CyanogenMod CyanogenMod], de [https://en.wikipedia.org/wiki/Fire_OS Fire OS] qui équipe la tablette Kindle Fire d'Amazon ou encore de [https://en.wikipedia.org/wiki/Nokia_X_family Nokia X Software Platform] qui équipe les téléphones Nokia X.


==Applications (todo: jollfr)==
==Applications (todo: jollfr)==

Version du 6 mars 2014 à 20:26

Logo-sensibilisation.png Bienvenue sur un projet Logo-sensibilisation.png
du groupe de travail Sensibilisation


Ambox warning red construction.png
/!\ Travail en cours /!\

Cette page présente une page de suivi en cours de réalisation.

Si vous souhaitez participer, n'hésitez pas à laisser votre avis sur la page de discussion en suivant au mieux ces recommandations.

Introduction

Les smartphones et les tablettes ont aujourd'hui envahi notre environnement que ce soit personnel, professionnel ou collectif :

  • D'un point de vu personnel: il existe des milliers de bonnes raisons d'utiliser des smartphones et autres tablettes. Il n'est pas question de remettre en cause cette évolution mais plutôt de s'interroger sur les dangers liés aux différents logiciels utilisés et à la protection des données personnelles;
  • D'un point de vu professionnel: si les opportunités existent et les smartphones sont source de gains de productivité palpables, il reste néanmoins de nombreuses zones d'ombre sur l'espionnage industriel, le traitement des données sans permission et les différentes portes dérobées des smartphones.
  • D'un point de vue collectif: les collectivités, les structures d'enseignement s'empressent d'intégrer les différentes technologies mobiles. Si cet engouement est légitime, il doit se faire dans avec transparence et objectivité.

Il est dans les missions de l'April de donner aux citoyens et aux décideurs politiques des éléments de réflexions et de sonner l'alarme sur les risques liés à l'usage de ces différentes technologies.

La lecture est complexe car elle renvoie à plusieurs niveaux que ce soit les composants matériels, le système d'exploitation jusqu’au traitement des données. Tous ces éléments doivent être étudiés afin d'apporter une analyse de la situation actuelle mais aussi apporter des solutions pour une informatique mobile plus citoyenne. Dans cette page vous retrouverez une analyse du degré de liberté actuel des smartphones et tablettes au travers différentes domaines :

  • Hardware : En amont, choisir le hardware en fonction de l'existence d'un bootloader/d'une amorce non verrouillé(e) et de pilotes libres et, lorsqu'il n'existe pas de pilotes libres pour un composant (cas de la puce GSM), en fonction de son isolation physique du reste des composants afin de limiter son pouvoir.
  • Le système d'exploitation
  • Les Applications
  • Gestionnaire d'applications
  • Données

Les différents domaines liés au mobile et problématiques associées (personne référente) :

Hardware & bootloader/amorce (todo:tbe)

  • Bootloader/amorce ouvert. Peut on installler l'hypothétique OS de son choix sur son téléphone ? -> conseils d'achat.

Installer un autre système sur son appareil à la place de celui existant :

En dehors des rares cas où vous pourrez acheter un smartphone ou une tablette avec le système libre de votre choix, il vous faudra, comme c'est le cas avec les ordinateurs personnels, « écraser » le système fourni et le remplacer par le système d'exploitation de votre choix.

Cette opération peut se faire suivant deux techniques :

  1. Soit on reflashe l'appareil en utilisant le bootloader quand le constructeur le permet (c'est-à-dire si le bootloader n'est pas verrouillé),
  2. Sinon il faudra « rooter » le système de l'appareil (c'est-à-dire obtenir l'accès au compte root grâce au noyau Linux présent dans le système existant).

La possibilité d'installer un autre système est un point à bien examiner lors de l'achat de votre appareil. Attention : cette opération, mal réalisée, peut rendre votre appareil inutilisable.

Hardware & pilotes (todo:tbe)

Pas de maîtrise des composants (ni par le fabricant de téléphone ni par le développeur de l'OS). Pour deux composants des téléphones mobiles/ordiphones en particulier il est complexe de développer des pilotes libres par rétro-ingénierie : la partie graphique (2D, 3D, vidéo) et la partie communication.

Pourquoi des pilotes libres ?

1) Pour savoir ce que fait le pilote, comme tout logiciel (contrôle de la machine).

2) Pour ne pas être empêché de mettre à jour le système (impliquant une mise à jour de composants fondamentaux comme une nouvelle version d'une bibliothèque logicielle du système ou de nouvelles API) au motif qu'un pilote binaire n'aurait pas été adapté (pérénité de la machine et sécurité)

1) Les puces graphiques en présence et leur prise en charge au moyen de pilotes libres

État des lieux en date de mars 2014 :

  • ARM Mali : pilote 2D/3D bien avancé mais pas encore intégré dans la pile graphique de Linux (il devrait l'être à relativement court terme probablement).
  • Qualcomm Adreno : pilote 2D/3D libre pour A2xx et A3xx intégré dans la pile graphique de Linux (A4xx à suivre à court-moyen terme probablement, étant une évolution des A3xx).
  • NVIDIA GeForce ULP (Tegra) : pilote 2D libre intégré dans la pile graphique de Linux pour Tegra 2/3 (pilote 2D pour Tegra 4 à suivre à court terme ; pilote 3D à suivre à court-moyen terme probablement).
  • Vivante Corporation Vivante : pilote 2D libre intégré dans la pile graphique de Linux limité aux SoCs Marvell Armada 510 pour l'instant (Armada 610 à suivre à court terme probablement).
  • Broadcom VideoCore : rétro-ingénierie complexe, pourtant il existe une initiative de pilote libre mais celle-ci est encore balbutiante. Surprise : en mars 2014 Broadcom a commencé à libérer code et documentation, mais il difficile de prédire l'impact que cela aura sur le développement du pilote libre.
  • Imagination Technologies PowerVR Series 5 (SGX) : mieux vaut ne rien attendre côté rétro-ingénierie eu égard à la complexité de la tâche.
  • Intel HD Graphics (apparu récemment, encore peu diffusé) : Intel fournit lui-même le pilote libre 2D/3D/vidéo et même temps que la documentation technique :).

=> À noter : L'accélération vidéo n'est pas indispensable car n'empêche pas l'affichage (d'autant que les shaders programmables du GPU peuvent être mis à contribution pour soulager le CPU). Mais ne pas recourir aux unités dédiées à la vidéo du SoC implique une consommation énergétique supérieure et donc une autonomie moindre.

=> Quel cœur graphique privilégier dans l'optique d'un pilote libre ?

Si les cœurs graphiques PowerVR d'Imagination sont à fuir comme la peste, les GeForce ULP (Tegra), Mali (200/400), Adreno et Vivante sont à privilégier pour qui espère un pilote libre à court ou moyen terme (En premier lieu Adreno bénéficie déjà d'un pilote 2D/3D communautaire, Mali n'est pas très loin derrière, et, si le pilote libre pour HD Graphics est directement fourni par Intel, la puce n'est pas encore très répandue dans le monde mobile. En deuxième lieu il sera intéressant de suivre les progrès des pilotes Vivante et Tegra. En troisième lieu il n'est pas interdit d'imaginer un jour un pilote libre pour les VideoCore, mais l'architecture alambiquée de la puce – tout comme celle des PowerVR – incite à la prudence)[1].

2) La partie communication : le problème de l'incontournable (à ce jour) pile GSM propriétaire et son emprise variable

=> État des lieux en date de mars 2014 : Tant que des composants aussi fondamentaux que l'accès au réseau resteront gérés par des pilotes binaires propriétaires, il sera difficile de s'assurer que la vie privée de l'utilisateur sera bien respectée. Hélas ! Il n'existe pas aujourd'hui de pilote libre pour la partie modem des téléphones (feature phone ou smartphone) (il y a bien le projet OsmocomBB, mais peu de téléphones sont supportés – et aucun smartphone – et ce n'est pas encore utilisable).

=> Que faire en attendant ? Dans la mesure où aucune solution matérielle actuelle n'offre une partie réseau libre, le cloisonnement du modem limite le risque d'espionnage de l'utilisateur. Ainsi les modèles sur lesquels le système d'exploitation libre Replicant est porté sont choisis dorénavant notamment en fonction de l'isolation du modem : Il s'agit des plate-formes Exynos de Samsung, ou encore de la plateforme OMAP de Texas Instruments (qui équipe notamment le smartphone GTA04 et dont le modem est un CPU distinct exécutant son propre système d'exploitation (suggestion : évaluer la taille du « pilote » – en fait un miniOS – pour rendre l'argument significatif. NB : dans leRaspberry Pi par exemple, c'est le cœur graphique, au pilote privateur, qui initialise les autres composants du SoC : on voit bien qu'il est le véritable coeur du SoC), certes non-libre, mais dialoguant avec le reste du matériel au moyen de logiciels libres dans le cas de Replicant ce qui permet de limiter son action à sa fonction de modem). À l'inverse le SoC Qualcomm QSD qui a le modem embarqué dans le SoC, lequel modem a accès à la mémoire etc. est à éviter. Hélas les SoC Qualcomm QSD sont ceux choisis pour faire tourner les smartphones Firefox OS pour le moment. De même le SoC choisi par Fairphone a le modem inclus sur le SoC ce qui ne permet pas de contrôler son activité[2] ).

En cliquant sur la page dédiée du wiki Replicant de chaque appareil supporté par cet OS, on a le diagnostic de l'emprise du modem sur le reste des composants http://redmine.replicant.us/projects/replicant/wiki#Technical-infos-on-the-devices. Par exemple pour les Samsung Galaxy S2 et S3 le risque est "limité" à "Modem could access GPS" (en sachant que par ailleurs l'opérateur localise son client par triangulation) alors que le GTA04 profite de l'isolation complète du modem. Comparer avec les HTC Dream/HTC Magic construits sur un SoC Qualcomm : "The modem controls sound, GPS, main CPU memory (read/write)"... effrayant, non ?

Lire à ce sujet : Entretien avec Paul Kocialkowski, développeur Replicant

Systèmes d'exploitation (todo:fpo)

Système d'exploitation[3].

  • 4 libertés ?
  • problèmes des pilotes (pas de pilotes)
  • + logiciels, services de base
  • forks privateurs (samsung va "personnaliser" son android, Orange va ajouter des applications et des réglages imposés, etc.)
  • API (-> libre -> gouvernance -> publique -> patent free ... sous ensembles des problématiques d'interop)

Android Open Source Project (AOSP) est un système d'exploitation open source à la base d'Android que l'on retrouve dans les téléphones de différentes marques certifiés par Google mais aussi à la base de CyanogenMod, de Fire OS qui équipe la tablette Kindle Fire d'Amazon ou encore de Nokia X Software Platform qui équipe les téléphones Nokia X.

Applications (todo: jollfr)

  • Variante: personnalisation, privatisation (4 libertés), choix par défaut, backdoor, bundling
  • Langage: framework, SDK, Javascript
  • Application: 4 libertés, cross-platform
  • Sound boxing

Gestionnaire d'applications (todo:fpo)

  • Gestion/contrôle des applications : puis-je installer ou supprimer les logiciels de mon choix ? Les partager ? Les étudier/modifier ?
  • Choix du magasin : puis-je choisir l'origine de mes programmes ? Exemple : application RATP Androïd accessible uniquement dans le Playstore. L'appli est gratuite (et non libre) mais impose qu'on se vende à Google.
  • Politique de gestion de contenus via les applicatifs

Données (todo: jollfr)

  • Choix des données par défaut
  • Accès aux données : qui à accès à quoi ? Comment ? ai-je le contrôle là dessus ?
  • Informations liées au traitement des données : suis-je informé de ce qui est fait de mes données ?
  • Localisation des données: Device (ou est-ce ? Chez moi ? chez un ami ? chez un inconnu ?), Fournisseurs (qui contrôle ?), données sur serveurs physiques (juridiction impliquée)
  • Point à approfondir : La différence avec les PC. Quels spécificités posent les mobiles sur le pb des datas.

Terminologie

  • SoC : « System on Chip », ou système sur puce : Tous les composants sont réunis sur une même puce conçue à la manière de légos : un coeur graphique 2D de chez X, un coeur 3D de chez Y, un coeur vidéo de chez Z...
  • ARM : jeu d'instructions qui domine l'embarqué, concurrent du jeu d'instructions x86 (processeurs Intel Atom et Core, AMD A et FX) qui domine le desktop
  • GPU : « Graphics Processing Unit », ou processeur graphique (par oposition au CPU qui est un processeur généraliste)
  • feature phone : téléphone simple sans les fonctions d'un ordinateur (à l'inverse d'un smartphone qui est un ordinateur avec fonction téléphone)
  • smartphone : Benjamin Bayart parle d' « ordinateur de poche » avec téléphone et appareil photo comme périphériques (source : http://data.confs.fr/enjeux_bayart/360p/), je trouve ça bien trouvé car ça situe bien les enjeux en faisant appel à toutes les questions déjà soulevées dans le domaine des ordinateurs « de bureau ».

Références

La première version de ce document a été mis au point sur le pad : http://pad.april.org/p/mobile-april

Liens