GNU/Linux
de se servir d’un clavier pendant trois ans, l’avaient tenu éloigné de la programmation. Il cite enfin la mauvaise communication entre les différentes parties du projet GNU. « Faire fonctionner l’environnement de débogage demandait un gros travail,
se souvient-il. Et l’équipe qui maintenait GDB à l’époque n’était
pas très coopérative. » Les développeurs de GDB avaient en effet donné la priorité au support des plates-formes existantes sur
lesquelles tournait GDB, au lieu de se consacrer au but général :
l’obtention d’un système GNU complet.
Mais surtout, Stallman reconnaît que lui et les développeurs
de Hurd avaient foncièrement sous-estimé la difficulté d’étendre le
micro-noyau Mach à un noyau Unix complet. « Je m’étais imaginé
que la partie [de Mach] parlant avec la machine avait déjà été déboguée, raconte-t-il au cours d’un discours prononcé en l’an 2000, se
souvenant des déboires de l’équipe de Hurd. Grâce à cette longueur
d’avance, nous aurions dû pouvoir finir le travail plus vite. Mais
au contraire, il est apparu que déboguer ces programmes asynchrones et multithreadés 6 était vraiment difficile. Il y avait des
bogues de synchronisation qui corrompaient les fichiers, et c’était
vraiment l’enfer. Et au final, il a fallu de très nombreuses années
pour obtenir une version de test » 7 (voir encart ci-après).
Note À propos des bogues de synchronisation
Dans les courriels qui ont suivi ce discours, j’ai demandé à Stallman ce qu’il voulait dire exactement par « bogues de synchronisation » (timing bugs). Stallman expliqua que l’expression « erreurs
6. Le multithread est la capacité d’un programme à disposer de plusieurs
traitements simultanément actifs au sein d’un même processus. (Source : Le
Jargon Français, http://jargonf.org) — NdT.
7. Extrait du discours du Maui High Performance Computing Center (cf.
chap. 8).
211
de se servir d’un clavier pendant trois ans, l’avaient tenu éloigné de la programmation. Il cite enfin la mauvaise communication entre les différentes parties du projet GNU. « Faire fonctionner l’environnement de débogage demandait un gros travail,
se souvient-il. Et l’équipe qui maintenait GDB à l’époque n’était
pas très coopérative. » Les développeurs de GDB avaient en effet donné la priorité au support des plates-formes existantes sur
lesquelles tournait GDB, au lieu de se consacrer au but général :
l’obtention d’un système GNU complet.
Mais surtout, Stallman reconnaît que lui et les développeurs
de Hurd avaient foncièrement sous-estimé la difficulté d’étendre le
micro-noyau Mach à un noyau Unix complet. « Je m’étais imaginé
que la partie [de Mach] parlant avec la machine avait déjà été déboguée, raconte-t-il au cours d’un discours prononcé en l’an 2000, se
souvenant des déboires de l’équipe de Hurd. Grâce à cette longueur
d’avance, nous aurions dû pouvoir finir le travail plus vite. Mais
au contraire, il est apparu que déboguer ces programmes asynchrones et multithreadés 6 était vraiment difficile. Il y avait des
bogues de synchronisation qui corrompaient les fichiers, et c’était
vraiment l’enfer. Et au final, il a fallu de très nombreuses années
pour obtenir une version de test » 7 (voir encart ci-après).
Note À propos des bogues de synchronisation
Dans les courriels qui ont suivi ce discours, j’ai demandé à Stallman ce qu’il voulait dire exactement par « bogues de synchronisation » (timing bugs). Stallman expliqua que l’expression « erreurs
6. Le multithread est la capacité d’un programme à disposer de plusieurs
traitements simultanément actifs au sein d’un même processus. (Source : Le
Jargon Français, http://jargonf.org) — NdT.
7. Extrait du discours du Maui High Performance Computing Center (cf.
chap. 8).
211
