Site WWW de Laurent Bloch
Slogan du site

ISSN 2271-3905
Cliquez ici si vous voulez visiter mon autre site, orienté vers des sujets moins techniques.

Pour recevoir (au plus une fois par semaine) les nouveautés de ce site, indiquez ici votre adresse électronique :

Contributions au noyau Linux par pays
Article mis en ligne le 28 août 2013
dernière modification le 16 janvier 2014

par Laurent Bloch

Peut-on tenter une approche quantitative de la position de la France dans les technologies au cœur de l’iconomie ? Il y a six ans, j’avais regardé qui étaient les contributeurs à l’écriture du noyau du système d’exploitation Linux, dont la liste est publiée pour chaque nouvelle version dans un document intitulé MAINTAINERS. La contribution au noyau Linux me semble un indicateur significatif de l’implication dans les technologies de pointe, parce qu’il s’agit d’un objet de grande complexité, en évolution rapide, fruit d’une collaboration internationale entre des contributeurs bénévoles, des entreprises commerciales et des centres de recherche universitaires.

Le noyau Linux

Le noyau Linux est la pièce centrale, la poutre maîtresse de ce système d’exploitation, c’est aujourd’hui un logiciel de plus de quinze millions de lignes de code (pour six millions en 2005 [1] ; une ligne de code est une ligne de texte de programme, écrite à la main par un être humain ; la création d’un tel artefact mobilise une intensité capitalistique considérable), dont les fonctions principales sont les suivantes :

 assurer la répartition équilibrée des ressources du système (temps de calcul, espace mémoire, espace de stockage, accès aux différents dispositifs matériels tels que réseau, imprimante, clavier, clés USB, etc.) entre les différents travaux des utilisateurs ;
 contrôler l’intégrité et la sécurité du système ;
 présenter à l’utilisateur ou à ses logiciels une interface stylisée, standardisée, abstraite et intelligible pour communiquer avec ces dispositifs matériels ou logiciels complexes et hétéroclites.

Afin d’assurer convenablement ces fonctions, le noyau doit évoluer en permanence pour s’adapter aux nouveaux dispositifs matériels et logiciels produits par l’industrie, ce pourquoi une nouvelle version est publiée tous les deux ou trois mois, et ce qui explique la croissance ininterrompue de sa taille.

Les auteurs du noyau

Depuis 2005, près de 8 000 auteurs ont contribué à l’écriture du noyau Linux (1 326 contributeurs à la version 3.2 de janvier 2013, 389 pour la version 2.6.11 d’avril 2005). Dès 2007 Jonathan Corbet avait entrepris une étude systématique du flux des modifications, en exploitant par des programmes écrits spécialement la base de données du dépôt des programmes source. L’essentiel de ce travail, mené régulièrement et dont les auteurs principaux, outre J. Corbet, sont Greg Kroah-Hartman et Amanda McPherson, est publié ici : http://www.remword.com/kps_result/i..., là : https://lwn.net/Articles/547073/, et aussi là : http://www.linuxfoundation.org/publ....

Quelle est l’intensité de ce travail ? Prenons les chiffres de la version 3.2. 1 427 163 lignes de code ont été modifiées ou créées par 1 326 programmeurs issus de 39 pays et appartenant à 201 entreprises. L’entreprise qui a le plus contribué à cette version était Broadcom (21,31%), sans doute parce qu’ils sortaient un nouveau modèle de circuit auquel ils souhaitaient adapter le noyau, mais la seconde était "Hobbyists" (ceux qui contribuent à titre personnel) avec 20,84%, suivie de Qualcomm avec 9,54% et d’Intel avec 5,40%. Remarquons la présence de Microsoft au 28e rang (15e si on compte non plus les lignes de code, mais les ensembles cohérents de modifications, nommés "patches").

Si on considère la « longue traîne », c’est-à-dire le cumul depuis 2005, 10 612 programmeurs issus de 844 entreprises et de 55 pays ont fourni 40 320 576 lignes de code. La première entreprise est "Hobbyists" avec 14,94%, suivie par Red Hat (10,03%), Intel (7,86%), Novell (6,48%), IBM (4,89%) et "Unknown" (4,18%). Oracle est au onzième rang, Google au 24e.

Il serait évidemment intéressant de poursuivre cette étude en regardant l’évolution des contributions dans le temps, parce que les chiffres cumulés donnent un poids excessif à ceux qui ont contribué naguère mais dont l’activité a ralenti, cependant que les chiffres pour une version unique peuvent mettre au premier plan un contributeur épisodique, par exemple un industriel qui souhaitait fournir un pilote pour son dernier appareil, sans être pour autant un contributeur régulier. Ainsi, Qumranet a été un contributeur très actif à l’époque où ils développaient l’hyperviseur Kernel-based Virtual Machines (KVM), puis en 2008 ils ont été rachetés par Red Hat. Le site mentionné ci-dessus procure toutes les données nécessaires à une telle étude.

Les contributions par pays

Si on s’intéresse aux 362 452 "patches" fournis depuis avril 2005, le premier pays contributeur est "Unknown" (18,83%), suivi par les États-Unis (18,01%) et l’Allemagne (11,65%), et la bonne surprise est de trouver la France au dixième rang (2,67%) avec 147 contributeurs, même si, en rapportant l’effectif de contributeurs à la population, nous sommes loin de la Finlande, des Pays-Bas, de la République Tchèque ou d’Israël. La forte position de l’Allemagne est due en grande partie à l’activité de l’éditeur SUSE, auteur d’une distribution Linux très reconnue, notamment en entreprise, et qui a déployé une partie de son activité en République Tchèque, qui de ce fait a aussi un excellent classement en regard de l’effectif de sa population.

Rang Nation Patches %
1 Unknown 68 265 18,83%
2 États-Unis 65 287 18,01%
3 Allemagne 42 226 11,65%
4 Royaume-Uni 27 147 7,49%
5 Chine 22 444 6,19%
6 Inde 13 582 3,75%
7 Russie 12 888 3,56%
8 Japon 12 519 3,45%
9 Finlande 9 809 2,71%
10 France 9 682 2,67%
11 Pays-Bas 9 673 2,67%
12 Australie 9 646 2,66%
13 Brésil 7 011 1,93%
14 Pologne 6 765 1,87%
15 Corée du Sud 6 024 1,66%
16 République Tchèque 5 595 1,54%
17 Canada 5 107 1,41%
18 Israël 5 089 1,40%
19 Suède 4 386 1,21%
20 Danemark 3 548 0,98%