Au-delà de la loi de Brooks

J'ai rencontré Linux pour la première fois à la fin de l'année 1993, à travers une distribution sur CD-ROM du pionnier Yggdrasil. À cette époque, j'avais déjà été impliqué dans la culture des hackers depuis plus de quinze ans. Mes premières expériences remontaient à l'ARPAnet primitif de la fin des années 1970 ; j'ai même été brièvement touriste sur les machines ITS. J'avais déjà écrit du logiciel libre et je l'avais publié sur l'Usenet avant que la Free Software Foundation ne voie le jour en 1984, et je fus l'un des premiers contributeurs à la FSF. Je venais de publier la deuxième édition de The New Hacker's Dictionary. Je pensais très bien connaître la culture des hackers — et ses limitations.

La rencontre avec Linux fut un choc. J'avais beau avoir baroudé de nombreuses années dans la culture des hackers, je traînais toujours l'idée reçue que des hackers amateurs, même très doués, ne pourraient jamais rassembler suffisamment de ressources ou de talent pour produire un système d'exploitation multi-tâches utilisable. Les développeurs du Hurd, après tout, avaient ostensiblement échoué sur ce point pendant une décennie.

Mais là où ils ont échoué, Linus Torvalds et sa communauté ont réussi. Et ils ne se sont pas contentés de ne remplir que les exigences minimales en matière de stabilité et d'interfaces fonctionnant à la Unix. Oh non. Ils ont explosé ces critères par leur exubérance et leur flair, en fournissant des centaines de millions d'octets de programmes, de documents, et d'autres ressources. Des suites complètes d'outils pour l'Internet, des logiciels de publication de qualité professionnelle, la possibilité d'utiliser le mode graphique, des éditeurs, des jeux — tout cela, et bien plus encore.

Observer cette débauche de codes merveilleux étalés sous mes yeux fut une expérience bien plus puissante que de me contenter de savoir, d'un point de vue uniquement intellectuel, que toutes les portions existaient probablement déjà quelque part. C'est comme si je m'étais baladé au milieu de piles de pièces de rechange dépareillées pendant des années pour me retrouver face aux même pièces, assemblées sous la forme d'une Ferrari rouge et rutilante, portière ouverte, les clés se balançant sur le contact, et le moteur ronronnant des promesses de puissance...

La tradition des hackers, que j'avais observée pendant vingt ans, semblait soudain prendre vie d'une nouvelle et vibrante manière. Dans un certain sens, je faisais déjà partie de cette communauté, car plusieurs de mes projets de logiciel libre avaient été ajoutés à la mêlée. Mais je voulais y pénétrer plus profondément, car chacune des merveilles que j'observais approfondissait aussi mon étonnement. C'était trop beau !

Les coutumes du génie logiciel sont inféodées à la loi de Brooks, qui prédit que lorsque le nombre N de programmeurs augmente, le travail accompli augmente en proportion mais que la complexité et la vulnérabilité aux bogues augmente en N2. N2 est le nombre de chemins de communication (et d'interfaces de code potentielles) séparant les bases de code des développeurs.

La loi de Brooks prédit qu'un projet comptant des milliers de contributeurs devrait être un capharnaüm floconneux et instable. D'une certaine manière, la communauté de Linux a vaincu l'effet N2 en produisant un système d'exploitation d'une qualité exceptionnelle. J'étais décidé à comprendre la manière dont ils avaient procédé.

Il m'a fallu trois ans de participation et d'observation de près pour développer une théorie, et une année encore pour la mettre en pratique. Je me suis alors assis à mon bureau et j'ai rédigé « La cathédrale et le bazar », alias CatB, pour expliquer ce que j'avais vu.