Le pragmatiste du logiciel libre : entretien avec Linus Torvalds.

Auteur : Hiroo Yamagata, in The Pragmatist of Free Software: Linus Torvalds Interview
Traducteur : Sébastien Blondeel

septembre 1997 ; traduit en mai 1999

1. Introduction

Quand, voici quelques années, un étudiant finlandais a commencé à écrire le noyau d'un système d'exploitation pour ses études, personne n'aurait pu s'imaginer, même de loin, que cela prendrait l'ampleur d'un mouvement logiciel qui concernerait des millions d'utilisateurs de par le monde. Je parle bien sûr du logiciel libre Linux, et de son auteur Linus Torvalds.

Il a beau tenir l'un des rôles majeurs dans le mouvement du logiciel libre, Linus n'essaie pas de constuire un monde meilleur à travers le logiciel libre (même si son travail peut avoir de telles conséquences). Comme vous pourrez le voir dans l'entretien qui suit, peu lui importe de tracer une limite claire entre les logiciels « commerciaux » et « propriétaires », alors que rms est très sensible à cette question. Il va même jusqu'à encourager le développement de logiciels propriétaires fonctionnant par dessus le noyau Linux, incitation que condamne probablement rms.

Cependant, cette souplesse, ou ouverture, est l'une des principales sources de puissance et de popularité de Linux. Ne mettre en place aucune structure rigide, ne donner aucune consigne, cela permet aux choses de se dérouler et d'intégrer ce qui est bon. Les modes et autres phénomènes techniques passagers ne l'impressionnent pas (sa résistance à l'utilisation d'un micro-noyau n'a pas failli, depuis les débuts de Linux), mais si quelqu'un d'autre en fait l'expérience (on trouve des groupes qui travaillent sur MkLinux, un Linux utilisant le micro-noyau Mach), eh bien quoi, quel est le problème ?, il n'y en a pas, cela lui convient. Les logiciels commerciaux et propriétaires, mouais, ce serait bien de disposer de logiciels équivalents et libres, mais si les gens les veulent, qu'ils les programment donc. De manière générale, quiconque utilise Linux n'a qu'à s'en prendre qu'à lui-même, mais mieux vaut mal l'utiliser que de pas l'utiliser du tout.

Cette liberté (et la disponibilité de plusieurs distributions empaquetées) facilite énormément l'adoption et l'utilisation de Linux. C'est une « liberté » différente de celle que prône rms, même si elles ont beaucoup en commun. Cependant, cette liberté pragmatique de Linux a joué un rôle essentiel dans l'élargissement de l'horizon du logiciel libre. Comment évoluera-t-il, qu'adviendra-t-il de lui ? Si vous portez un intérêt même minime aux possibilités ouvertes par ce fameux « logiciel libre », c'est là un mouvement (et un homme) qu'il vous faut absolument avoir à l'oeil pendant au moins ces cinq prochaines années.

2. Entretien

Hiroo
Vous êtes devenu l'un des champions du logiciel libre. Cependant, à la différence de Richard Stallman, vous faites peu de commentaires sur ce que le logiciel libre devrait être et sur ce qu'il signifie pour nous tous. Ces aspects de « promotion du logiciel libre » vous intéressent-ils, ou est-ce le logiciel lui-même qui accapare toute votre attention ?

Linus
Je suis généralement assez pragmatique : ce qui fonctionne, fonctionne. En matière de logiciels, je préfère de loin le logiciel libre, car j'ai rarement rencontré un programme qui remplisse tous mes besoins, et disposer du code source peut sauver la mise.

Dans un certain sens, je fais donc une promotion active du logiciel libre, et des logiciels couverts par la GPL en particulier (car je sais qu'un logiciel couvert par la GPL restera libre, aussi ne dois-je pas m'inquiéter du sort des prochaines versions).

Cependant, cela ne signifie pas que je suis opposé au logiciel commercial. Le développement de logiciels commerciaux a lui aussi certains avantages — les aspects lucratifs introduisent de nouvelles motivations, absentes pour la plupart des logiciels libres. Et ces motivations ont souvent pour effet de produire un logiciel plus fini.

