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.
Notre émission Twitch SURVOLTÉS, c’est un mercredi sur deux de 17h à 19h : retrouvez-vous nous pour parler voiture électrique ou vélo électrique, autour de débats, d’interviews, d’analyses et de jeux !
Où avez-vous lu séparation et non rapprochement ?
Pour compléter ton commentaire, l'intérêt de la configuration actuelle du noyau est sa capacité à être modifiée pour corriger et/ou changer les interfaces de communication. Reprise traduite depuis la source de la réponse de Greg Kroah-Hartman, un développeur majeur de Linux, dans les fichiers de documentation : <i><blockquote>Le développement du noyau Linux est continu et rapide, sans jamais ralentir. En tant que tels, les développeurs du noyau trouvent des bogues dans les interfaces actuelles ou trouvent une meilleure façon de faire les choses. [...] Cela contraste vivement avec un certain nombre de systèmes d'exploitation à sources fermées qui ont dû conserver leurs anciennes interfaces USB au fil du temps. Cela permet aux nouveaux développeurs d'utiliser accidentellement les anciennes interfaces et de faire les choses de manière inappropriée, ce qui nuit à la stabilité du système d'exploitation. [En outre,] si les interfaces internes n'étaient pas autorisées à changer, il serait impossible de résoudre [un] problème de sécurité et de s'assurer que cela ne se reproduise plus.</blockquote></i>
Oh le niveau d'analyse... Donc non, une telle séparation ne serait ni en contradiction avec la philosophie libre, ni un frein à la vitesse de développement du dit noyau... La seule chose qui pourrait freiner est cette fameuse interface qui devrait rester la plus stable possible. Sauf qu'il existe déjà une telle interface au sein du noyau linux... C'est ce qui permet à Docker de s'exécuter comme il faut. Bref.
Ce contenu est bloqué car vous n'avez pas accepté les cookies et autres traceurs. Ce contenu est fourni par Disqus.
Pour pouvoir le visualiser, vous devez accepter l'usage étant opéré par Disqus avec vos données qui pourront être utilisées pour les finalités suivantes : vous permettre de visualiser et de partager des contenus avec des médias sociaux, favoriser le développement et l'amélioration des produits d'Humanoid et de ses partenaires, vous afficher des publicités personnalisées par rapport à votre profil et activité, vous définir un profil publicitaire personnalisé, mesurer la performance des publicités et du contenu de ce site et mesurer l'audience de ce site (en savoir plus)
En cliquant sur « J’accepte tout », vous consentez aux finalités susmentionnées pour l’ensemble des cookies et autres traceurs déposés par Humanoid et ses partenaires.
Vous gardez la possibilité de retirer votre consentement à tout moment. Pour plus d’informations, nous vous invitons à prendre connaissance de notre Politique cookies.
Gérer mes choix