L'original de cette page est en anglais.
Linux, GNU, et liberté
par Richard M. Stallman
Puisque l'article de Joe Barr a critiqué mes négociations avec SIGLINUX, j'aimerais faire une mise au point sur ce qui s'est vraiment passé, et donner mes raisons.
Quand SIGLINUX m'a invité à parler, il s'agissait d'un « groupe d'utilisateurs Linux » (LUG) ; c'est-à-dire un groupe pour utilisateurs du système GNU/Linux qui appelle l'ensemble du système d'exploitation « Linux ». J'ai alors répondu poliment que s'ils voulaient que quelqu'un du projet GNU fasse un discours pour eux, ils devraient traiter le projet GNU correctement, et appeler le système « GNU/Linux ». Le système est une variante de GNU, et le projet GNU en est le principal développeur, aussi la correction veut-elle qu'on lui donne le nom que nous avons choisi. À moins qu'il n'y ait des raisons impérieuses de faire une exception, je refuse habituellement de faire des discours pour des organisations qui ne donneraient pas à GNU le crédit qui lui revient. Je respecte leur liberté d'expression, mais j'ai également la liberté de ne pas faire de discours.
Par la suite, Jeff Strunk de SIGLINUX a essayé de changer la politique du groupe, et a demandé à la FSF de le placer sur notre page de groupes d'utilisateurs GNU/Linux. Notre webmestre lui a dit que nous ne le listerions pas sous le nom « SIGLINUX », car ce nom implique qu'il concerne Linux. Strunk a proposé de changer le nom pour « SIGFREE », et notre webmestre a trouvé que ce serait bien (l'article de Barr a dit que nous avions rejeté cette proposition). Quoi qu'il en soit, le groupe décida finalement de garder « SIGLINUX ».
À ce moment-là, on me redemanda mon avis, et je suggérai de réfléchir à d'autres noms possibles. Il y a plusieurs noms qu'ils pourraient choisir qui n'appelleraient pas le système « Linux », et j'espère qu'ils en trouveront un qui leur plaise. Pour l'instant, on en est là, pour autant que je sache.
Est-il vrai, comme l'écrit Barr, que certains voient dans ces actions une « utilisation de la force » comparable au pouvoir du monopole de Microsoft ? Probablement. Décliner une invitation n'est pas de la coercition, mais les gens qui sont déterminés à croire que le système entier est « Linux » développent parfois une vision étonnamment déformée. Pour justifier ce nom, ils prennent des vessies pour des lanternes. Si vous pouvez ignorer les faits et croire que Linus Torvalds a développé l'ensemble du système en commençant en 1991, ou si vous pouvez ignorer votre sens de la justice et croire que Torvalds devrait être le seul à en obtenir le crédit, même s'il n'a pas fait cela, il n'y a qu'un pas pour croire que je vous dois un discours si vous le demandez.
Considérez ceci : le projet GNU commence à développer un système d'exploitation, et des années plus tard Linus Torvalds y ajoute une partie importante. Le projet GNU a dit « veuillez mentionner notre projet équitablement », mais Linus a dit, « ne leur donnez aucune part du mérite, appelez l'ensemble de mon seul nom ! » Imaginez maintenant l'état d'esprit d'une personne qui, à la lumière de ces événements, accuse le projet GNU d'égoïsme. Il faut de sacrés préjugés pour se méprendre à ce point.
Une personne ayant autant de préjugés peut dire toutes sortes de choses injustes au sujet du projet GNU et les trouver justifiées ; ses camarades la soutiendront, parce qu'ils veulent un soutien mutuel dans le maintien de leur méprise. Ceux qui ne sont pas d'accord peuvent se faire injurier ; ainsi, si je refuse de participer à une activité sous la rubrique « Linux », ils peuvent trouver cela inexcusable, et me tenir pour responsable du malaise qu'ils ressentent après coup. Quand tant de gens veulent que j'appelle le système « Linux », comment puis-je, moi qui ai simplement lancé son développement, ne pas obéir ? Et leur refuser carrément un discours les mécontente carrément. C'est de la coercition, aussi néfaste que celle de Microsoft !
Maintenant, vous pourriez vous demander pourquoi je fais tant d'histoires et me donne tout ce mal. Quand SIGLINUX m'a convié à parler, j'aurais pu juste dire « non, désolé » et l'affaire en serait restée là. Pourquoi n'ai-je pas fait cela ? Je suis prêt à prendre le risque d'être personnellement injurié afin d'avoir une chance de corriger l'erreur qui sape les efforts du projet GNU.
Appeler cette variante du système GNU « Linux » fait le jeu de ceux qui choisissent leur logiciel en fonction du seul critère de l'avantage technique, sans se demander s'il respecte leur liberté. Il y a des gens comme Barr, qui veulent leur logiciel « libre de toute idéologie » et qui critiquent quiconque parle de liberté. Il y a des gens comme Torvalds qui feront pression sur notre communauté pour utiliser des programmes non libres, et qui défieront ceux qui s'en plaignent de fournir immédiatement un programme (techniquement) meilleur ou de se taire. Il y a des gens qui disent que les décisions techniques ne doivent pas être « politisées » par la prise en compte de leurs conséquences sociales.
Dans les années 70, les utilisateurs d'ordinateurs ont perdu leurs libertés de redistribuer et modifier le logiciel parce qu'ils ne donnaient pas de valeur à leur liberté. Les utilisateurs d'ordinateurs ont regagné ces libertés dans les années 80 et 90, parce qu'un groupe d'idéalistes, le projet GNU, croyait que la liberté est ce qui rend un programme meilleur, et voulait travailler pour ce en quoi il croit.
Nous avons une liberté partielle aujourd'hui, mais notre liberté n'est pas assurée. Elle est menacée par la CBDTPA (anciennement SSSCA), par le Broadcast « Protection » Discussion Group (voir http://www.eff.org/ [en]) qui propose d'interdire l'utilisation de logiciel libre pour accéder aux télédiffusions numériques ; par les brevets logiciels (l'Europe est en train d'y réfléchir), par les accords de non-divulgation de Microsoft pour les protocoles essentiels, et par tous ceux qui nous incitent à utiliser des programmes non libres qui sont « meilleurs » (techniquement) que les programmes libres disponibles. Nous pouvons perdre à nouveau notre liberté tout comme nous l'avons perdue la première fois, si nous ne faisons pas suffisamment attention pour la protéger.
Serons-nous assez à faire attention ? Cela dépend de beaucoup de choses ; parmi celles-ci, quelle influence a le projet GNU, et quelle influence a Linus Torvalds. Le projet GNU dit : « Appréciez votre liberté ! » Joe Barr dit : « Choisissez entre des programmes libres et non libres sur les seuls critères techniques ! » Si les gens attribuent à Torvalds le mérite d'être le développeur principal du système GNU/Linux, ce n'est pas seulement inexact, cela donne aussi plus de poids à son message. Et ce message dit : « Les logiciels non libres sont bien ; je les utilise et les développe moi-même. » S'ils reconnaissent notre rôle, ils nous écouteront mieux, et le message que nous leur donnerons sera : « Ce système existe grâce à des gens qui se soucient de la liberté. Rejoignez-nous, appréciez votre liberté et ensemble nous pourrons la préserver. » Vous trouverez l'historique sur http://www.gnu.org/gnu/the-gnu-project.html.
Quand je demande aux gens d'appeler le système « GNU/Linux », certains donnent des excuses farfelues et de faux prétextes. Mais nous n'avons probablement rien perdu, car ils n'étaient sans doute pas convaincus au départ. Pendant ce temps, d'autres personnes reconnaissent les raisons que je donne, et utilisent ce nom. Ce faisant, ils aident les autres à prendre conscience de la véritable raison d'être du système GNU/Linux, et cela accroît notre capacité à répandre l'idée que la liberté est une valeur importante.
C'est pourquoi je continue à me battre contre les préjugés, la calomnie et l'accablement. Cela heurte mes sentiments, mais quand mon effort aboutit, il aide la campagne du projet GNU pour la liberté.
Puisque ceci est survenu dans le contexte de Linux (le noyau) et Bitkeeper, le système de contrôle de version non libre que Linus Torvalds utilise maintenant, j'aimerais maintenant commenter également ce problème.
Le problème Bitkeeper
(Voir la mise à jour ci-dessous.)
L'utilisation de Bitkeeper pour les sources de Linux a un sérieux effet sur la communauté du logiciel libre, parce que quiconque veut suivre de près les patches de Linux ne peut le faire qu'en installant ce programme non libre. Il doit y avoir des dizaines et même des centaines de hackers du noyau qui ont fait cela. La plupart d'entre eux se convainc petit à petit que ce n'est pas grave d'utiliser des logiciels non libres, pour ne pas reconnaître la dissonance cognitive qui consiste à accepter la présence de Bitkeeper sur leurs machines. Que pouvons-nous faire ?
Une solution est de mettre en place un autre référentiel pour les sources Linux, utilisant CVS ou un autre système de contrôle de version, et de s'arranger pour y charger les nouvelles versions automatiquement. Il pourrait utiliser Bitkeeper pour accéder aux dernières révisions, puis installer les nouvelles révisions dans le CVS. Ce processus de mise à jour pourrait être exécuté automatiquement et fréquemment.
La FSF ne peut pas faire cela, parce que nous ne pouvons pas installer Bitkeeper sur nos machines. Nous n'avons pas de système ni d'application non libre sur nos machines actuellement, et nos principes nous dictent de continuer ainsi. La création de ce référentiel devra être faite par quelqu'un d'autre qui acceptera d'avoir Bitkeeper sur sa machine, à moins que quelqu'un ne trouve ou ne crée un moyen de le faire en utilisant des logiciels libres.
Les sources de Linux ont elles-mêmes un problème bien plus sérieux avec les logiciels non libres : elles en contiennent en fait quelques-uns. Pas mal de pilotes de périphériques contiennent une série de nombres qui représentent des micrologiciels [firmware] à installer dans le périphérique. Ces programmes ne sont pas des logiciels libres. Quelques nombres à déposer dans un registre de périphérique sont une chose ; un programme binaire conséquent en est une autre.
La présence de ces programmes, uniquement binaires, dans les fichiers « sources » de Linux crée un autre problème : cela remet en question la légalité de la redistribution. La GPL requiert le « code source complet correspondant », et une séquence d'entiers n'est pas un code source. Pour la même raison, ajouter de tels binaires aux sources de Linux viole la GPL.
Les développeurs de Linux ont prévu de placer ces micrologiciels dans des fichiers séparés ; cela prendra des années avant d'y arriver, mais quand ce sera accompli, cela résoudra le deuxième problème ; nous pourrons faire une version « Linux libre » qui ne contiendra pas les fichiers de micrologiciel non libre. Ce ne sera pas très bénéfique en soi si la plupart des gens utilisent la version « officielle » non libre de Linux. Cela pourrait très bien arriver, car la version libre ne fonctionne pas sur bien des plateformes sans les micrologiciels non libres. Le projet « Linux libre » devra découvrir ce que fait chaque micrologiciel et écrire le code source, peut-être en langage assembleur, pour le processeur intégré sur lequel ils est exécuté. C'est un travail décourageant. Il aurait été moins décourageant si nous l'avions fait petit à petit, au fil des années, plutôt que de le laisser s'accumuler. En recrutant des gens pour faire ce travail, nous devrons surmonter l'idée, répandue par quelques développeurs de Linux, que ce travail n'est pas nécessaire.
Linux, le noyau, est souvent vu comme le porte-drapeau du logiciel libre, cependant, il est en partie non libre. Comment est-ce arrivé ? Ce problème, tout comme la décision d'utiliser Bitkeeper, reflète l'attitude du développeur à l'origine de Linux, une personne qui pense que « techniquement mieux » est plus important que liberté.
Appréciez votre liberté, ou vous la perdrez, nous apprend l'histoire. « Ne nous ennuyez pas avec la politique », répondent ceux qui ne veulent pas apprendre.
Mise à jour : Depuis 2005, BitKeeper n'est plus utilisé pour gérer l'arborescence des sources du noyau Linux. Voir l'article Merci, Larry McVoy. Les sources de Linux contiennent encore des blobs de micrologiciel non libre, mais depuis janvier 2008 une version libre de Linux est disponible pour les distributions GNU/Linux libres.