J'ai par exemple été enchanté par les vendeurs de CD-ROM de Linux comme Red Hat. La commercialisation a apporté à Linux la motivation de faire une bonne distribution, facile à installer, et dont tous les problèmes de paquetages sont réglés — tout est pratiquement disponible facilement.

Avant l'avénement des sociétés à risques commerciales, il était assez difficile de mettre en place Linux, car la plupart des développeurs étaient principalement motivés par leurs propres intérêts, qui n'impliquaient que très rarement la facilité d'utilisation. Et avec Linux, le caractère commercial n'exclut pas la disponibilité du code source, aussi peut-on obtenir à la fois le meilleur des deux mondes.

On trouve ensuite des logiciels commerciaux qui ne sont pas fournis avec leur code source (le logiciel commercial au sens « traditionnel », par opposition à la distribution Red Hat Linux). Et je ne cherche pas non plus à en détourner quiconque : je déteste ne pas pouvoir (moi et d'autres) en corriger les bogues, mais parfois c'est de tels logiciels qu'il faut employer.

Hiroo
Quand et pourquoi avez-vous décidé de placer Linux sous GPL ? Avez-vous jamais regretté de ne pas en avoir fait un shareware ?

Linus
Je n'ai jamais regretté ne pas avoir fait de Linux un shareware : je n'aime vraiment pas l'idée de « payer pour utiliser » des partagiciels sous forme binaire, qui sont si répandus dans le monde MS-DOS.

Je pense que les partagiciels ajoutent aux défauts du logiciel commercial (absence du code source) ceux du logiciel libre (pas de touche finale). Je ne crois absolument pas au marché du partagiciel.

En réalité, j'ai tout au début publié le code source complet de Linux sous un copyright qui n'était pas la GPL, et qui était bien plus restrictif que cette dernière : il exigeait que le code source soit toujours disponible dans son intégralité, et il interdisait aussi toute transaction financière autour de Linux (c'est-à-dire que non seulement je n'en retirais aucun argent, mais j'interdisais aussi à quiconque de gagner de l'argent grâce à Linux).

Ce premier copyright était surtout là en réaction au système d'exploitation que j'avais tenté d'utiliser avant d'écrire Linux : Minix. Minix avait été créé dans l'intention d'en faire un système d'exploitation pour l'enseignement, mais il était trop limité et selon moi trop cher pour cela. Il était également difficile à obtenir.

Aussi, quand j'ai créé Linux, je voulais qu'il soit facilement disponible par ftp, avec tout son code source, et je ne voulais pas que quiconque le trouve trop cher.

J'ai changé le copyright pour adopter la GPL après environ un an : il s'est rapidement avéré que mon copyright original était si restrictif qu'il interdisait certaines utilisations parfaitement acceptables (services de copie de disques, etc. — c'était avant que les CD-ROM ne gagnent en popularité). Et même si la GPL m'a dans un premier temps rendu un peu nerveux, je voulais aussi montrer que j'appréciais le compilateur de langage C gcc, dont Linux dépendait, et qui était évidemment couvert par cette dernière.

Protéger Linux par la GPL est la meilleure décision que j'aie jamais prise.

Hiroo
Il est évident que vous travaillez sur Linux car cela vous plaît (d'une manière ou d'une autre). Imaginez que quelqu'un vous avait payé pour que vous vous concentriez sur le développement de Linux, pensez-vous que les choses auraient été différentes ? Cela est-il en rapport avec le choix de votre emploi actuel ? J'ai compris que vous en avez surpris plus d'un en choisissant une société qui n'était pas directement liée à Linux.

Linus
J'ai précisément refusé de travailler pour une société commerciale spécialisée dans Linux car je refusais de subir des pressions et de devoir faire ce que je ne souhaitais pas faire.

