« Tablette-smartphone-logiciel-libre » : différence entre les versions
Aucun résumé des modifications |
|||
Ligne 11 : | Ligne 11 : | ||
Les différents domaines liés au mobile et problématiques associées (personne référente) : | 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. | * Bootloader/amorce ouvert. Peut on installler l'hypothétique OS de son choix sur son téléphone ? -> conseils d'achat. | ||
Ligne 24 : | Ligne 24 : | ||
Attention : cette opération, mal réalisée, peut rendre votre appareil inutilisable. | 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 d'OS) | Pas de maîtrise des composants (ni par le fabricant de téléphone ni par le développeur d'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. | 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. | ||
Ligne 34 : | Ligne 34 : | ||
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é) | 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 janvier 2014 : | => État des lieux en date de janvier 2014 : | ||
Ligne 52 : | Ligne 52 : | ||
=> Détail par puce graphique ici : https://fr.wikipedia.org/wiki/Pile_graphique_Linux#C.C5.93urs_graphiques_.C3.A9quipant_les_syst.C3.A8mes_sur_une_puce | => Détail par puce graphique ici : https://fr.wikipedia.org/wiki/Pile_graphique_Linux#C.C5.93urs_graphiques_.C3.A9quipant_les_syst.C3.A8mes_sur_une_puce | ||
===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 janvier 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 http://fr.wikipedia.org/wiki/OsmocomBB, mais peu de téléphones sont supportés – et aucun smartphone – et ce n'est pas encore utilisable). | => État des lieux en date de janvier 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 http://fr.wikipedia.org/wiki/OsmocomBB, mais peu de téléphones sont supportés – et aucun smartphone – et ce n'est pas encore utilisable). | ||
Ligne 62 : | Ligne 62 : | ||
Lire à ce sujet : https://linuxfr.org/news/entretien-avec-paul-kocialkowski-developpeur-replicant | Lire à ce sujet : https://linuxfr.org/news/entretien-avec-paul-kocialkowski-developpeur-replicant | ||
==OS (todo:fpo)== | |||
* 4 libertés ? | * 4 libertés ? | ||
* problèmes des pilotes (pas de pilotes) | * problèmes des pilotes (pas de pilotes) | ||
Ligne 71 : | Ligne 71 : | ||
Panorama d'OS libres : https://linuxfr.org/news/a-quand-les-smartphones-et-tablettes-libres | Panorama d'OS libres : https://linuxfr.org/news/a-quand-les-smartphones-et-tablettes-libres | ||
==Applications (todo: jollfr)== | |||
* Variante: personnalisation, privatisation (4 libertés), choix par défaut, backdoor, bundling | * Variante: personnalisation, privatisation (4 libertés), choix par défaut, backdoor, bundling | ||
* Langage: framework, SDK, Javascript | * Langage: framework, SDK, Javascript | ||
Ligne 77 : | Ligne 77 : | ||
* Sound boxing | * 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 ? | * 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. | * 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 | * Politique de gestion de contenus via les applicatifs | ||
==Données (todo: jollfr)== | |||
* Choix des données par défaut | * Choix des données par défaut | ||
* Accès aux données : qui à accès à quoi ? Comment ? ai-je le contrôle là dessus ? | * Accès aux données : qui à accès à quoi ? Comment ? ai-je le contrôle là dessus ? |
Version du 27 janvier 2014 à 18:37
Introduction
Rappeler pourquoi les logiciels libres : pour avoir le contrôle de son informatique, et en l'espèce de son appareil (Cf l'alternative stallmanienne : « si ce n'est pas l'utilisateur qui contrôle la machine, c'est la machine qui contrôle l'utilisateur ». Cf aussi les exemples très didactiques de Benjamin Bayart de 2h02min10sec à 2h13min30sec de la vidéo http://data.confs.fr/enjeux_bayart/360p/) et en conséquence de ses données.
Le degré de liberté actuel des smartphones et tablettes sera étudié à travers différentes domaines : - Hardware : En amont, choisir le hardware en fonction de l'existence d'un bootloader/d'une amorce non vérrouillé(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. - OS - 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 :
- Soit on reflashe l'appareil en utilisant le bootloader http://fr.wikipedia.org/wiki/bootloader quand le constructeur le permet (c'est-à-dire si le bootloader n'est pas verrouillé),
- Sinon il faudra rooter » http://fr.wikipedia.org/wiki/Root_d%27Android 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 d'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, cf l'intro ci-dessus ).
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 janvier 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)
- 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ée) : Intel fournit lui-même le pilote libre 2D/3D/vidéo :)
=> À 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).
=> Détail par puce graphique ici : https://fr.wikipedia.org/wiki/Pile_graphique_Linux#C.C5.93urs_graphiques_.C3.A9quipant_les_syst.C3.A8mes_sur_une_puce
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 janvier 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 http://fr.wikipedia.org/wiki/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 http://projects.goldelico.com/p/gta04-main/ 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é cf http://www.replicant.us/2013/11/fairphone/ ).
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 : https://linuxfr.org/news/entretien-avec-paul-kocialkowski-developpeur-replicant
OS (todo:fpo)
- 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)
Panorama d'OS libres : https://linuxfr.org/news/a-quand-les-smartphones-et-tablettes-libres
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.