Pourquoi j'ai arrété LineageOS (partie 2)

Rédigé par NaïLyK Aucun commentaire
Classé dans : android, omnirom Mots clés : aucun

Sous le capot

Si nous cherchons à reprendre en main nos ordiphones, c'est pour arrêter de nourrir les GAFAMs de nos données, plus ou moins personnelles.

Au passage de CyanogenMOD à LineageOS j'avais trouvé que les 'responsables' de la rom s'éloignaient beaucoup de cet objectif.

 

(suite de la partie 1)

Introduction

Un ordiphone est littéralement un ordinateur, tout en un, avec les périphériques (caméras, micro, gps), la mémoire, le stockage, etc... Ce n'est en rien différent de l'ordinateur qui est posé sur votre bureau, excepté les protections que les constructeurs mettent en place pour empêcher le changement de système d'exploitation et ainsi s'assurer la collecte de vos données (voir même des contrats juteux avec des applis pré-installées qui vont le faire pour eux)

Comme pour Linux, certains développeurs ont envie de faire fonctionner leur appareil avec un système alternatif, et se mettent donc à faire un 'portage'. Pour un ordinateur, cela revient à développer des pilotes pour le noyau linux. Lorsque ces pilotes sont intégrés dans le noyau, n'importe quelle distribution sera en mesure de faire fonctionner votre matériel.

Une fois les pilotes intégrés dans ce noyau, il faudra les maintenir, pour que, dans les nouvelles version, le matériel soit toujours opérationnel.

Le fonctionnement est exactement similaire pour Android et les ROMs alternatives. A une différence près, l'éco système est très mal géré. Il existe beaucoup de ROMs android différentes, chacune ayant choisit une voie: https://en.wikipedia.org/wiki/List_of_custom_Android_distributions , la plus connue étant LineageOS, "héritière" de CyanogenMOD.

Lorsqu'un développeur choisit de faire fonctionner son matériel sur une ROM, il ne fonctionnera pas sur une autre. A contrario de Linux, où la base du kernel est commune, les ROMs custom ont chacune leurs sources, et elles ne sont pas partagées entre elles. La plupart va aller récupérer les mises à jour chez AOSP (le projet google) mais ces mises à jour ne concernent que le système en lui même (les améliorations de l'application agenda, de l'horloge, ou autre), en aucun cas le matériel. (Exception pour les appareils supportés par ggl comme les nexus).

 

La vie privée

Dans le monde android, les contributions au code se font via l'outil (google) gerrit. J'ai récemment reçu un mail pour me dire que l'un des appareil pour lequel je suis j'étais mainteneur avait reçu une contribution et je devais faire une revue:

l'email recu

Bien content de recevoir une contribution, je clique sur le lien vers le Gerrit de LineageOS, et là, c'est le drame:

Je réessaye de m'authentifier de différentes façon sur le gerrit, pas moyen, toujours la page google.com. Ni une ni deux, je pars sur le chan IRC de lineage, et pose la question. La réponse est unanime: ils ont désactivé tous les systèmes d'authentification autre que ggl. S'en était trop, je les ai insultés et suis parti.

Il me parait maintenant grand temps d'expliquer pourquoi, LineageOS n'est pas aussi "privacy friendly" que vous le pensiez.