De plus, je voulais aussi que mon travail ne soit pas à 100 % dévolu à Linux, car je craignais me lasser de Linux si je ne faisais que cela. C'est pourquoi cet emploi à Transmeta était exactement ce qu'il me fallait : faire quelque chose d'intéressant, qui ne soit pas lié à Linux, tout en travaillant sur Linux en parallèle, sans aucune contrainte à cet égard (mon patron ne peut rien exiger de moi que je ne souhaite pas en matière de Linux).

Hiroo
Que pensez-vous de l'idée de « logiciel libre » selon RM ? Lors de la conférence que vous avez donnée au MIT voici quelques années, vous n'avez pas donné l'impression d'être opposé au logiciel propriétaire. L'êtes-vous ? Quels logiciels gagnent à être libres, et quels logiciels gagnent à être propriétaires ?

Linus
Je ne vois pas, comme rms, la vie en noir et blanc : j'ai tendance à penser que les gens font ce qu'ils veulent, mais je préfère personnellement utiliser du logiciel libre. Et la raison pour laquelle je préfère le logiciel libre n'est pas religieuse ou assimilée : c'est juste que je possède de nombreuses machines, et que je souhaite pouvoir travailler avec toutes. Disposer de logiciel libre me permet de compiler le même logiciel sur mes Alpha comme sur mes PC.

D'un autre côté, j'ai tendance à penser que certains programmes sont appelés à être commerciaux et fonctionneront mieux ainsi, principalement ceux qui sont en grande partie constitués de cette « finition » en laquelle excelle le logiciel commercial.

Les interfaces utilisateur, par exemple, sont souvent meilleures dans les logiciels commerciaux. Je ne prétends pas que cela soit toujours le cas, mais bien souvent l'interface utilisateur à un programme est ce à quoi une société commerciale accorde le plus d'importance : le fait que le programme fonctionne correctement ou non passe au second plan (comme les nombreux programmes bogués de la société Microsoft le montrent — et c'est loin d'être la seule fautive).

C'est ainsi que des programmes comme les traitements de texte ont tendance à être meilleurs quand ils sont commerciaux, car dans un traitement de texte c'est l'interface utilisateur qui compte avant tout.

D'un autre côté, le logiciel libre a particulièrement bien réussi dans le cadre de projets à dominante technique, où l'aspect technique passe avant tout. Le noyau Linux illustre bien évidemment cela, mais le compilateur C de GNU et divers outils de programmation en sont d'autres exemples.

Hiroo
De nombreuses distributions de Linux permettent aux utilisateurs d'installer Linux sans savoir ce qui se passe sous le capot. Bien que cela ait apporté une manne de nouveaux utilisateurs de Linux, certains voient là un oubli de l'esprit du logiciel libre, car ces derniers venus n'auront jamais à comprendre les arcanes du système. Cela vous chagrine-t-il ?

Linus
Non, je pense que c'est tant mieux. Je ne pense pas que tout un chacun devrait s'intéresser au fonctionnement d'un système d'exploitation ; il se trouve que cela m'intéresse, moi, mais je pense également que tout programme n'est bon que s'il est utile à quelque chose.

C'est pourquoi un programme inutile ne peut pas être bon, indépendamment de la qualité de son implémentation. L'arrivée de ces utilisateurs qui se fichent de savoir comment le noyau fonctionne et se contentent de l'utiliser est non seulement un hommage à mon travail, mais a également eu pour effet de soulever des problèmes auxquels je n'aurais jamais pensé sinon.

Ces utilisateurs ont des pratiques différentes des miennes, aussi leurs besoins sont-ils différents. Et dans de nombreux cas de figure, ces différences ont mis en exergue des carences ou des défauts de Linux. C'est ainsi que même sans se soucier de la manière dont Linux fonctionne, ces utilisateurs ont joué un rôle dans son amélioration.

Hiroo
Parlons du débat « Linux » / « GNU/Linux » : en avez-vous parlé avec Richard Stallman ?

