Android est basé sur Linux, oui, mais n’a pas toujours été aussi proche de lui. Pourtant, Google travaille bien à les rapprocher, afin de rendre les deux plus sécurisés et optimisés.

Il est de notoriété publique qu’Android est basé sur le système d’exploitation libre et ouvert Linux. Ceci étant dit, l’emphase est généralement mise sur « basée », puisque Google apporte de nombreuses modifications au système et que les Google Apps sont loin d’être libres et ouvertes.

Au fil des ans, les deux systèmes d’exploitation se sont pourtant bien rapprochés. Lors de la Linux Plumbers Conference, rapportée par Android Police, Google a montré son ambition de les rendre toujours plus proches… dans le but de les améliorer tous les deux en même temps.

Le noyau Linux s’améliore

Avant de vous parler des ambitions de Google, petite piqûre de rappel sur la manière dont Android et Linux sont liés. Android utilise le « noyau » Linux, c’est-à-dire les fondations du système d’exploitation. Il va ensuite y apposer ses propres modifications relatives au mobile, comme la gestion de certaines couches réseau par exemple, afin de l’adapter ensuite à l’usage qui l’intéresse.

Sur les premières versions d’Android, ces modifications représentaient plus de 60 000 lignes de code ajoutées sur le noyau (ou kernel en anglais) Linux, et donc autant de travail d’adaptation à réaliser pour chaque version. En février 2018, le noyau Android commun (soit avant modifications des constructeurs) n’avait désormais plus que 32 000 insertions et 1 500 suppressions par rapport au noyau Linux classique.

Moins de modifications, c’est moins de travail d’adaptation et des mises à jour plus rapides à réaliser. La situation s’améliore donc, comme l’a prouvé l’ingénieur menant la conférence Google en montrant un Pocophone F1 utilisant Android 10 avec le simple noyau Linux. Si certaines fonctionnalités basiques étaient absentes (le pourcentage de batterie est bloqué à 0 %), le téléphone restait dans l’absolu utilisable. Voilà une belle preuve d’interopérabilité entre les deux noyaux Android et Linux.

Mais ce n’est pas tout. Ce noyau Android commun devait ensuite auparavant être modifié par chaque constructeur de puces ou de smartphones pour y apporter ses propres modifications. Avec le Projet Treble, que l’on vous explique en détail par ici, la situation a bien changé : ces modifications sont désormais séparées du noyau et ont leur propre couche, faisant qu’ils n’ont plus besoin de modifier le noyau lui-même. Là encore, cela a simplifié le processus de mise à jour pour le système d’exploitation mobile.

Un seul noyau, deux systèmes d’exploitation

L’idée qu’a proposée Google lors de sa conférence est assez simple : adapter le Projet Treble à Linux. L’ambition finale ? Faire en sorte que les deux systèmes d’exploitation utilisent le même noyau, afin de profiter de tous les avantages de chaque vision simplement et facilement et continuellement améliorer les deux d’un même mouvement.

Ainsi, le noyau Linux fonctionnerait de la même manière que le projet Treble. Les contrôleurs nécessaires aux appareils propriétaires seraient sur une interface séparée du noyau, faisant que mettre à jour le noyau ou les appareils propriétaires serait facilité. Les adaptations pour chaque type d’appareils (ordinateur portable, tablette, mobile) seraient également bien plus rapides, tout en les laissant profiter d’un tronc commun.

Double tranchant

Le changement serait drastique pour la communauté Linux, mais surtout… pas exactement respectueux de la philosophie même de la plateforme. Avoir un noyau d’interface stable pousserait en effet la communauté à ralentir son développement, alors que l’idée du libre est justement de permettre à tout un chacun de modifier, tester et améliorer librement ce noyau. C’est ce qui garantit sa fraîcheur tout autant que sa sécurité, puisqu’une faille peut être rapidement corrigée par n’importe qui sans devoir s’assurer d’un aval quelconque.

La proposition de Google est donc à double tranchant. D’un côté, son développement pourrait permettre une plus grande entraide entre le monde du libre et l’écosystème développé par l’entreprise privée. De l’autre, il risque de pousser la communauté libriste à adopter des méthodes de développement philosophiquement liées au cercle privé, loin donc de ses racines. C’est là la grande inquiétude des développeurs : galvauder voire perdre une liberté débridée qui leur est chère face à un système qui pourrait imposer un contrôle plus resserré de l’évolution du noyau Linux. Se rapprocher, en somme, d’un système fermé par essence, où les développeurs seraient poussés à faire attention à l’écosystème au détriment de leurs envies d’évolution. C’est du moins l’inquiétude qu’entretient Greg Kroah-Hartman, grand développeur de la communauté Linux.

Le libre étant ce qu’il est un schisme est toujours possible, ce qui pousserait au développement d’un noyau Linux parallèle… mais cela reste éloigné des ambitions premières de rassemblement dont Google fait preuve ici. On suivra tout cela avec attention.