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.
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.