Linus
rms m'a demandé si le nom me déplaisait avant de commencer à l'utiliser, et je lui ai donné le feu vert. Je ne pensais pas alors que cela produirait un débat aussi passionné, et je pensais aussi que rms ne comptait l'utiliser que sur les versions particulières de Linux sur lesquelles la FSF travaillait plutôt que sur « tout » système Linux.

Je n'ai jamais pensé que le choix du nom avait une telle importance, mais je me trompais, si j'en juge par les nombreuses réactions que cela a provoqué. C'est pourquoi, quand maintenant on me pose la question, je conseille le nom « Linux », tout court.

Hiroo
(je sais qu'on vous a demandé cela des milliers de fois, mais...) Pourquoi Linux a-t-il rencontré un tel succès ? Certains l'attribuent à votre personnalité, d'autres au fait qu'il soit arrivé au bon moment et à pas mal de chance. Qu'en pensez-vous ?

Linus
Les raisons sont nombreuses. Le bon moment et la chance en sont deux évidentes. Mais d'un autre côté, j'aime à penser que le succès de Linux doit beaucoup à mes qualités de gestionnaire de projet (et, évidemment, de programmeur) .

Je pense également que le modèle de développement de Linux, en général, est très bon : Linux compte moins de règles que les autres développements, et tout le monde peut y mettre son grain de sel. Je joue le rôle de « filtre » pour toutes les propositions de modifications, mais en dehors de cela c'est un modèle de développement très libre.

Hiroo
Maintenant que Linux a pris cette ampleur, sentez-vous une pression pour le garder dans « le droit chemin » ? Quelle est votre principale crainte quant à son avenir ?

Linus
Je me suis toujours efforcé de « bien » faire avec Linux, mais sur le plan technique, et cela ne m'a jamais vraiment inquiété. Ce qui est agréable avec le plan technique, c'est que les problèmes techniques trouvent toujours une solution — alors que des questions non techniques n'ont parfois aucune réponse. C'est ainsi que les problèmes techniques finissent par trouver une solution si des gens de valeur y réfléchissent. Et Linux dispose des tout meilleurs.

Je ne m'inquiète donc pas vraiment de l'avenir de Linux — d'un point de vue technique je pense qu'il se bonifiera, et je me fiche pas mal, personnellement, des aspects non techniques.

Hiroo
On trouve d'autres débats sur la question de savoir quel système est le meilleur, de Linux, FreeBSD, ou NetBSD. Quelle est votre position ? On entend souvent dire que Linux n'est pas, en soi, meilleur que tout autre système. Pensez-vous ainsi ? Avez-vous examiné HURD ? Qu'en pensez-vous ?

Linus
Je ne pense pas que Linux soit, de façon inhérente, meilleur que FreeBSD ou NetBSD. Je pense simplement qu'il a rencontré un succès bien plus franc et massif, en partie, selon moi, car le projet est mieux géré. Et puisque Linux a rencontré un plus grand succès, on compte plus de développeurs qui travaillent dessus, et il s'est développé bien plus rapidement.

Linux compte aussi quelques avantages techniques : c'est une ré-implémentation propre qui ne traîne aucun bagage historique, et le fait qu'il existe une personne que tout le monde reconnaît comme chef de projet (moi) m'autorise à prendre des décisions plus radicales que celles que les organisations d'autres projets autorisent.

Par exemple, je peux de mon propre chef décider que quelque chose est mal fait, et le refaire complètement, même si cela a pour effet de casser de grandes quantités de vieux code. De telles décisions mettent un certain à être digérées par le projet, mais le résultat final n'en est que meilleur : si quelque chose est cassé, il sera plus rapidement réparé.

En ce qui concerne Hurd, je dois avouer que l'approche ne me convainct pas totalement. Personnellement je pense que Mach, le micro-noyau sur lequel Hurd repose, est non seulement bouffi et lent, mais bien trop compliqué également.

Je pense que le projet Hurd a eu l'ambition de réaliser le système d'exploitation « parfait », et qu'il a eu les yeux plus gros que le ventre. Il cherche à être trop malin, trop différent, trop radical. Il n'essaie pas d'être praticable, ce qui est le but principal de Linux.

Hiroo
Considérez-vous plutôt ces autres systèmes Unix sur PC compatible IBM comme des rivaux, ou comme des collègues ? Examinez-les vous souvent pour savoir ce qui peut être incorporé à Linux, ou n'en tenez-vous aucun compte ?

Linus
Je ne me préoccupe que très rarement des autres systèmes. Je concentre principalement mes efforts sur Linux pour en faire le meilleur système d'exploitation possible, et même si j'emprunte parfois pour cela des idées à d'autres systèmes, ce n'est pas là une activité très significative (et quand je souhaite examiner des idées neuves et intéressantes je me tourne vers des systèmes radicalement différents, tels que Plan-9 ou Inferno, et je tente ensuite de décider quelles idées en valent vraiment la peine.

Hiroo
Considérez-vous constituer (vous ou Linux) une menace pour la société Microsoft ? Vous y attelez-vous ? Ou voyez-vous plutôt Linux comme occupant une autre niche que celle de MS-Windows ?

Linus
Je ne me pose pas en menace envers la société Microsoft, principalement parce que je ne vois là nulle concurrence. Et certainement pas en MS-Windows — les buts de Linux et de MS-Windows sont par trop différents.

Je me suis intéréssé à MS-Windows NT, mais plus je l'étudie plus ce système m'apparaît comme un MS-Windows traditionnel, avec un noyau plus stable. Je n'y vois rien d'intéressant techniquement. Je pense que la société Microsoft a bien plus de réussite avec ses schémas lucratifs qu'avec la programmation de ses systèmes d'exploitation — ils sont mauvais.

Hiroo
Dans votre conférence au MIT, vous avez mentionné que Linux manquait d'applications pour l'utilisation final (et vous ne faisiez pas allusion à gcc). On a vu depuis de nombreuses suites bureautiques portées sous Linux ; de quel autre domaine d'applications pour l'utilisateur final estimez-vous Linux dépourvu ?

Linus
On manque toujours de choix dans le domaine des applications de bureau, et les applications restent trop difficiles à trouver. Je vous accorde que beaucoup de choses ont évolué en mieux, et je suis en général très satisfait de l'état actuel de l'offre en matière de logiciels pour Linux. Il en faut tout simplement plus, et il faut pouvoir les trouver plus facilement.

Hiroo
Quelle est votre priorité pour le développement de Linux ? Quelles sont les fonctionnalités principales à implémenter dans les versions 2.2-2.3 du noyau ? Avez-vous des projets plus ambitieux encore pour la version 3.0 ?

Linus
Je suis en ce moment en train de réfréner les ardeurs du développement pour aboutir à une version 2.2, et les choses les plus importantes sont faites (mais il faut encore les déboguer et les polir un peu). Les améliorations majeures concernent les performances dans de nombreux domaines, et un modèle SMP grandement amélioré. Linux-2.2 sera également disponible directement sur un nombre d'architectures bien plus important (alors que la version 2.0 se limitait aux architectures Intel et Alpha, la version 2.2 pourra fonctionner sur Sparc, m68k, PowerPC, MIPS, etc.).

Les objectifs pour Linux-3.0 sont encore flous — je prends les choses comme elles viennent. Le temps réel et des capacités à fonctionner en grappe constituent des jalons probables.

Linus
Linux est un effort coopératif de nombreux participants ; quelle fraction du noyau vous est finalement due ? Passez-vous plus de temps à coordonner les contributions majeurs provenant du monde entier, ou à écrire vous-même du code ?

Linus
Je consacre la plupart de mon temps à la coordination, et non à l'écriture de code ; par moments, je passe une semaine ou deux à écrire du code, mais en moyenne je lis énormément de courriers électoniques et je coordonne bien plus que je ne programme.

Fort ténues sont les fractions du noyau qui sont exclusivement de ma main, mais j'en considère « mienne » une bonne partie — en ce sens que j'en ai décidé du plus gros de la conception et que j'en reste encore le mainteneur principal. Il s'agit en général des services de base tels que la gestion de la mémoire, les fonctions communes du système de fichiers, la gestion des processus, etc.

Hiroo
Sentez-vous que par sa taille le projet Linux est en train d'échapper à votre contrôle ? Pensez-vous que le jour viendra où vous devrez en partager la tête ?

Linus
D'un point de vue technique, non. J'ai fort bien réussi à déléguer le travail dont je ne peux ou ne veux pas m'occuper, ce qui m'a permis de continuer à travailler sur le noyau de base, décider des jalons, et tracer les grandes lignes du noyau.

Mais le « projet Linux », dans son intégralité, est déjà bien trop gros pour que je puisse le gérer seul, et cela ne fera que s'aggraver avec le temps. C'est pourquoi on trouve des sociétés qui proposent de l'assistance technique pour Linux, des organisations qui s'occupent de maintenance et de développement, et des individus qui dans le monde entier travaillent sur des projets personnels au sein du réseau Linux.

Hiroo
La communauté Linux a crû avec une vitesse et une constance étonnantes, en provoquant très peu de problèmes. Vous faites-vous une image mentale de ce qu'elle sera à l'avenir (de ces visions que les sociétés Microsoft et Apple affectionnent sans jamais qu'elles débouchent sur du concret ?)

Linus
Je m'efforce d'éviter les projets et les visions à long terme — je peux de cette manière traiter plus efficacement des nouveautés qui se présentent sans préjugés sur la manière dont je devrais procéder. Le seul projet à long terme que j'aie jamais eu, et conserve aujourd'hui encore, est d'améliorer Linux.

Je sais que cela ne semble pas très excitant, mais ce le fut pourtant, à un point tel que grâce aux incessantes nouveautés, je ne me suis jamais lassé.

Hiroo
Être en Finlande a-t-il eu un quelconque impact sur le développement de Linux ? Je me suis laissé dire qu'il fait trop froit à Helsinki pour envisager toute autre activité que celle de rester au chaud et d'écrire du code ; y a-t-il à cela un fond de vérité ?

Linus
Helsinki n'est pas aussi terrible que cette remarque le laisse penser. C'est une ville très agréable, et il n'y fait vraiment froid qu'en hiver.

L'un des principaux avantages de la Finlande est le très haut niveau d'éducation (et cette éducation étant gratuite, je ne devais pas me soucier des problèmes de fins de mois alors que j'étudiais). Sans oublier son côté très mdoerne — je pense que la Finlande est le premier pays du monde en termes de nombres d'accès à l'Internet par personne.

C'est ainsi qu'un développement comme Linux a fort bien fonctionné en Finlande.

Hiroo
Que pensez-vous des États-Unis d'Amérique jusqu'ici ?

Linus
J'apprécie énormément le climat — Helsinki a beau ne pas être aussi froide que vous le laissez entendre, la Californie est bien plus agréable de ce point de vue. J'ai peine à me rappeler la dernière fois où je n'ai pas pu me promener en short toute la journée...

J'apprécie également le contraste avec la frilosité des entreprises finlandaises : la Finlande a beau être un pays très moderne, on y est resté très traditionnel, on y prend peu de risques, et on n'y fait pas ce qui est intéressant. La Silicon Valley est de ce point de vue très différente : tout ici est dernier cri, et les projects techniquement passionnants sont légion.

On peut dire que ma nouvelle vie ma plaît bien.

Hiroo
J'ai lu l'article de la revue Wired : votre petite fille constitue-elle vraiment une menace à l'avenir du développement de Linux ?

Linus
Non, cela relevait plutôt de la plaisanterie, même si au moment de cet entretien (2 jours à peine après la naissance), je n'avais aucune idée de l'impact qu'elle aurait sur le développement de Linux.

Patricia s'est révélé être une enfant très calme, et j'ai beaucoup joué avec elle. Elle ne menace en rien Linux.