Certes, cette rom restera toujours (un peu) moins pire que la ROM stock (d'origine) de l'appareil, mais pas assez à mon gout.

Il est evident que certaines choses resteront, peut importe les ROMs (le DNS google, le NTP google, et j'en passe) mais d'autres peuvent largement être évités.

 

 

La localisation

L'une des fonctionnalités importante d'Android est la localisation. Vous savez sûrement que votre ordiphone est équipé d'un GPS. Mais ce n'est pas tout, aviez vous déjà remarqué que la localisation fonctionne, même en intérieur? Ceci est techniquement impossible avec le GPS traditionnel.

Une solution de localisation 'imprécise' nommée NLP est utilisée pour localiser l'appareil à l'aide des réseaux mobiles et wi-fi environnants. Comme beaucoup de choses, des alternatives ont émergées, notamment UnifiedNLP.

Or, pour implémenter ce fournisseur de localisation, il faut faire un très léger changement dans le code de la rom (sans conséquence sur la localisation ggl). Changement sans lequel UnifiedNLP ne pourra fonctionner.

Ce changement à été refusé pour de mauvaises raison:

(pour ceux qui connaissent un peu le côté développement de LineageOS, la personne qui à commenté ceci est l'une des personne décisionnaire pour LineageOS)

 

Cet exemple est malheureux, mais il y en a malheureusement beaucoup, comme lorsque j'avais discuté du fait de changer le DNS par defaut de celui de ggl (8.8.8.8) par d'autres (Debian).

 

C'est à ce niveau que Omnirom marque pour moi le plus de points, car même s'ils restent peu nombreux pour vérifier/analyser et enlever certaines des crasses de ggl, ils acceptent ce genre de changements qui rendent l'écosystème un peu moins mauvais.

 

Des exemples

Dans l'article précédent j'avais parlé de désactiver l'application de messagerie par défaut (il s'agit de l'une de ces applications systèmes dont il n'est pas possible de bloquer les autorisations) et bien ce changement à été fait dans omnirom:

et même si ma contribution a été modeste, je suis content d'y avoir pris part ☺️

C'est aussi avec cette personne que j'avais discuté (il y a longtemps) de changer les adresses par défaut pour les serveurs DNS & NTP, et il était d'accord.

 

Je ne vais pas rentrer plus dans les detaux fumeux du code d'AOSP/Omni/Lineage et, même si c'est loin d'être parfait, avec de plus en plus de personnes qui se soucient de la confidentialité de leur données, je suis content de trouver des personnes qui partagent un peu ce point de vue, et qui ne sont pas réfractaire au changement, comme pour LineageOS.

 

Pourquoi ne pas avoir le choix de sa ROM custom

Malheureusement, si certains appareils sont supportés avec LineageOS, il y a de grande chances qu'ils ne soit pas sous Omnirom et réciproquement. (Quelques exceptions comme le one plus 5(t) par ex)

Le problème est celui que j'expliquais plus tôt, qui fait que les ressources ne sont pas (encore) partagées (au niveau sources) et sont dépendantes de la ROM sur laquelle les personnes qui maintiennent l'appareil travaillent.

 

Dans le détail

Pour essayer de travailler sur le portage de quelques ordiphones, c'est un travail qui demande beaucoup de patience et de temps. De plus, la communauté n'est vraiment pas aidante et on est presque livré à soi-même. Pour donner une idée, les sources complètes de lineage-15.1 représentent près de 150Go. Je vous laisse imaginer la quantité de code. C'est pour cela que le travail est, grosso-modo, réparti entre les personnes qui s'occupent de l'OS à proprement parler, et ceux qui s'occupent des appareils.

Il est également important de comprendre que les constructeurs mettent en place de plus en plus de mécanismes pour empêcher les personnes comme moi de travailler même s'ils redistribuent (uniquement !) le code du kernel.

L'un des exemples les plus flagrant est Sony, qui implémente un système de DRM directement dans la caméra, afin de dégrader les performances lorsqu'une autre ROM que la leur est utilisée. (Mais j'ai la chance de travailler avec des personnes intelligentes qui ont réussi à contourner ce problème).

 

En bref

Le monde Android est vaste, fermé, et même si LineageOS n'est pas la meilleure des ROMs (à mon goût) disponible sur le marché, c'est un gros pas en avant vers le regain de contrôle de nos données. (Voir l'article Unboxing du J5)

 

Remerciements

Merci pour votre lecture, j'espère que ces articles auront pu vous apporter quelques éclaircissement, et n'hésitez pas à me laisser vos avis, point à approfondir en commentaire ou sur masto.

Merci à JB pour ses relectures, et à tous ceux qui me supportent au quotidien 😇

 

P.S.: Petit oubli

Les canaux de communication

Quand je suis arrivé chez omnirom, ils avaient leur propre serveur matrix, et tous les chans de développement étaient dedans. Malheureusement, l'admin-sys est parti sans donner la main sur les machines, et ce serveur n'a plus servi à rien. Maintenant ils utilisent telegram, avec un pont sur matrix et IRC.

Quand a Lineage, pour être mainteneur officiel, il faut maintenant être sur slack, avec un certains nombre de canaux.

Écrire un commentaire

Quelle est la troisième lettre du mot rytq ?

Fil RSS des commentaires de cet article