ARM et Linux : une pagaille dans la communauté du noyau
La montée en puissance de ARM et de Linux dans le monde de la mobilité et de l'embarqué a provoqué une multiplication incontrôlée des lignes de code au sein de la communauté du noyau Linux. A tel point que la branche ARM du noyau se retrouve aujourd'hui noyée par des contributions, souvent incohérentes. Linus Torvalds appelle à plus de discipline.
Une sacré pagaille ! "Linux sur ARM est victime de son succès et traverse ainsi des moments pénibles". C'est ainsi que Jonathan Corbet, contributeur au noyau Linux au sein de la Linux Foundation a résumé la situation que vit la branche ARM du noyau Linux. Si la montée en puissance de ARM sous le terrain de la mobilité et de l'embarqué est flagrante, la communauté Linux, en charge du noyau, a dans la foulée vu les lignes de code s'accumuler de façon incontrôlée. Donnant naissance à une véritable une base de code embrouillée, un véritable fourre-tout spaghetti d'une taille trois plus importante que les développements pour x86.
La raison ? Le manque de contributions régulées et un isolement des développeurs ARM qui préfèrent travailler en solo, plutôt que de coordonner leurs travaux avec la communauté, explique-t-il en substance, tout en rappelant que le taux de contributions chez certaines entreprises spécialisées dans le monde de l'embarqué a considérablement augmenté.
ARM souffre du "problème de l'embarqué" : "chaque constructeur développe de son côté [sans intervention de la communauté, NDLR] et mais ne se précipite pas à entretenir ses contributions. Cela a donc entrainé fragmentation et duplication de code", souligne Jonathan Corbet. Et d'ajouter : "de nombreuses personnes appliquées et attentionnées sont bien en charge de la maintenance, mais la tâche est tout simplement devenue trop importante pour elles. Ainsi le noyau a accumulé beaucoup de code […]".
Il faut dire qu'ARM reste aujourd’hui l’architecture de référence dans les terminaux mobiles et les tablettes tactiles, comme l’iPad. Les puces ARM développées par Qualcomm (avec son processeur Snapdragon), Nvidia (Tegra), Texas Instruments (Omap 4), Freescale, ST Micro ou Samsung équipent aujourd’hui la plupart des smartphones. Côté OS, Google et Apple avaient déjà montré le chemin à suivre en taillant leurs OS respectifs pour ARM. Linux supporte depuis longtemps cette même architecture.
Notons également que le poids du consortium Linaro, qui réunit les principaux constructeurs du monde du SoC (System-on-a-chip), a également contribué au développement de pilotes, middleware et outils de développements pour les architectures ARM. Ce qui a certainement eu pour effet alourdir la base de code de la Linux Foundation.
Du coup, Linus Torvalds, le patron de la Foundation Linux, aurait lui-même tiré la sonnette d'alarme, demandant davantage de discipline dans les développements ARM et, face à une telle gestion incontrôlée, a menacé la communauté de retarder la fusion de nouveau code à la branche ARM", souligne Jonathan Corbet.
En mai dernier, Linus Torvald avait confié lors d'un entretien avec nos confrères de LinuxFr que "le monde de l’embarqué a toujours eu tendance à éviter les plateformes standardisées : ils avaient trop de contraintes de ressources, etc., donc ils ont conçu des puces et des chipsets sur mesure, et ils ont toujours pensé qu’ils ne pouvaient pas se permettre une trop grande abstraction de la plateforme, parlant de "prolifération sauvage du code des platesformes pour l’embarqué” et surtout de ARM qui connait un engouement certain.
La prochaine étape ? Passer un bon coup de balai, poursuit Jonathan Corbet, expliquant que c'est certainement cela, la rançon du succès de Linux dans l'embarqué.