Histoire et philosophie du projet GNU
Georg C. F. Greve <greve@gnu.org>Traduction d'un discours donné en allemand au CLOWN (CLuster Of Working Nodes), un projet de grappe de 512 machines sous Debian GNU/Linux à l'université de Paderborn (Allemagne), le 5 décembre 1998.
La traduction en français a été faite à partir de l'original en allemand, avec quelques vérifications sur la version anglaise. Reportez-vous si possible à l'original.
Note de l'auteur : En traduisant ce texte [en anglais], j'ai essayé de rester aussi près que possible du discours que j'avais fait en Allemagne. Reconstruire les phrases allemandes pour les transformer en un anglais correct a demandé un certain travail ; je voudrais remercier mon colocataire et ami Doug Chapin, qui est d'origine américaine, de m'avoir aidé à traduire quelques mots et expressions. La traduction n'arrivera jamais à transmettre les mêmes émotions et implications que le discours, mais je pense que nous en sommes très proches…
En préparant ce discours, j'ai lu pas mal de documents et parlé avec un certain nombre de personnes. Il m'est ainsi apparu que même les gens dont le travail est issu plus ou moins directement du projet GNU ne réalisent pas du tout sa signification. J'ai l'impression que, dans l'excitation du renouveau que nous vivons aujourd'hui, une partie de la conscience de ces racines a disparu. Ce soir, j'espère pouvoir vous faire redécouvrir un certain nombre de ces racines.
L'origine se situe quelque part entre la fin des années 70 et le début des années 80, quand l'industrie du logiciel est devenue ce que nous considérons aujourd'hui comme allant de soi. Au début de la concurrence, les entreprises ont choisi comme stratégie de survie d'accaparer le code. Pour essayer de justifier la légalité de cette pratique, elles ont créé des expressions comme « piratage informatique », qui suggèrent que la copie fait perdre quelque chose. Les gens ont été forcés de se soumettre à des contrats de licence qui les empêchaient de rendre les programmes accessibles à qui que ce soit.
Quand un ami vous demandait la permission de copier un de vos programmes, vous étiez placé devant un dilemme. La copie ne lèse personne, car le programme ne se détériore pas au cours du processus de copie… Vous auriez perdu beaucoup plus s'il vous avait demandé de lui passer le sel, car deux personne ne peuvent pas se servir en même temps. La politique de ces entreprises a forcé les gens à choisir entre légalité et amitié.
Cela a énervé beaucoup de gens, dont la plupart ont continué malgré tout à faire des copies. Ils les faisaient souvent avec de très mauvaises excuses, qui servaient principalement à apaiser la mauvaise conscience que les entreprises suscitaient en eux par leur choix de mots. La meilleure excuse était probablement « si je l'utilisais plus souvent, alors je l'achèterais. » Cette phrase, quiconque a dû un jour s'en remettre à un logiciel privateur 1 se l'est sûrement déjà dite au moins une fois.
Un homme, cependant, a trouvé cette situation insupportable. Habitué à la liberté et à l'utilisation responsable des opportunités des premiers jours, « paradisiaques » selon ses propres termes, Richard Stallman a développé le concept d'un système entièrement libre au début des années 80. Très vite, il est apparu que ce nouveau système serait compatible avec Unix et l'enfant fut baptisé (les acronymes récursifs étant à l'époque très en vogue) GNU, ce qui signifie GNU's Not Unix (GNU N'est pas Unix). Stallman a rassemblé quelques personnes fascinées tout autant que lui par la perspective d'un système libre et a fondé la Free Software Foundation (Fondation pour le logiciel libre), dont il est encore aujourd'hui président.
Puisqu'un système Unix a besoin en premier lieu d'un large ensemble de composants, il devint évident que ces derniers constitueraient la première étape vers un système entièrement libre. La FSF travailla donc à l'écriture de ces programmes, et au début des années 90 le système GNU (à l'exception du noyau) était complet. Le noyau GNU – projet dénommé « Hurd » – a une architecture extrêmement ambitieuse et son développement s'est révélé très lent et laborieux. À ce moment-là heureusement, Linus Torvalds était en train de tester le premier noyau Linux, et quand il a vu le travail déjà accompli par la FSF il a mis son noyau sous la GNU GPL (licence publique générale GNU) et en a fait le noyau du système GNU.
La suite de l'histoire n'a pas besoin d'être racontée, puisque la plupart d'entre nous l'avons vécue.
J'ai dit précédemment que Richard Stallman a imaginé le concept de logiciel libre. Ce que je n'ai cependant pas développé est la philosophie qui le sous-tend.
Dans l'expression Free Software (logiciel libre), free ne se réfère pas au prix mais à la « liberté ».2 Ce concept ne va pas sans poser quelques problèmes et certains théoriciens du mouvement (comme Éric Raymond) ont ces derniers temps commencé à parler d'« open source », car « liberté » sonne désagréablement aux oreilles de la plupart des gens. Liberté sonne comme « rendre le monde meilleur » et comme « incertitude », donc comme « changement » ; et le changement fait peur à beaucoup de gens. Pour endormir cette peur, d'autres licences ont été inventées pour le logiciel libre. Elles sont censées rendre le concept plus digeste pour ces personnes et ne pas effrayer l'industrie.
Mais c'est précisément la raison pour laquelle le projet GNU rejette le terme « open source ». Nous pensons qu'il est plus sensé de rassurer les gens sur l'idée originale, plutôt que d'affaiblir le concept. C'est seulement quand les utilisateurs et les entreprises auront pris conscience de l'importance de la liberté que sera évité un retour en arrière vers l'ancien mode de pensée.
La philosophie du projet GNU est que chacun devrait avoir le droit d'utiliser un programme, de le copier et de l'adapter à ses propres besoins. La seule restriction qu'applique la licence GNU GPL est que PERSONNE n'a le droit de retirer cette liberté à d'autres.
Quand un auteur place son code sous la GNU GPL, la liberté devient indissociable de son programme. C'est naturellement une épine dans le pied de nombreuses entreprises, puisque cela les empêche de modifier le code pour ensuite le vendre en tant que logiciel privateur. Tant qu'il y aura des gens qui rêveront de s'enrichir rapidement, c'est cette liberté qui empêchera les entreprises comme Microsoft de corrompre le développement futur de notre système.
L'argument de loin le plus courant contre la philosophie GNU est que le logiciel serait la « propriété intellectuelle » du programmeur et que ce serait son droit de pouvoir décider à quel prix le programme doit être distribué. Cet argument est très compréhensible par la plupart des gens, puisqu'il suit précisément la façon de penser qui nous a été inculquée durant les vingt dernières années.
La réalité est toutefois différente. Les personnes vivant uniquement de la vente de logiciel écrit par leurs soins sont l'exception. D'habitude les programmeurs concèdent leurs droits de manière contractuelle à une entreprise, qui gagne ensuite de l'argent en limitant l'accès à ce programme. C'est donc en réalité l'entreprise qui possède les droits du programme et décide de son prix, pas le programmeur.
Si un avocat développe une défense particulièrement intelligente, il ne peut pas ensuite la revendiquer comme sa « propriété intellectuelle » ; sa méthode est disponible pour tous. Pourquoi acceptons-nous si volontiers la notion que chaque ligne de code (peu importe qu'elle soit sans originalité ou bâclée) soit si unique et si extraordinairement personnelle ? La folie du contrôle va aujourd'hui si loin que les gènes humains peuvent être brevetés (mais habituellement pas par ceux qui les « utilisent »). Doit-on vraiment accepter que tout puisse faire l'objet d'un brevet et d'une licence ?
C'est précisément cette question qui représente l'un des points-clés du projet GNU. Imaginons simplement qu'il n'y ait aucun droit sur des logiciels brevetés, ou que breveter un logiciel ne soit pas habituel car tout le monde publierait ses programmes sous la GNU GPL.
On pourrait se servir de solutions existantes à des problèmes courants auxquels on devait auparavant trouver de nouvelles solutions, encore et encore. Personne ne perdrait jamais plus son temps à travailler sur les mêmes problèmes des douzaines de fois. Les programmeurs pourraient explorer de nouvelles voies et résoudre de nouveaux problèmes. Quand un groupe d'utilisateurs aurait absolument besoin d'une nouvelle fonctionnalité dans un programme, il lui suffirait de trouver un programmeur pour la mettre en œuvre. Libérés des limitations des licences et de l'argent, ils ne tiendraient plus compte que de deux éléments pour le développement d'un programme : la demande, et la qualité.
À propos de qualité : pour les entreprises, il devient de plus en plus clair aujourd'hui que l'accès des utilisateurs au code source a un énorme avantage. Dit simplement : plus d'yeux voient plus de choses. Des solutions qui apparaissent inimaginables à certains sont évidentes pour d'autres. Grâce à cet avantage, le logiciel libre est souvent meilleur que son pendant privateur. Pourtant, une tendance se développe aujourd'hui qui consiste, certes, à donner à l'utilisateur un droit de regard sur le code source, mais à ne lui accorder aucun autre droit. Il doit sagement renvoyer ses améliorations à l'entreprise, qui ainsi améliore son produit. Quasiment une gigantesque division de développement bénévole. Si nous ne faisons pas attention aujourd'hui et que nous ne défendons pas nos droits au logiciel libre, il se peut que, dans 5 ans, nous devions payer pour obtenir une version développée avec notre propre correctif.
Le concept du logiciel en tant que « propriété intellectuelle » porte en lui le germe sa propre chute (veuillez pardonner le pathos de cette phrase). Aussi longtemps que nous accepterons ce concept, nous accepterons également le danger qu'une nouvelle entreprise essaie de s'approprier le contrôle. Microsoft n'est pas le mal personnifié, comme ont l'air de le penser certains. Microsoft est la conséquence naturelle d'un système globalement accepté.
La peur de scier la branche sur laquelle on est assis est également largement répandue, mais néanmoins complètement irrationnelle. De meilleurs programmes amènent plus d'utilisateurs qui ont d'autres besoins, de nouvelles idées, et ainsi créent une nouvelle demande. La structure va se modifier afin de s'adapter à la nouvelle donne, mais il y aura plutôt plus de travail que moins, le travail deviendra moins routinier et donc plus intéressant.
Enfin, il y a la peur assez répandue du manque de reconnaissance. Eh bien, la reconnaissance que les figures de proue des différentes philosophies reçoivent parle d'elle-même. Pour ma part, je préférerais être aussi respecté que Linus Torvalds ou Richard Stallman, plutôt que d'avoir la réputation de Bill Gates.
Je le reconnais, tout cela a une teinte d'idéalisme et d'amélioration du monde, mais une grande partie des idées qui ont vraiment fait bouger ce monde étaient empreintes du souhait de le rendre un petit peu meilleur.
Et pour mettre les choses au clair : non, le projet GNU n'est pas contre le capitalisme ou les entreprises en général, ni contre les entreprises de développement de logiciel en particulier. Nous ne souhaitons pas non plus limiter la possibilité de faire du profit, bien au contraire. Chaque entreprise sera tenue de faire le plus d'argent possible grâce au logiciel… tant qu'elle s'en tiendra aux principes du logiciel libre. Plus ces entreprises gagneront d'argent, plus elles pourront investir dans le développement de nouveaux logiciels. Nous ne voulons pas faire disparaître le marché mais l'adapter à l'époque actuelle.
Une petite remarque sur les principes de base : naturellement une documentation libre fait partie du logiciel libre. Cela a peu de sens de libérer le successeur du livre, le logiciel, et en même temps d'accepter un contrôle sur son équivalent numérique. La documentation libre est tout aussi importante que le logiciel libre lui-même.
Quelqu'un a peut-être qualifié ma déclaration que nous voulons « adapter le marché à l'époque actuelle » de figure de rhétorique ; pourtant c'est un point capital de la philosophie GNU : l'époque pendant laquelle les logiciels n'étaient intéressants que pour une poignée de dingues [freaks] et pour les grandes entreprises est révolue depuis longtemps. Aujourd'hui, logiciel signifie accès à l'information. Un système qui limite la disponibilité du logiciel, et par conséquent l'accessibilité de l'information, doit être remis en question.
Quand Éric Raymond a publié le « document de Halloween », il a déclenché des sentiments allant de l'euphorie à la paranoïa. Pour ceux qui ne l'ont pas lu, il s'agit d'une étude interne de Microsoft dans laquelle sont discutées les forces et faiblesses du logiciel libre en général, et de Linux en particulier. L'auteur arrive à la conclusion que Microsoft n'a que deux possibilités d'échapper à cette menace.
La première est la création de nouveaux protocoles (ou la modification d'anciens) qui, dorénavant, ne seraient pas documentés du tout, ou bien très mal. Ainsi, seuls les ordinateurs fonctionnant sous Windows pourraient disposer d'une implémentation fonctionnelle de ces protocoles.
Un exemple d'application de cette tactique est la série « Cxi » des imprimantes HP, qui ont été mises sur le marché à des prix imbattables en tant qu'« imprimantes Windows ». Les spécifications ne furent divulguées qu'à Microsoft, pour que ces imprimantes ne puissent être utilisées par aucun autre système d'exploitation.
Un « vendeur spécialisé » m'a expliqué que « pour Windows » signifiait que l'imprimante aurait besoin d'une mémoire particulière dont ne disposerait que Windows et qu'ainsi il était impossible de l'utiliser sous Linux. Naturellement, cela embrouille tout utilisateur ordinaire, ce qui m'amène directement à la deuxième tactique décrite.
Elle est habituellement abrégée en « FUD » (peur, incertitude et doute) et a été utilisée bien avant Microsoft, par IBM. L'idée est simple : une fois qu'une personne a été suffisamment désorientée, elle n'ose plus prendre aucune décision et s'accroche à sa position actuelle. C'est du moins l'idée.
De tout temps, l'éducation a été l'ennemie de la superstition. Pour ne pas gêner le courant d'éducation entre nous, nous ne devons pas nous laisser diviser.
La division la plus évidente de ces derniers temps se situe dans la distinction dont j'ai parlé précédemment entre l'« open source » et le « logiciel libre ». Garder séparés les deux concepts est souvent difficile, même pour les initiés, et il est difficile de comprendre la différence sans se replacer dans le contexte historique. Comme c'est un point central, je voudrais encore m'y attarder un peu.
Après l'achèvement du système GNU par l'inclusion du noyau Linux, un système libre complet, puissant et fonctionnel devenait soudain disponible. Cela devait inévitablement, tôt ou tard, attirer l'attention du public.
Quand cette attention s'est manifestée, de nombreuses entreprises ont été déconcertées par le mot « libre ». Elles l'ont immédiatement associé à « gratuit », ce qui pour elles signifiait « sans profit ». Quand on a tenté de leur expliquer que « libre » signifiait en fait « liberté » et non pas « gratuité », l'idée était déjà devenue définitivement suspecte pour l'industrie.
De cette confusion est très rapidement née l'idée d'éviter à tout prix les mots « libre » et « liberté ». L'expression « open source » était née.
Effectivement, il est certainement plus facile de vendre l'idée en parlant d'« open source » plutôt que de « logiciel libre ». Mais cela conduit aussi à ce que les « nouveaux » n'aient plus aucune notion de ce qu'était réellement l'idée de base. Cela a divisé le mouvement et conduit à des guerres de tranchées extrêmement improductives, dans lesquelles beaucoup d'énergie créatrice a été gaspillée.
Qu'un plus grand public soit intéressé ne signifie pas qu'il soit nécessaire de moins parler de la philosophie qui sous-tend le mouvement. Au contraire, plus il y a de personnes et d'entreprises qui ne comprennent pas que cette liberté est aussi dans leur propre intérêt, plus nous devons en parler. La liberté du logiciel apporte un énorme potentiel à chacun d'entre nous, entreprise comme utilisateur.
Le but n'est pas de remplacer le capitalisme ni de détruire des entreprises. Nous voulons adapter l'utilisation du logiciel aux nécessités du XXIe siècle pour le bénéfice de tous. C'est le cœur du projet GNU.
Chacun de nous peut y participer, que ce soit sous la forme d'un programme, d'une documentation, ou simplement en expliquant à d'autres personnes qu'il existe une autre manière de régler les choses.
Il est particulièrement important de faire comprendre aux entreprises que le logiciel libre n'est pas une menace, mais bien une chance. Naturellement cela ne se fait pas du jour au lendemain, mais quand les possibilités et les perspectives apparaîtront clairement à toutes les personnes impliquées, nous pourrons tous en profiter. Donc si vous travaillez vous-même dans une entreprise de logiciel, familiarisez-vous avec ce thème, discutez-en avec vos amis et collègues. Et n'essayez pas de les « convertir » (je sais que malheureusement la plupart d'entre nous ont tendance à le faire). Les arguments parlent d'eux-mêmes. Donnez-leur le temps, laissez-les calmement se pencher sur le concept de liberté et se l'approprier. Montrez-leur que ce n'est pas quelque chose qu'ils doivent redouter.
J'espère que j'ai réussi à vous transmettre cette philosophie, ou du moins à amener l'un ou l'autre d'entre vous à réfléchir. Si vous avez des questions ou envie de discuter, je reste volontiers ce soir à votre disposition. Sinon je nous souhaite à tous une soirée très intéressante. Merci beaucoup.