En effet, à partir d’une version LTS du noyau Linux, l’équipe Android publie une mise à jour du système d’exploitation dénommée Android Common Kernel. Les fabricants de puces (Qualcomm, Samsung Exynos, etc.) effectuent les premiers des modifications de cette dernière pour l’adapter aux puces qui équiperont les appareils. La version modifiée par les fabricants de puces est ensuite mise à la disposition des fabricants d’équipements tels que Samsung, LG, HTC, etc. qui eux aussi procèdent à leur tour à des personnalisations pour l’adapter à leurs appareils. Le processus est long et fastidieux et a de nombreuses répercussions : fragmentation de l’écosystème Android, retards dans le déploiement des nouvelles versions du système d’exploitation et des mises à jour de sécurité…
À titre d’exemple, le smartphone Pixel 4 de Google disponible depuis octobre 2019 est livré avec une version d’Android qui s’appuie sur le noyau Linux 4.14 – une version LTS de novembre 2017. Une fois de plus la raison d’un tel état de choses est consignée dans l’illustration qui suit :
Lors de l’édition 2018 de la Linux Plumbers Conference, les équipes de Google ont commencé à partager sur l’approche à adopter pour pallier les problèmes posés par l’actuel cycle de vie d’une version du système d’exploitation. Cette année, elles sont, dans une présentation de près de 4 heures, allées dans plus de détails. La solution de Google : proposer une ABI stable pour les noyaux Android.
Lors de l’édition 2019 de la Linux Plumbers Conference, l’équipe de Google a procédé à la présentation d’une architecture particulière du système d’exploitation Android qui s’appuie sur les bases posées par le projet Treble. Grosso modo, il s’agit pour Google de proposer une image générique du noyau (GKI) accompagnée de modules génériques du noyau. Google prévoit que cet ensemble expose une ABI et une API stables. Les pilotes dédiés aux architectures matérielles spécifiques sont alors chargés comme modules du noyau. D’après l’équipe Google, la manœuvre devrait, via la modularisation, de réduire voire d’éliminer la fragmentation de l’écosystème. Détail additionnel : la stabilisation ne vise que les versions du noyau Linux qui bénéficient d’un support à long terme (LTS). Deux branches sont citées : la 4.19.x et la 5.x.y (à date, pas de détail de la part de Google sur x et y).
Une approche sujette à controverse
On n’en est pas encore au définitif, car, de l’avis des ingénieurs de Google, le chemin à parcourir reste considérable. Néanmoins, l’approche de la firme n’est pas sans soulever de controverse. En effet, l’un des principes de la communauté Linux autour des noyaux vanilla est de fournir une ABI instable. La manœuvre permet d’amener les fabricants d’équipements à ouvrir les pilotes de leurs périphériques et à les intégrer aux branches de développement mainline.
En choisissant de fournir une ABI stable, Google fragilise ce dispositif. Ce positionnement vient avec à minima un avantage pour les OEM et autres : le code source de leurs pilotes peut rester fermé. Mais les inconvénients sont aussi présents : pas de mise à jour possible d’une version du noyau Linux à l’autre puisque seule une LTS est prise en charge par l’approche de Google.
En tout cas, il y a comme une espèce de guerre qui couve. En effet, les mainteneurs de noyaux vanilla sont clairs sur ceci qu’ils ne prennent pas en charge de bases de code en dehors des branches dédiées. Google pour sa part est lancé sur la voie opposée. C’est la capacité du géant de la Tech. à assurer un certain soutien technique aux fabricants qui vont s’engouffrer dans cette brèche qui est interpellée. En effet, la question est de savoir si Google est capable d’accrocher les ressources nécessaires à cette tâche afin de rivaliser à l’échelle du projet Linux.
Source : vidéo de la présentation LPC
Et vous ?
Que pensez-vous de l’approche de Google ?
Le système d’exploitation Android est-il le seul « dérivé » de Linux dans cette situation ?
Quelle est selon vous la meilleure approche pour l’arrimage d’Android aux versions vanilla du noyau Linux ?
Voir aussi :
Android est-il véritablement gratuit et open source ? Entres mythes et réalités, la question reste posée
USA : 71 % des smartphones Android fonctionnent avec des correctifs de sécurité obsolètes, une situation attribuée à la nature open source de l'OS