of 160/160
Pour la Liberté Logiciels Libres, Société Libre Textes de Richard M. Stallman Version 9.3 Copyright © U.C.H Pour la Liberté Permission vous est donnée de copier, distribuer et/ou modifier ce document selon les termes de la Licence GNU Free Documentation License, Version 1.1 ou ultérieure publiée par la Free Software Foundation. Une copie de cette Licence est incluse dans la section « GNU Free Documentation License » de ce document. HackAngel

Logiciels Libres, Société Libre - Lagout Libres, Societe Libre.pdf · autres logiciels qui prennent et utilisent des « logiciels libres » (et qui techniquement sont pris en compte

  • View
    3

  • Download
    0

Embed Size (px)

Text of Logiciels Libres, Société Libre - Lagout Libres, Societe Libre.pdf · autres logiciels qui...

  • Pour la Liberté

    Logiciels Libres, Société Libre

    Textes de Richard M. StallmanVersion 9.3

    Copyright © U.C.H Pour la LibertéPermission vous est donnée de copier, distribuer et/ou modifier ce document selon les termes de la Licence 

    GNU Free Documentation License, Version 1.1 ou ultérieure publiée par la Free Software Foundation.Une copie de cette Licence est incluse dans la section « GNU Free Documentation License » de ce  

    document.

    HackAngel

  • Pour la Liberté...

    Logiciels Libres, Société Libre

    Les principes de l'éthique ne peuvent pas changer. Ils restent les mêmes dans toutes les situations. Mais pour qu'ils s'appliquent quelle que soit la question ou situation, vous devez regarder les faits pour comparer les alternatives, et voir quelles en seront les conséquences. Un changement de technologie ne change jamais les principes de l'éthique, mais peut modifier ses conséquences sur les mêmes choix, qui peuvent avoir des résultats différents, comme cela s'est produit dans le domaine des lois sur le copyright. Nous sommes dans une situation où les changements de technologie ont affecté les facteurs éthiques qui pèsent sur les décisions à propos des lois sur le copyright et changent de politique appropriée pour la société. 

    Richard M. Stallman

  • Table des matièresIntroduction......................................................................................................................................3

    Livre I: Le projet GNU et le Logiciel Libre.........................................................................................7Le projet GNU.................................................................................................................................9Le Manifeste GNU.........................................................................................................................23Définition d'un logiciel libre..........................................................................................................31Pourquoi les logiciels ne doivent pas avoir de propriétaire............................................................35Qu'y atil dans un nom ?...............................................................................................................39Pourquoi « logiciel libre » estil meilleur que « open source ».....................................................42Écrire des logiciels libres si vous travaillez à l'université..............................................................47Vendre des logiciels libres.............................................................................................................49Logiciels et manuels libres............................................................................................................52The Free Software Song.................................................................................................................54

    Livre II: Copyright, Copyleft, et Brevets............................................................................................56Le droit de lire................................................................................................................................58Mauvaise interprétation du droit d'auteur......................................................................................62Les scientifiques doivent « mettre le droit d'auteur de côté »........................................................70Qu'estce que le copyleft ?.............................................................................................................72Copyleft : Idéalisme pragmatique..................................................................................................74

    Livre III: À propos des licences..........................................................................................................76Pouvezvous faire confiance à votre ordinateur ?...........................................................................78Pourquoi les logiciels devraient être libres....................................................................................82Droit d'auteur et mondialisation à l'âge des réseaux informatiques...............................................94Logiciel Libre : Liberté et coopération........................................................................................110Termes prêtant à confusion, que vous devriez éviter...................................................................134

    Annexe A  Licence de documentation libre GNU...........................................................................141Annexe B  Texte original de la licence GNU FDL..........................................................................147

  • IntroductionChaque génération a son philosophe, un écrivain ou un artiste qui capte l'air du temps. Quelquefois, 

    ces philosophes sont reconnus comme tels; souvent cela prend des générations avant qu'ils soient reconnus. Mais reconnus ou pas, un temps reste marqué par les gens qui parlent de leurs idéaux, dans le murmure d'un poème, ou l'explosion d'un mouvement politique. 

    Notre génération a un philosophe. Il n'est ni artiste, ni écrivain professionnel. Il est programmeur. Richard Stallman a commencé son travail dans les laboratoires du MIT, en tant que programmeur et architecte concevant les logiciels de système d'exploitation. Il a bâti sa carrière publique, comme programmeur et architecte en fondant un mouvement pour la liberté dans un monde de plus en plus défini par le « code ». 

    Le « code » est la technologie qui fait fonctionner les ordinateurs. Qu'il soit inscrit dans le logiciel ou gravé dans le matériel, c'est un ensemble d'instructions, d'abord écrit en mots, qui dirige la fonctionnalité des machines. Ces machines — ordinateurs — définissent et contrôlent de plus en plus notre vie. Elles déterminent la manière dont se connectent les téléphones, et ce qui passe à la télé. Elles décident si la vidéo peutêtre diffusée à travers une liaison large bande vers un ordinateur. Elles contrôlent ce qu'un ordinateur rapporte à son constructeur. Ces machines nous gouvernent. Le code gouverne ces machines. 

    Quel contrôle devrionsnous avoir sur ce code ? Quel discernement? Quelle liberté devraitil y avoir pour rivaliser avec le contrôle qu'il autorise ? Quel pouvoir ? 

    Ces questions ont été le défi de la vie de Stallman. Par ses travaux et ses paroles, il nous a poussé à voir l'importance de garder le code « libre ». Non pas libre au sens où les « pisseurs de code » ne doivent pas être rétribués, mais libre au sens où la construction et le contrôle du code doivent être accessibles à tous, et que tout un chacun a le droit d'en prendre le contrôle, comme il ou elle l'entend. Voici ce qu'est le « logiciel libre »; le « logiciel libre » est une réponse pour un monde fondé sur le code. 

    « Libre ». Stallman se plaint de l'ambiguïté dans ses propres termes. Il n'y a pas de quoi se plaindre. La perplexité force les gens à réfléchir, et ce mot « libre » fait que ça marche plutôt bien. Pour l'acception américaine moderne du terme, « logiciel libre » paraît utopique, impossible. Rien, pas même le déjeûner n'est libre (gratuit). Comment les « mots » les plus importants faisant fonctionner les machines les plus critiques qui gouvernent le monde pourraientils être « libres ». Comment une société saine pourraitelle aspirer à un tel idéal ? 

    Cependant, la drôle de consonnance du mot « libre » vient de nous, pas du mot luimême. « Libre » a différents sens, seuls l'un d'entre eux se réfère au « prix ». Un sens beaucoup plus fondamental de « libre » est « libre » que Stallman emploie dans l'expression « discours libre », ou peutêtre mieux dans l'expression « travail libre ». Pas libre au sens de gratuit, mais libre au sens de contrôle par d'autres limité. Le logiciel libre est le contrôle transparent, et ouvert au changement, comme les lois sur la liberté, ou les lois d'une « société libre », elles sont libres quand elles rendent leur contrôle accessible et ouvert au changement. Le but du « Mouvement du logiciel libre » de Stallman est de faire le plus de code transparent possible, et sujet au changement en le rendant « libre ». 

    Le résultat de cette interprétation est un outil extraordinairement malin nommé « copyleft » mis en oeuvre au moyen d'une licence nommée GPL. Utilisant la puissance de la loi sur le droit d'auteur, le « logiciel libre » n'assure pas seulement l'ouverture, et la possibilité de changement, mais également que les autres logiciels qui prennent et utilisent des « logiciels libres » (et qui techniquement sont pris en compte en tant que « travail dérivé ») doivent être également libres euxmêmes. Si vous utilisez et adaptez un programme libre, et diffusez alors cette version adaptée au public, la version diffusée doit être ausssi libre que la version de laquelle elle a été adaptée. Elle le doit, ou le droit d'auteur serait violé. 

    Le « logiciel libre », comme les démocraties, a ses ennemis. Microsoft est entré en guerre contre la GPL, avertissant, à qui veut l'entendre, que la GPL est une licence « dangereuse ». Les dangers qu'il nomme cependant, sont grandement illusoires. D'autres s'opposent à la « coercition » dans l'insistence de la GPL pour que les versions modifiées soient également libres. Mais une condition n'est pas une coercition. S'il ne s'agit pas de coercition pour Microsoft de refuser la permission aux utilisateurs de distribuer les versions 

  • modifiées de son produit Office sans le payer (vraisemblablement) des millions, alors, il ne s'agit pas de coercition quand la GPL insiste pour que les versions modifiées de logiciels libres le soient aussi. 

    Et puis, il y a ceux pour qui le message de Stallman est trop extrémiste. Mais il n'est pas extrémiste. En effet, il tombe sous le sens que le travail de Stallman est une simple traduction des libertés que notre tradition a modelé dans le monde d'avant le code. Le « logiciel libre » assurerait que le monde gouverné par le code soit aussi « libre » que notre tradition qui a bâti le monde d'avant le code. 

    Par exemple : une « société libre » est réglementée par la loi. Mais il y a des limites que toute société libre place dans cette réglementation par la loi : aucune société qui garderait ses lois secrètes ne pourrait être qualifiée de libre. Aucun gouvernement qui cacherait à ses citoyens ses règlements ne pourrait se maintenir dans notre tradition. La loi contrôle. Mais elle le fait avec justice, seulement quand elle est visible. Et la loi est visible quand ses termes sont connus et contrôlables par ceux auxquels elle s'applique, ou par les représentants de ceux auxquels elle s'applique (avocats, corps législatif). 

    Cette condition sur le droit s'étend audelà du travail du corps législatif. Pensez à la pratique du droit dans les tribunaux américains. Les avocats sont engagés par leurs clients pour faire avancer les intérêts de leurs clients. Quelquefois, cet intérêt est réalisé au moyen d'un procès. Dans le cheminement de ce litige, les avocats rédigent des conclusions. Ces conclusions en retour affectent les avis rendus par les juges. Ces avis décident de qui gagne une affaire en particulier, ou si une certaine loi est conforme à la constitution. 

    Toute la matière dans ce processus est libre au sens où l'entend Stallman. Les conclusions juridiques sont ouvertes et libres d'accès pour tous. Les arguments sont transparents (ce qui est différent de dire qu'ils sont bons) et le raisonnement peut être repris sans la permission des avocats d'origine. Les avis qu'ils produisent peuvent être cités dans de futures conclusions. Ils peuvent être copiés et intégrés dans une autre conclusion ou avis. Le « code source » du droit américain est par conception, et par principe, ouvert et libre pour tout un chacun. Et les avocats le font — car c'est à cette aune que se mesure la créativité d'une grande conclusion, par la réutilisation de ce qui a été produit auparavant. Le source est libre; la créativité et une économie sont bâtis sur ce modèle. 

    Cette économie du code libre (et ici j'entends le code libre juridique) n'affame pas les avocats. Les firmes d'avocats ont suffisamment de motivation pour produire de bonnes conclusions même si ce qu'elles produisent peut être pris et copié par n'importe qui. L'avocat est un artisan; son produit est public. Cependant, l'artisanat n'est pas de la charité. Les avocats sont payés; le public ne demande pas un tel travail sans payer. Pourtant cette économie prospère, avec du neuf ajouté à du vieux. 

    Nous pourrions imaginer une pratique juridique qui soit différente — les conclusions et les argumentaires seraient gardés secrets; des décisions qui annonceraient un résultat mais pas le raisonnement. Des lois qui seraient conservées par la police mais qui ne seraient connues de personne d'autre. Une règlementation qui fonctionnerait sans expliquer les règles. 

    Nous pourrions nous représenter cette société, mais nous ne pourrions imaginer la qualifier de « libre ». Que les primes dans une telle société soient mieux ou plus efficacement allouées, une telle société ne pourrait être connue comme libre. Les idéaux de la liberté, de la vie dans une société libre, demande plus qu'une application efficace. Au contraire, l'ouverture et la transparence sont les contraintes à l'intérieur desquelles un système de droit se construit, et non grâce à des options ajoutées par commodité pour les dirigeants. La vie régentée par le code logiciel ne devrait pas être autrement. 

    Écrire du code n'est pas du litige. Il est meilleur, plus riche, plus productif. Le droit est un exemple évident qui montre que la créativité et les primes ne dépendent pas du contrôle total sur les produits créés. Tout comme le jazz, les romans, ou l'architecture, le droit se construit sur ce qui a été construit auparavant. Ces ajouts et changements sont ce qu'a toujours été la créativité. Et une société libre fait partie de celles qui assurent que ces ressources les plus importantes demeurent libres en ce sens. 

    Pour la première fois, ce livre recueille les écrits et les conférences de Richard Stallman dans un style qui rend leur subtilité et leur force évidentes. Les essais couvrent un large panorama, du droit d'auteur à l'histoire du mouvement du logiciel libre. Ils recèlent beaucoup d'arguments peu connus, et parmi ceuxci, une explication particulièrement perspicace sur les changements de situation qui ont rendu suspect le droit d'auteur aux yeux du monde numérique. Ils serviront de ressource pour ceux qui cherchent à comprendre la 

  • pensée de cet homme puissant — puissant dans ses idées, dans sa passion, et dans son intégrité, même s'il est impuissant dans toute autre voie. Ils en inspireront d'autres qui prendront ces idées, et en construiront de nouvelles. 

    Je ne connais pas bien Stallman. Je le connais suffisamment pour savoir qu'il est difficile à apprécier. Il est autoritaire, souvent impatient. Sa colère peut éclater à l'encontre de ses amis aussi facilement que de ses adversaires. Il est intransigeant et obstiné; patient dans ces deux travers. 

    Cependant, quand notre monde comprendra enfin la puissance et le danger du code — quand il comprendra finalement que le code, comme les lois ou comme les gouvernements, doivent être transparents pour être libres — alors il regardera retrospectivement ce programmeur intransigeant et obstiné et reconnaîtra la vision pour laquelle il s'est battu pour la rendre tangible : la vision d'un monde où la liberté et le savoir survivent au compilateur. Et nous nous rendrons compte qu'aucun homme, de par ses actes et ses paroles, n'en aura fait autant pour rendre possible la liberté que cette future société pourra avoir. 

    Nous n'avons pas encore gagné cette liberté. Nous pouvons très bien échouer à l'atteindre. Mais que nous y arrivions ou que nous y échouions, dans ces essais est brossé un tableau de ce que la liberté pourrait être. Et dans le monde qui a produit ces actes et ces paroles, il y a l'inspiration pour qui veut, comme Stallman, de se battre pour créer cette liberté. 

    Lawrence LessigProfesseur de droit, École de droit de Stanford.

    Free Software Foundation, Inc.,51 Franklin St, Fifth Floor, Boston, MA 02110, USA

    La reproduction exacte et la distribution intégrale de cet article est permise sur n'importe quel support d'archivage, pourvu que cette  notice soit préservée. 

    Traduction : Cédric Corazza.Révision : [email protected]

    Dernière mise à jour : 2009/02/04 21:28:36

    Traductions de cette page

    English [en] Español [es] فارسی [fa] Français [fr] Nederlands [nl] 简体中文 [zhcn] 

    mailto:[email protected]://www.gnu.org/philosophy/lessig-fsfs-intro.zh-cn.htmlhttp://www.gnu.org/philosophy/lessig-fsfs-intro.nl.htmlhttp://www.gnu.org/philosophy/lessig-fsfs-intro.fr.htmlhttp://www.gnu.org/philosophy/lessig-fsfs-intro.fa.htmlhttp://www.gnu.org/philosophy/lessig-fsfs-intro.es.htmlhttp://www.gnu.org/philosophy/lessig-fsfs-intro.html

  • Livre I: Le projet GNU et le Logiciel Libre

    Cette notice est valable pour l'ensemble des articles, relativement:Copyright © Richard Stallman,

    ou Copyright © Free Software Foundation, Inc., La reproduction exacte et la distribution intégrale de chaque article est permise sur n'importe quel  

    support d'archivage, pourvu que sa notice soit préservée. 

  • Le projet GNUpar Richard Stallman

    publié à l'origine dans le livre « Open Sources »

    La première communauté qui partageait le logiciel

    En 1971, quand j'ai commencé à travailler au laboratoire d'intelligence artificielle (I.A.) du M.I.T. (NdT : Institut de technologie du Massachusetts), j'ai intégré une communauté qui partageait le logiciel depuis de nombreuses années déjà. Le partage du logiciel n'était pas limité à notre communauté; c'est une notion aussi ancienne que les premiers ordinateurs, tout comme on partage des recettes depuis les débuts de la cuisine. Mais nous partagions davantage que la plupart.

    Le laboratoire d'I.A. utilisait un système d'exploitation à temps partagé appelé ITS (système à temps partagé incompatible) que les hackers de l'équipe avaient écrit et mis au point en langage assembleur pour le Digital PDP10, l'un des grands ordinateurs de l'époque. En tant que membre de cette communauté, hacker système de l'équipe du laboratoire d'IA, mon travail consistait à améliorer ce système.

    Nous ne qualifiions pas nos productions de « logiciels libres », car ce terme n'existait pas encore; c'est pourtant ce qu'elles étaient. Quand d'autres universitaires ou quand des ingénieurs souhaitaient utiliser et porter l'un de nos programmes, nous les laissions volontiers faire. Et quand on remarquait que quelqu'un utilisait un programme intéressant mais inconnu, on pouvait toujours en obtenir le code source, afin de le lire, le modifier, ou d'en réutiliser des parties dans le cadre d'un nouveau programme.

    (1) L'utilisation du mot « hacker » dans le sens de « qui viole des systèmes de sécurité », est un amalgame instillé par les mass media. Nous autres hackers refusons de reconnaître ce sens, et continuons d'utiliser ce mot dans le sens « qui aime programmer et apprécie de le faire de manière astucieuse et intelligente ». (NdT : en français, on peut utiliser le néologisme « bitouilleur » pour désigner l'état d'esprit de celui qui « touille des bits »).

    L'effondrement de la communauté

    La situation s'est modifiée de manière radicale au début des années 1980 quand la société Digital a mis fin à la série des PDP10. Cette architecture, élégante et puissante dans les années 60, ne pouvait pas s'étendre naturellement aux plus grands espaces d'adressage qu'on trouvait dans les années 80. Cela rendait obsolètes la quasitotalité des programmes constituant ITS.

    La communauté des hackers du laboratoire d'I.A. s'était effondrée peu de temps auparavant. La plupart d'entre eux avaient été engagés par une nouvelle société, Symbolics, et ceux qui étaient restés ne parvenaient pas à maintenir la communauté (le livre Hackers, écrit par Steve Levy, décrit ces événements et dépeint clairement l'apogée de cette communauté). Quand le laboratoire a, en 1982, choisi d'acheter un nouveau PDP10, ses administrateurs ont décidé de remplacer ITS par le système de temps partagé de la société Digital, qui n'était pas libre.

    Les ordinateurs modernes d'alors, tels que le VAX ou le 68020, disposaient de leurs propres systèmes d'exploitation, mais aucun d'entre eux n'était un logiciel libre : il fallait signer un accord de non divulgation pour en obtenir ne seraitce que des copies exécutables.

    Cela signifiait que la première étape de l'utilisation d'un ordinateur était de promettre de ne pas aider son prochain. On interdisait toute communauté coopérative. La règle qu'édictaient ceux qui détenaient le monopole d'un logiciel propriétaire était « Qui partage avec son voisin est un pirate. Qui souhaite la moindre modification doit nous supplier de la lui faire ».

    L'idée que le système social du logiciel propriétaire  le système qui vous interdit de partager ou d'échanger le logiciel  est antisocial,immoral, et qu'il est tout bonnement incorrect, surprendra peutêtre certains lecteurs. Mais comment qualifier autrement un système fondé sur la division et l'isolement des utilisateurs? Les lecteurs surpris par cette idée ont probablement pris le système social du logiciel propriétaire pour argent comptant, ou l'ont jugé en employant les termes suggérés par les entreprises vivant de logiciels propriétaires. Les éditeurs de logiciels travaillent durement, et depuis longtemps, pour convaincre 

    http://www.stallman.org/

  • tout un chacun qu'il n'existe qu'un seul point de vue sur la question  le leur.

    Quand les éditeurs de logiciels parlent de « faire respecter » leurs « droits » ou de « couper court aupiratage », ce qu'ils disent est secondaire. Le véritable message se trouve entreles lignes, et il consiste en des hypothèses de travail qu'ils considèrent comme acquises; nous sommes censés les accepter les yeux fermés. Passonsles donc en revue.

    La première hypothèse est que les sociétés éditrices de logiciels disposent d'un droit naturel, incontestable, à être propriétaire du logiciel et asseoir ainsi leur pouvoir sur tous ses utilisateurs (si c'était là un droit naturel, on ne pourrait formuler aucune objection,indépendamment du tort qu'il cause à tous). Il est intéressant de remarquer que la constitution et la tradition juridique des ÉtatsUnis d'Amérique rejettent toutes deux cette idée; le copyright n'est pas un droit naturel, mais un monopole artificiel, imposé par l'État, qui restreint le droit naturel qu'ont les utilisateurs de copier le logiciel.

    Une autre hypothèse sousjacente est que seules importent les fonctionnalités du logiciel, et que les utilisateurs d'ordinateurs n'ont pas leur mot à dire quant au modèle de société qu'ils souhaitent voir mettre en place.

    Une troisième hypothèse est qu'on ne disposerait d'aucun logiciel utilisable (ou qu'on ne disposerait jamais d'un logiciel qui s'acquitte de telle ou telle tâche en particulier) si on ne garantissait pas à une société l'assise d'un pouvoir sur les utilisateurs du programme. Cette idée était plausible, jusqu'à ce que le mouvement du logiciel libre démontrât qu'on peut produire toutes sortes de logiciels utiles sans qu'il soit nécessaire de les barder de chaînes.

    Si l'on se refuse à accepter ces hypothèses, et si on examine ces questions en se fondant sur une moralité dictée par le bon sens, qui place les utilisateurs au premier plan, on parvient à des conclusions bien différentes. Les utilisateurs des ordinateurs doivent être libres de modifier les programmes pour qu'ils répondent mieux à leurs besoins, et libres de partager le logiciel, car la société est fondée sur l'aide à autrui.

    La place me manque ici pour développer le raisonnement menant à cette conclusion, aussi renverraije le lecteur au document Pourquoi le logiciel ne devrait appartenir à personne.

    Une profonde prise de décision

    Avec la fin de ma communauté, il m'était impossible de continuer comme de par le passé. J'étais au lieu de cela confronté à une profonde prise de décision.

    La solution de facilité était de rejoindre le monde du logiciel propriétaire, de signer des accords de non divulgation et promettre ainsi de ne pas aider mon ami hacker. J'aurais aussi été, très probablement, amené à développer du logiciel qui aurait été publié en fonction d'exigences de non divulgation, augmentant la pression qui en inciterait d'autres à trahir également leurs semblables.

    J'aurais pu gagner ma vie de cette manière, et peutêtre me seraisje même amusé à écrire du code. Mais je savais qu'à la fin de ma carrière, je n'aurais à contempler que des années de construction de murs pour séparer les gens, et que j'aurais l'impression d'avoir employé ma vie à rendre le monde pire.

    J'avais déjà eu l'expérience douloureuse des accords de non divulgation, quand quelqu'un m'avait refusé, ainsi qu'au laboratoire d'I.A. du M.I.T., l'accès au code source du programme de contrôle de notre imprimante (l'absence de certaines fonctionnalités dans ce programme rendait l'utilisation de l'imprimante très frustrante). Aussi ne pouvaisje pas me dire que les accords de non divulgation étaient bénins. J'avais été très fâché du refus de cette personne de partager avec nous ; je ne pouvais pas, moi aussi, me comporter d'une telle manière à l'égard de mon prochain.

    Une autre possibilité, radicale mais déplaisante, était d'abandonner l'informatique. De cette manière, mes capacités ne seraient pasemployées à mauvais escient, mais elles n'en seraient pas moins gaspillées. Je ne me rendrais pas coupable de diviser et de restreindre les droits des utilisateurs d'ordinateurs, mais cela se produirait malgré tout.

    Alors, j'ai cherché une façon pour un programmeur de se rendre utile pour la bonne cause. Je me suis demandé si je ne pouvais pas écrire unou plusieurs programmes qui permettraient de souder à nouveau une communauté.

    http://www.gnu.org/philosophy/why-free.fr.htmlhttp://www.gnu.org/philosophy/words-to-avoid.fr.html#Piracy

  • La réponse était limpide : le besoin le plus pressant était un système d'exploitation. C'est le logiciel le plus crucial pour commencer à utiliser un ordinateur. Un système d'exploitation ouvre de nombreuses portes ; sans système, l'ordinateur est inexploitable. Un systèmed'exploitation libre rendrait à nouveau possible une communauté de hackers, travaillant en mode coopératif  et tout un chacun serait invité à participer. Et tout un chacun pourrait utiliser un ordinateur sans devoir adhérer à une conspiration visant à priver ses amis des logiciels qu'il utilise.

    En tant que développeur de système d'exploitation, j'avais les compétences requises. Aussi, bien que le succès ne me semblât pasgaranti, j'ai pensé être le candidat de choix pour ce travail. J'ai décidé de rendre le système compatible avec Unix de manière à le rendre portable, et pour le rendre plus accessible aux utilisateurs d'Unix. J'ai opté pour le nom GNU, fidèle en cela à une tradition des hackers, car c'est un acronyme récursif qui signifie « GNU's Not Unix » (GNU N'est pas Unix).

    Un système d'exploitation ne se limite pas à un noyau, qui suffit à peine à exécuter d'autres programmes. Dans les années 1970, tout système d'exploitation digne de ce nom disposait d'interpréteurs de commandes, d'assembleurs, de compilateurs, d'interpréteurs, de débogueurs, d'éditeurs de textes, de logiciels de courrier électronique, pour ne citer que quelques exemples. C'était le cas d'ITS, c'était le cas de Multics, c'était le cas de VMS, et c'était le cas d'Unix. Ce serait aussi le cas du système d'exploitation GNU.

    Plus tard, j'ai entendu ces mots, attribués à Hillel :

    If I am not for myself, who will be for me?If I am only for myself, what am I?If not now, when?1 

    C'est dans cet état d'esprit que j'ai pris la décision de lancer le projet GNU.

    (1) En tant qu'athée, je ne suis les pas d'aucun meneur religieux, mais j'admire parfois ce que l'un d'entre eux a dit.

    Free comme liberté2

    Le terme« free software » est mal compris : il n'a rien à voir avec leprix. Il parle de liberté. Voici donc la définition d'un logiciellibre : un programme est un logiciel libre pour vous, utilisateur enparticulier, si :

    • Vous avez la liberté de l'exécuter, pour quelque motif que ce soit. • Vous avez la liberté de modifier le programme afin qu'il corresponde mieux à vos besoins (dans la 

    pratique, pour que cette liberté prenne effet, il vous faut pouvoir accéder au code source, puisqu'opérer des modifications au sein d'un programme dont on ne dispose pas du code source est un exercice extrêmement difficile). 

    • Vous disposez de la liberté d'en redistribuer des copies, que ce soit gratuitement ou contre une somme d'argent. 

    • Vous avez la liberté de distribuer des versions modifiées du programme, afin que la communauté puisse bénéficier de vos améliorations. 

    Puisque le mot « free » se réfère ici à la liberté, et non au prix, il n'est pas contradictoire de vendre des copies de logiciels libres. En réalité, cette liberté est cruciale : les compilations de logiciels libres vendues sur CDROM sont importantes pour la communauté, et le produit de leur vente permet de lever des fonds pour le développement du logiciel libre. C'est pourquoi on ne peut pas qualifier de logiciel libre un logiciel qu'on n'a pas la liberté d'inclure dans de telles compilations.

    Le mot « free » étant ambigu, on a longtemps cherché des solutions de remplacement, mais personne n'en a trouvé de convenable. La langue anglaise compte plus de mots et de nuances que toute autre langue, mais elle souffre de l'absence d'un mot simple, univoque, qui ait le sens de « free », comme liberté  « unfettered » (terme littéraire signifiant « sans entrave ») étant le meilleur candidat, d'un point devue sémantique, des mots comme « liberated » « libéré »), « freedom » (« liberté »), et « open » (« ouvert ») présentant tous un sens incorrect ou un autre inconvénient.

    http://www.gnu.org/gnu/thegnuproject.fr.html#TransNote2http://www.gnu.org/gnu/thegnuproject.fr.html#TransNote1

  • Les logiciels et le système du projet GNU

    C'est une gageure que de développer un système complet. Pour mener ce projet à bien, j'ai décidé d'adapter et de réutiliser les logiciels libres existants, quand cela était possible. J'ai par exemple décidé dès le début d'utiliser TeX; comme formateur de texte principal ; quelques années plus tard, j'ai décidé d'utiliser le système de fenêtrage X plutôt que d'écrire un autre système de fenêtrage pour le projet GNU.

    Cette décision a rendu le système GNU distinct de la réunion de tous les logiciels GNU. Le système GNU comprend des programmes qui ne sont pas des logiciels GNU, ce sont des programmes qui ont été développés par d'autres, dans le cadre d'autres projets, pour leurs buts propres, mais qu'on peut réutiliser, car ce sont des logiciels libres.

    La genèse du projet

    En janvier 1984, j'ai démissionné de mon poste au MIT et j'ai commencé à écrire les logiciels du projet GNU. Il était nécessaire que je quitte le M.I.T. pour empêcher ce dernier de s'immiscer dans la distribution du projet GNU en tant que logiciel libre. Si j'étaisresté dans l'équipe, le M.I.T. aurait pu se déclarer le propriétaire de mon travail, et lui imposer ses propres conditions de distribution, voire en faire un paquetage de logiciels propriétaires. Je n'avais pas l'intention d'abattre autant de travail et de le voir rendu inutilisable pour ce à quoi il était destiné : créer une nouvelle communauté qui partage le logiciel.

    Cependant, le professeur Winston, qui dirigeait alors le laboratoire d'I.A. du M.I.T., m'a gentiment invité à continuer à utiliser les équipements du laboratoire

    Les premiers pas

    Peu de temps avant de me lancer dans le projet GNU, j'avais entendu parler du Free University Compiler Kit3 plus connu sous le nom de VUCK (en néerlandais,le mot « free » commence par un V). Ce compilateur avait été mis au point dans l'intention de traiter plusieurs langages, parmi lesquels C et Pascal, et de produire des binaires pour de nombreuses machines cibles. J'ai écrit à son auteur en lui demandant la permission d'utiliser ce compilateur dans le cadre du projet GNU.

    Il répondit d'un ton railleur, en déclarant (en anglais) quel'université était « free ». M. Stallman ne sait pas s'il voulait icidire « libre » ou « gratuite »., mais pas le compilateur. J'ai alors décidé que le premier programme du projet GNU serait un compilateur traitant de plusieurs langages, sur plusieurs platesformes.

    En espérant m'épargner la peine d'écrire tout le compilateur moimême, j'ai obtenu le code source du compilateur Pastel, qui était uncompilateur pour plusieurs platesformes, développé au laboratoire Lawrence Livermore. Il compilait, et c'était aussi le langage dans lequel il avait été écrit, une version étendue de Pascal, mise au point pour jouer le rôle de langage de programmation système. J'y ai ajouté une interface pour le C, et j'ai entrepris le portage de ce programme sur le Motorola 68000. Mais j'ai dû abandonner quand j'ai découvert que ce compilateur ne fonctionnait qu'avec plusieurs mégaoctets d'espace de pile disponibles, alors que le système Unix du 68000 ne gérait que 64 Ko d'espace de pile.

    C'est alors que j'ai compris que le compilateur Pastel avait été mis au point de telle manière qu'il analysait le fichier en entrée, en faisait un arbre syntaxique, convertissait cet arbre syntaxique en chaîne d'« instructions », et engendrait ensuite le fichier de sortie, sans jamais libérer le moindre espace mémoire occupé. J'ai alors compris qu'il me faudrait réécrire un nouveau compilateur en partant de zéro. Ce compilateur est maintenant disponible, il s'appelle GCC ; il n'utilise rien du compilateur Pastel, mais j'ai réussi à adapter et à réutiliser l'analyseur syntaxique que j'avais écrit pour le C. Mais tout cela ne s'est produit que quelques années plus tard; j'ai d'abord travaillé sur GNU Emacs.

    GNU Emacs

    J'ai commencé à travailler sur GNU Emacs en septembre 1984, et ce programme commençait à devenir utilisable début 1985. Cela m'a permis d'utiliser des systèmes Unix pour éditer mes fichiers; vi et ed me laissant froid, j'avais jusqu'alors utilisé d'autres types de machines pour éditer mes fichiers.

    http://www.gnu.org/gnu/thegnuproject.fr.html#TransNote3

  • C'est alors que j'ai reçu des requêtes de gens souhaitant utiliser GNU Emacs, ce qui a soulevé le problème de sa distribution. Je l'avais bien sûr proposé sur le serveur ftp de l'ordinateur du MIT que j'utilisais (cet ordinateur, prep.ai.mit.edu, a ainsi été promu au rang de site de distribution par ftp principal du projet GNU ; quelques années plus tard, à la fin de son exploitation, nous avons transféré ce nom sur notre nouveau serveur ftp). Mais à l'époque, une proportion importante des personnes intéressées n'avaient pas d'accès à l'Internet et ne pouvaient pas obtenir une copie du programme par ftp. La question se posait en ces termes : que devaisje leur dire ?

    J'aurais pu leur dire : « Trouvez un ami qui dispose d'un accès au réseau et qui vous fera une copie. » J'aurais pu également procéder comme j'avais procédé avec la version originale d'Emacs, sur PDP10, et leur dire : « Envoyezmoi une bande et une enveloppe timbrée autoadressée, et je vous les renverrai avec Emacs. » Mais j'étais sans emploi, et je cherchais des moyens de gagner de l'argent grâce au logiciel libre. C'est pourquoi j'ai annoncé que j'enverrais une bande à quiconque en désirait une, en échange d'une contribution de 150 dollars amécains. De cette manière, je mettais en place une entreprise autour du marché de la distribution du logiciel libre, entreprise précurseur des sociétés qu'on trouve aujourd'hui et qui distribuent des systèmes GNU entiers fondés sur Linux.

    Un programme estil libre pour chacun de ses utilisateurs ?

    Si un programme est un logiciel libre au moment où il quitte les mains de son auteur, cela ne signifie pas nécessairement qu'il sera un logiciel libre pour quiconque en possédera une copie. Le logiciel relevant du domaine public, par exemple (qui ne tombe sous le coup d'aucun copyright), est du logiciel libre ; mais tout un chacun peut en produire une version propriétaire modifiée. De façon comparable, de nombreux programmes libres sont couverts par des copyrights mais distribués sous des licences permissives qui autorisent la création de versions modifiées et propriétaires.

    L'exemple le plus frappant de ce problème est le système de fenêtrage X. Développé au M.I.T., et distribué sous forme de logiciel libre sous une licence permissive, il a rapidement été adopté par divers constructeurs. Ils ont ajouté X à leurs systèmes Unix propriétaires, sous forme binaire uniquement, en le frappant du même accord de non divulgation. Ces exemplaires de X n'étaient en rien du logiciel plus libre que le reste d'Unix.

    Les développeurs du système de fenêtrage X ne voyaient là nul problème (ils s'attendaient à cela et souhaitaient un tel résultat). Leur but n'était pas la liberté, mais la simple « réussite », définie comme le fait d'« avoir beaucoup d'utilisateurs. » Peu leur importait la liberté de leurs utilisateurs, seul leur nombre revêtait de l'importance à leurs yeux.

    Cela a conduit à une situation paradoxale, où deux différentes façons d'évaluer la liberté répondaient de manières différente à la question « Ce programme estil libre ? » Qui fondait son jugement sur la liberté fournie par les conditions de distribution de la distribution du M.I.T., concluait que X était un logiciel libre. Mais qui mesurait la liberté de l'utilisateur type de X, devait conclure que X était un logiciel propriétaire. La plupart des utilisateurs de X exécutaient des versions propriétaires fournies avec des systèmes Unix, et non la version libre.

    Le copyleft et la GPL de GNU

    Le but du projet GNU était de rendre les utilisateurs libres, pas de se contenter d'être populaire. Nous avions besoins de conditions de distribution qui empêcheraient de transformer du logiciel GNU en logiciel propriétaire. Nous avons utilisé la méthode du copyleft (1), ou « gauche d'auteur ».

    Le gauche d'auteur utilise les lois du droit d'auteur, en les retournant pour leur faire servir le but opposé de ce pour quoi elles ont été conçues : ce n'est pas une manière de privatiser du logiciel, mais une manière de le laisser « libre ».

    L'idée centrale du gauche d'auteur est de donner à quiconque la permission d'exécuter le programme, de le copier, de le modifier, et d'en distribuer des versions modifiées (mais pas la permission d'ajouter des restrictions de son cru). C'est ainsi que les libertés cruciales qui définissent le « logiciel libre » sont garanties pour quiconque en possède une copie; elles deviennent des droits inaliénables.

    http://www.gnu.org/philosophy/categories.fr.html#PublicDomainSoftware

  • Pour que le gauche d'auteur soit efficace, il faut que les versions modifiées demeurent libres, afin de s'assurer que toute œuvre dérivée de notre travail reste disponible à la communauté en cas de publication. Quand des programmeurs professionnels se portent volontaires pour améliorer le logiciel GNU, c'est le gauche d'auteur qui empêche leurs employeurs de dire : « Vous ne pouvez pas partager ces modifications, car nous allons les utiliser dans le cadre de notre version propriétaire du programme. »

    Il est essentiel d'imposer que les modifications restent libres si on souhaite garantir la liberté de tout utilisateur du programme. Les sociétés qui ont privatisé le système de fenêtrage X faisaient en général quelques modifications pour le porter sur leurs systèmes et sur leur matériel. Ces modifications étaient ténues si on les comparait à X dans son ensemble, mais elles n'en étaient pas pour autant faciles. Si le fait de procéder à des modifications pouvait servir de prétexte à ôter leur liberté aux utilisateurs, il serait facile pour quiconque de s'en servir à son avantage.

    Le problème de la réunion d'un programme libre avec du code non libre est similaire. Une telle combinaison serait indubitablement non libre; les libertés absentes de la partie non libre du programme ne se trouveraient pas non plus dans l'ensemble résultat de cette compilation. Autoriser de telles pratiques ouvrirait une voie d'eau suffisante pour couler le navire. C'est pourquoi il est crucial pour le gauche d'auteur d'exiger qu'un programme couvert par le gauche d'auteur ne puisse pas être inclus dans une version plus grande sans que cette dernière ne soit également couverte par le gauche d'auteur.

    La mise en œuvre spécifique du gauche d'auteur que nous avons utilisée pour la plupart des logiciels GNU fut la GNU General Public License (licence publique générale de GNU), ou GNU GPL en abrégé. Nous disposons d'autres types de gauche d'auteur pour des circonstances particulières. Les manuels du projet GNU sont eux aussi couverts par le gauche d'auteur, mais en utilisent une version très simplifiée, car il n'est pas nécessaire de faire appel à toute la complexité de la GNU GPL dans le cadre de manuels.(2)

    (1)En 1984 ou 1985, Don Hopkins (dont l'imagination était sans bornes) m'a envoyé une lettre. Il avait écrit sur l'enveloppe plusieurs phrases amusantes, et notamment celleci : « Copyleft  all rights reversed. »4. J'ai utilisé le mot « copyleft » pour donner un nom au concept de distribution que je développais alors.

    (2) Nous utilisons maintenant la GNU Free Documentation License pour la documentation.

    La Free Software Foundation, ou Fondation pour le Logiciel Libre

    Emacs attirant de plus en plus l'attention, le projet GNU comptait un nombre croissant de participants, et nous avons décidé qu'il était temps de repartir à la chasse aux fonds. En 1985, nous avons donc créé la fondation du logiciel libre (FSF), une association à but non lucratif, exemptée d'impôts, pour le développement de logiciel libre.

    La FSF a récupéré le marché de la distribution de logiciel libre sur bandes, auxquelles elle ajouta ensuite d'autres logiciels libres (GNU ou non), et par la vente de manuels libres. La FSF accepte les dons, mais la plus grande partie de ses recettes est toujours provenue des ventes  de copies de logiciel libre ou d'autres services associés. De nos jours, elle vend des CDROM de code source, des CDROM de binaires, des manuels de qualité (tout cela, en autorisant la redistribution et les modifications), et des distributions Deluxe (dans lesquelles nous construisons tous les logiciels pour la plateforme de votre choix).

    Les employés de la fondation du logiciel libre ont écrit et maintenu un grand nombre de paquetages logiciels du projet GNU, en particulier la bibliothèque du langage C et l'interpréteur de commandes. La bibliothèque du langage C est ce qu'utilise tout programme fonctionnant sur un système GNU/Linux pour communiquer avec Linux. Elle a été développée par Roland McGrath, membre de l'équipe de la fondation du logiciel libre. L'interpréteur de commandes employé sur la plupart des systèmes GNU/Linux est BASH, le BourneAgain Shell, qui a été développé par Brian Fox, employé de la FSF.

    Nous avons financé le développement de ces programmes car le projet GNU ne se limitait pas aux outils ou à un environnement de développement. Notre but était la mise en place d'un système d'exploitation complet, et de tels programmes étaient nécessaires pour l'atteindre.

    (1) « BourneAgain Shell »5 est un clin d'œil au nom « BourneShell », qui était l'interpréteur de commandes habituel sur Unix.

    http://www.gnu.org/gnu/thegnuproject.fr.html#TransNote5http://www.gnu.org/licenses/fdl.htmlhttp://www.gnu.org/gnu/thegnuproject.fr.html#TransNote4

  • Assistance technique au logiciel libre

    La philosophie du logiciel libre rejette une pratique spécifique, très répandue dans l'industrie du logiciel, mais elle ne s'oppose pas au monde des affaires. Quand des entreprises respectent la liberté des utilisateurs, nous leur souhaitons de réussir.

    La vente de copies d'Emacs est une forme d'affaires fondées sur du logiciel libre. Quand la FSF a récupéré ce marché, j'ai dû chercher une autre solution pour gagner ma vie. Je l'ai trouvée sous la forme de vente de services associés au logiciel libre que j'avais développé. Cela consistait à enseigner des thèmes tels que la programmation de GNU Emacs et la personnalisation de GCC, et à développer du logiciel, principalement en portant GCC sur de nouvelles platesformes.

    De nos jours, chacune de ces activités lucratives fondées sur le logiciel libre est proposée par de nombreuses sociétés. Certaines distribuent des compilations de logiciel libre sur CDROM ; d'autres vendent de l'assistance technique en répondant à des questions d'utilisateurs, en corrigeant des bogues, et en insérant de nouvelles fonctionnalités majeures. On commence même à observer des sociétés de logiciel libre fondées sur la mise sur le marché de nouveaux logiciels libres.

    Prenez garde, toutefois : certaines des sociétés qui s'associent à la dénomination « open source »6. Il s'agit ici de sociétés qui font peu de cas du logiciel libre et choisissent un slogan calculé pour s'attirer les faveurs du public, fondent en réalité leur activité sur du logiciel propriétaire, qui interagit avec du logiciel libre. Ce ne sont pas des sociétés de logiciel libre, ce sont des sociétés de logiciel propriétaire dont les produits détournent les utilisateurs de leur liberté. Elles appellent cela de la « valeur ajoutée », ce qui reflète quelles valeurs elles souhaitent nous voir adopter : préférer la facilité à la liberté. Si nous faisons passer la liberté au premier plan, il nous faut leur donner le nom de produits à « liberté soustraite ».

    Objectifs techniques

    L'objectif principal du projet GNU était le logiciel libre. Même si GNU ne jouissait d'aucun avantage technique sur Unix, il disposerait d'un avantage social, en autorisant les utilisateurs à coopérer, et d'un avantage éthique, en respectant la liberté de l'utilisateur.

    Mais il était naturel d'appliquer à ce travail les standards bien connus du développement logiciel de qualité en utilisant par exemple des structures de données allouées dynamiquement pour éviter de mettre en place des limites fixées arbitrairement, et en gérant tous les caractères possibles encodables sur 8 bits, partout où cela avait un sens.

    De plus, nous rejetions l'accent mis par Unix sur les petites quantités de mémoire, en décidant de ne pas nous occuper des architectures 16 bits (il était clair que les architectures 32 bits seraient la norme au moment de la finalisation du système GNU), et en ne faisant aucun effort pour réduire la consommation mémoire en deçà d'un mégaoctet. Dans les programmes pour lesquels il n'était pas crucial de manipuler des fichiers de tailles importantes, nous encouragions les programmeurs à lire le fichier en entrée, d'une traite, en mémoire, et d'analyser ensuite son contenu sans plus se préoccuper des entrées/sorties.

    Ces décisions ont rendu de nombreux programmes du projet GNU supérieurs à leurs équivalents sous Unix en termes de fiabilité et de vitesse d'exécution.

    Les ordinateurs offerts

    La réputation du projet GNU croissant, on nous offrait des machines sous Unix pour nous aider à le mener à bien. Elles nous furent bien utiles, car le meilleur moyen de développer les composants de GNU était de travailler sur un système Unix, dont on remplaçait les composants un par un. Mais cela a posé un problème éthique : étaitil correct ou non, pour nous, de posséder des copies d'Unix ?

    Unix était (et demeure) du logiciel propriétaire, et la philosophie du projet GNU nous demandait de ne pas utiliser de logiciels propriétaire. Mais, en appliquant le même raisonnement que celui qui conclut qu'il est légitime de faire usage de violence en situation de légitime défense, j'ai conclu qu'il était légitime d'utiliser un paquetage propriétaire quand cela était crucial pour développer une solution de remplacement libre, qui en aiderait d'autres à se passer de ce même paquetage propriétaire.

    http://www.gnu.org/gnu/thegnuproject.fr.html#TransNote6

  • Mais ce mal avait beau être justifiable, il n'en restait pas moins un mal. De nos jours, nous ne possédons plus aucune copie d'Unix, car nous les avons toutes remplacées par des systèmes d'exploitation libres. Quand nous ne parvenions pas à substituer au système d'exploitation d'une machine un système libre, nous remplacions la machine.

    La GNU Task List, ou liste des tâches du projet GNU

    Le projet GNU suivant son cours, on trouvait ou développait un nombre croissant de composants du système, et il est finalement devenu utile de faire la liste des parties manquantes. Nous l'avons utilisée pour recruter des développeurs afin d'écrire ces dernières. Cette liste a pris le nom de GNU task list. En plus des composants manquants d'Unix, nous y avons listé plusieurs autres projets utiles, de logiciel et de documentation, que nous jugions nécessaires au sein d'un système réellement complet.

    De nos jours, on ne trouve presque plus aucun composant d'Unix dans la liste des tâches du projet GNU  ces travaux ont tous été menés à bien, si on néglige certains composants non essentiels. Mais la liste est pleine de projets qu'on pourrait qualifier d'« applications ». Tout programme qui fait envie à une classe non restreinte d'utilisateurs constituerait un ajout utile à un système d'exploitation.

    On trouve même des jeux dans la liste des tâches (et c'est le cas depuis le commencement). Unix proposait des jeux, ce devait naturellement être également le cas de GNU. Mais il n'était pas nécessaire d'être compatible en matière de jeux, aussi n'avonsnous pas suivi la liste des jeux d'Unix. Nous avons plutôt listé un spectre de divers types de jeux qui plairont vraisemblablement aux utilisateurs.

    La GNU Library GPL, ou licence publique générale de GNU pour les bibliothèques

    La bibliothèque du langage C du projet GNU fait appel à un gauche d'auteur particulier, appelé la GNU Library General Public License (1) (licence publique générale de GNU pour les bibliothèques, ou GNU LGPL), qui autorise la liaison de logiciel propriétaire avec la bibliothèque. Pourquoi une telle exception ?

    Ce n'est pas une question de principe ; aucun principe ne dicte que les logiciels propriétaires ont le droit de contenir notre code (pourquoi contribuer à un projet qui affirme refuser de partager avec nous ?). L'utilisation de la LGPL dans le cadre de la bibliothèque du langage C, ou de toute autre bibliothèque, est un choix stratégique.

    La bibliothèque du langage C joue un rôle générique ; tout système propriétaire, tout compilateur, dispose d'une bibliothèque du langage C. C'est pourquoi limiter l'utilisation de notre bibliothèque du langage C au logiciel libre n'aurait donné aucun avantage au logiciel libre  cela n'aurait eu pour effet que de décourager l'utilisation de notre bibliothèque.

    Il existe une exception à cette règle : sur un système GNU (et GNU/Linux est l'un de ces systèmes), la bibliothèque du langage C de GNU est la seule disponible. Aussi, ses conditions de distribution déterminent s'il est possible de compiler un programme propriétaire sur le système GNU. Il n'existe aucune raison éthique d'autoriser des applications propriétaires sur le système GNU, mais d'un point de vue stratégique, il semble que les interdire découragerait plus l'utilisation d'un système GNU que cela n'encouragerait le développement d'applications libres.

    C'est pourquoi l'utilisation de la GPL pour les bibliothèques (ou LGPL) est une bonne stratégie dans le cadre de la bibliothèque du langage C. En ce qui concerne les autres bibliothèques, il faut prendre la décision stratégique au cas par cas. Quand une bibliothèque remplit une tâche particulière qui peut faciliter l'écriture de certains types de programmes, la distribuer sous les conditions de la GPL, en limitant son utilisation aux programmes libres, est une manière d'aider les développeurs de logiciels libres et de leur accorder un avantage à l'encontre du logiciel propriétaire.

    Considérons GNU Readline, une bibliothèque développée dans le but de fournir une édition de ligne de commande pour l'interpréteur de commandes BASH. Cette bibliothèque est distribuée sous la licence publique générale ordinaire de GNU, et non pas sous la LGPL. Cela a probablement pour effet de réduire l'utilisation de la bibliothèque Readline, mais cela n'induit aucune perte en ce qui nous concerne. Pendant ce temps, on compte au moins une application utile qui a été libérée, uniquement dans le but de pouvoir utiliser 

  • la bibliothèque Readline, et c'est là un gain réel pour la communauté.

    Les développeurs de logiciel propriétaire jouissent des avantages que leur confère l'argent; les développeurs de logiciel libre doivent compenser cela en s'épaulant les uns les autres. J'espère qu'un jour nous disposerons de toute une collection de bibliothèques couvertes par la GPL, et pour lesquelles il n'existera pas d'équivalent dans le monde du logiciel propriétaire. Nous disposerons ainsi de modules utiles, utilisables en tant que blocs de construction de nouveaux logiciels libres, et apportant un avantage considérable à la continuation du développement du logiciel libre.

    (1) Cette licence s'appelle maintenant la GNU Lesser General Public License, pour éviter de laisser penser que toutes les bibliothèques doivent l'utiliser.

    Gratter là où ça démange

    Éric Raymond affirme que « Tout bon logiciel commence par gratter un développeur là où ça le démange. ». Cela se produit peutêtre, parfois, mais de nombreux composants essentiels du logiciel GNU ont été développés dans le but de disposer d'un système d'exploitation libre complet. Ils ont été inspirés par une vision et un projet à long terme, pas par un coup de tête.

    Nous avons par exemple développé la bibliothèque du langage C de GNU car un système de type Unix a besoin d'une bibliothèque du langage C, nous avons développé le BourneAgain Shell (BASH) car un système de type Unix a besoin d'un interpréteur de commandes, et nous avons développé GNU tar car un système de type Unix a besoin d'un programme d'archivage. Il en va de même pour les programmes que j'ai développé, à savoir le compilateur C de GNU, GNU Emacs, GDB, et GNU Make.

    Certains programmes du projet GNU ont été développés pour répondre aux menaces qui pesaient sur notre liberté. C'est ainsi que nous avons développé gzip en remplacement du programme Compress, que la communauté avait perdu suite aux brevets logiciels déposés sur LZW. Nous avons trouvé des gens pour développer LessTif, et plus récemment nous avons démarré les projets GNOME et Harmony, en réponse aux problème posés par certaines bibliothèques propriétaires (lire ciaprès). Nous sommes en train de développer le GNU Privacy Guard (le gardien de l'intimité de GNU, ou GPG) pour remplacer un logiciel de chiffrement populaire mais pas libre, car les utilisateurs ne devraient pas devoir choisir entre la préservation de leur intimité et la préservation de leur liberté.

    Bien sûr, les gens qui écrivent ces programmes se sont intéressés à ce travail, et de nombreux contributeurs ont ajouté de nouvellesfonctionnalités car elles comblaient leurs besoins ou les intéressaient. Mais ce n'est pas là la raison première de ces programmes.

    Des développements inattendus

    Au commencement du projet GNU, j'ai imaginé que nous développerions le système GNU dans sa globalité avant de le publier. Les choses se sont passées différemment.

    Puisque chaque composant du système GNU était mis en œuvre sur un système Unix, chaque composant pouvait fonctionner sur des systèmes Unix, bien avant que le système GNU ne soit disponible dans sa globalité. Certains de ces programmes sont devenus populaires, et leurs utilisateurs ont commencé à travailler sur des extensions et des ports  vers les diverses versions d'Unix, incompatibles entre elles, et parfois, sur d'autres systèmes encore.

    Ce processus a rendu ces programmes bien plus complets, et a drainé des fonds et des participants vers le projet GNU. Mais il a probablement eu également pour effet de retarder de plusieurs années la mise au point d'un système en état de fonctionnement, puisque les développeurs du projet GNU passaient leur temps à s'occuper de ces ports et à proposer des nouvelles fonctionnalités aux composants existants, plutôt que de continuer à développer peu à peu les composants manquants.

    Le GNU Hurd

    En 1990, le système GNU était presque terminé; le seul composant principal qui manquait encore à l'appel était le noyau. Nous avions décidé d'implémenter le noyau sous la forme d'une série de processus 

  • serveurs qui fonctionneraient audessus de Mach. Mach est un micronoyau développé à l'université CarnegieMellon puis à l'université de l'Utah; le GNU Hurd est une série de serveurs (ou une « horde de gnous ») qui fonctionnent audessus de Mach, et remplissent les diverses fonctions d'un noyau Unix. Le développement a été retardé car nous attendions que Mach soit publié sous forme de logiciel libre, comme cela avait été promis.

    L'une des raisons qui ont dicté ce choix était d'éviter ce qui semblait être la partie la plus difficile du travail : déboguer un programme de noyau sans disposer pour cela d'un débogueur au niveau du code source. Ce travail avait déjà été fait, dans Mach, et nous pensions déboguer les serveurs du Hurd en tant que programmes utilisateur, à l'aide de GDB. Mais cela prit beaucoup de temps, et les serveurs à plusieurs processus légers, qui s'envoyaient des messages les uns aux autres, se sont révélés très difficiles à déboguer. La consolidation du Hurd s'est étalée sur plusieurs années.

    Alix

    À l'origine, le noyau du système GNU n'était pas censé s'appeler Hurd. Son premier nom était Alix  du nom de celle qui à l'époque était l'objet de ma flamme. Administratrice de systèmes Unix, elle avait fait remarquer que son prénom ressemblait aux noms typiques des versions de systèmes Unix; elle s'en était ouverte auprès d'amis en plaisantant : « Il faudrait baptiser un noyau de mon nom. » Je suis resté coi, mais ai décidé de lui faire la surprise d'appeler Alix le noyau du système GNU.

    Mais les choses ont changé. Michael Bushnell (maintenant, il s'agit de Thomas), le développeur principal du noyau, préférait le nom Hurd, et a confiné le nom Alix à une certaine partie du noyau  la partie qui se chargeait d'intercepter les appels système et de les gérer en envoyant des messages aux serveurs du Hurd.

    Finalement, Alix et moi mîmes fin à notre relation, et elle a changé de nom; de manière indépendante, le concept du Hurd avait évolué de telle sorte que ce serait la bibliothèque du langage C qui enverrait directement des messages aux serveurs, ce qui a fait disparaître le composant Alix du projet.

    Mais avant que ces choses ne se produisissent, un de ses amis avait remarqué le nom Alix dans le code source du Hurd, et s'en était ouvert auprès d'elle. Finalement, ce nom avait rempli son office.

    Linux et GNU/Linux

    Le GNU Hurd n'est pas encore utilisable de manière intensive. Heureusement, on dispose d'un autre noyau. En 1991, Linus Torvalds a développé un noyau compatible avec Unix et lui a donné le nom de Linux. Aux alentours de 1992, la jonction de Linux et du système GNU, qui était presque complet, a fourni un système d'exploitation libre et complet (ce travail de jonction était luimême, bien sûr, considérable). C'est grâce à Linux qu'on peut désormais employer une version du système GNU.

    On appelle cette version du système « GNU/Linux » pour signaler qu'il est composé du système GNU et du noyau Linux.

    Les défis à venir

    Nous avons fait la preuve de notre capacité à développer un large spectre de logiciel libre. Cela ne signifie pas que nous sommes invincibles et que rien ne peut nous arrêter. Certains défis rendent incertain l'avenir du logiciel libre; et il faudra des efforts et une endurance soutenus pour les relever, pendant parfois plusieurs années. Il faudra montrer le genre de détermination dont les gens font preuve quand ils accordent de la valeur à leur liberté et qu'ils ne laisseront personne la leur voler.

    Les quatres sections suivantes discutent de ces défis.

    Le matériel secret

    Les fabricants de matériel tendent de plus en plus à garder leurs spécifications secrètes. Cela rend plus difficile l'écriture de pilotes de périphériques libres afin de permettre à Linux et au projet XFree86 de 

  • reconnaître de nouveaux matériels. Nous disposons aujourd'hui de systèmes entièrement libres, mais cela pourrait ne plus être le cas dans l'avenir, si nous ne pouvons plus proposer des pilotes pour les ordinateurs de demain.

    On peut résoudre ce problème de deux manières. Les programmeurs peuvent analyser l'ensemble afin de deviner comment prendre en compte le matériel. Les autres peuvent choisir le matériel qui est reconnu par du logiciel libre; plus nous serons nombreux, plus la politique de garder les spécifications secrètes sera vouée à l'échec.

    La rétroingénierie est un travail conséquent; disposeronsnous de programmeurs suffisamment déterminés pour le prendre en main ? Oui  si nous avons construit un sentiment puissant selon lequel le logiciel libre est une question de principe, et que les pilotes non libres sont inacceptables. Et seronsnous nombreux à dépenser un peu plus d'argent, ou à passer un peu de temps, pour que nous puissions utiliser des pilotes libres ? Oui  si la détermination afférente à la liberté est largement répandue.

    (Note de 2008 : Ce problème s'applique au BIOS aussi. Il existe un BIOS libre, coreboot ; le problème est d'obtenir les spécifications pour les machines pour que coreboot puisse les gérer).

    Les bibliothèques non libres

    Une bibliothèque non libre qui fonctionne sur des systèmes d'exploitation libres se comporte comme un piège visàvis des développeurs de logiciel libre. Les fonctionnalités attrayantes de cette bibliothèque sont l'appât; si vous utilisez la bibliothèque, vous tombez dans le piège, car votre programme ne peut pas être utilisé de manière utile au sein d'un système d'exploitation libre (pour être strict, on pourrait y inclure le programme, mais on ne pourrait pas l'exécuter en l'absence de la bibliothèque incriminée). Pire encore, si un programme qui utilise une bibliothèque propriétaire devient populaire, il peut attirer d'autres programmeurs peu soupçonneux dans le piège.

    Ce problème s'est posé pour la première fois avec la boîte à outils Motif, dans les années 80. Même s'il n'existait pas encore de systèmes d'exploitation libres, il était limpide que Motif leur causerait des problèmes, plus tard. Le projet GNU a réagi de deux manières : en demandant aux projets de logiciel libre de rendre l'utilisation de Motif facultative en privilégiant les gadgets de la boîte à outils X, libre, et en recherchant un volontaire pour écrire une solution de remplacement libre à Motif. Ce travail prit de nombreuses années; LessTif, développé par les Hungry Programmers (les « Programmeurs affamés »), n'est devenu suffisamment étendu pour faire fonctionner la plupart des applications utilisant Motif qu'en 1997.

    De 1996 à 1998, une compilation conséquente de logiciel libre, le bureau KDE, a fait usage d'une autre bibliothèque non libre de boîte à outils pour l'interface graphique utilisateur, appelée Qt. Les systèmes GNU/Linux libres ne pouvaient pas utiliser KDE, car nous ne pouvions pas utiliser la bibliothèque.

    Les systèmes GNU/Linux libres ne pouvaient pas utiliser KDE, car nous ne pouvions pas utiliser la bibliothèque. Cependant, certains distributeurs commerciaux de systèmes GNU/Linux n'ont pas été assez stricts pour coller au logiciel libre et ont ajouté KDE dans leurs systèmes  produisant un système disposant d'un plus grand nombre de fonctionnalités, mais souffrant d'une liberté réduite. Le groupe KDE encourageait activement un plus grand nombre de programmeurs à utiliser la bibliothèque Qt, et des millions de « nouveaux utilisateurs de Linux » n'ont jamais eu connaissance du fait que tout ceci posait un problème. La situation était sinistre.

    La communauté du logiciel libre a répondu à ce problème de deux manières : GNOME et Harmony.

    GNOME, le GNU Network Object Model Environment (environnement de GNU de modèle d'objets pour le réseau), est le projet de bureau de GNU. Démarré en 1997 par Miguel de Icaza, et développé avec l'aide de la société Red Hat Software, GNOME avait pour but de fournir des fonctionnalités de bureau similaires, en utilisant exclusivement du logiciel libre. Il jouit aussi d'avantages techniques, comme le fait de collaborer avec toute une variété de langages, et de ne pas de se limiter au C++. Mais son objectif principal est la liberté : ne pas imposer l'utilisation du moindre logiciel non libre.

    Harmony est une bibliothèque compatible de remplacement, conçue pour permettre l'utilisation des logiciels de KDE sans faire appel à Qt.

  • En novembre 1998, les développeurs de Qt ont annoncé une modification de leur licence qui, quand elle sera effective, fera de Qt un logiciel libre. On ne peut pas en être sûr, mais je pense que cette décision est en partie imputable à la réponse ferme qu'a faite la communauté au problème que Qt posait quand il n'était pas libre (la nouvelle licence n'est pas pratique ni équitable, aussi demeuretil préférable d'éviter d'utiliser Qt).

    [Note ultérieure : en septembre 2000, Qt fut distribuée sous la GPL de GNU, ce qui résolvait essentiellement ce problème.]

    Comment répondronsnous à la prochaine bibliothèque non libre mais alléchante ? La communauté comprendratelle dans son entier la nécessité de ne pas tomber dans le piège ? Ou seronsnous nombreux à préférer la facilité à la liberté, et à produire un autre problème majeur ? Notre avenir dépend de notre philosophie.

    Les brevets sur les logiciels

    La pire menace provient des brevets sur les logiciels, susceptibles de placer des algorithmes et des fonctionnalités hors de portée des logiciels libres pendant une période qui peut atteindre vingt ans. Les brevets sur l'algorithme de compression LZW ont été déposés en 1983, et nous ne pouvons toujours pas diffuser des logiciels libres qui produisent des images au format GIF correctement compressées. En 1998, la menace d'une poursuite pour cause de violation de brevets a mis fin à la distribution d'un programme libre qui produisait des données sonores compressées au format MP3.

    Il existe plusieurs manières de répondre au problème des brevets : on peut rechercher des preuves qui invalident un brevet, et on peut rechercher d'autres solutions pour remplir une tâche. Mais chacune de ces méthodes ne fonctionne que dans certains cas; quand les deux échouent, il se peut qu'un brevet empêche le logiciel libre de disposer de fonctionnalités souhaitées par les utilisateurs. Que feronsnous dans ce genre de situation ?

    Ceux d'entre nous qui prêtent de la valeur au logiciel libre par amour de la liberté continueront à utiliser du logiciel libre dans tous les cas. On pourra travailler sans utiliser de fonctionnalités protégées par des brevets. Mais ceux d'entre nous qui prêtent de la valeur au logiciel libre car ils s'attendent à trouver là des logiciels techniquement supérieurs sont susceptibles de critiquer l'idée même du logiciel libre quand un brevet l'empêchera de progresser plus avant. Ainsi, même s'il est utile de discuter de l'efficacité, dans la pratique, du modèle de développement de type « cathédrale » (1), et de la fiabilité et de la puissance de certains logiciels libres, il ne faut pas s'en tenir là. Il nous faut parler de liberté et de principes.

    (1) Il aurait été plus clair d'écrire « du modèle « bazaar », étant donné qu'il s'agissait de la nouvelle alternative, controversée au début. 

    La documentation libre

    Il ne faut pas chercher les lacunes les plus graves de nos systèmes d'exploitations libres dans le logiciel  c'est l'absence de manuels libres corrects qu'on puisse inclure dans nos systèmes qui se fait le plus cruellement sentir. La documentation est essentielle dans tout paquetage logiciel; quand un paquetage logiciel important ne disposepas d'un bon manuel libre, il s'agit d'un manque crucial. On en compte de nombreux aujourd'hui.

    La documentation libre, tout comme le logiciel libre, est une question de liberté, pas de prix. La raison d'être d'un manuel libre est très proche de celle d'un logiciel libre : il s'agit d'offrir certaines libertés à tous les utilisateurs. Il faut autoriser la redistribution (y compris la vente commerciale), en ligne et sur papier, de telle sorte que le manuel puisse accompagner toute copie du programme.

    Il est également crucial d'autoriser les modifications. En règle générale, je ne pense pas qu'il soit essentiel d'autoriser tout un chacun à modifier toutes sortes d'articles et de livres. Je ne pense pas, par exemple, que vous ou moi soyons tenus de donner la permission de modifier des textes comme le présent article, qui expose nos actions et nos idées.

    Mais il existe une raison particulière, pour laquelle il est crucial de disposer de la liberté de modifier la documentation afférente aulogiciel libre. Quand on jouit de son droit de modifier le logiciel, et d'ajouter des fonctionnalités ou de modifier les fonctionnalités présentes, le programmeur consciencieux mettra 

    http://www.gnu.org/gnu/thegnuproject.fr.html#1

  • immédiatement à jour le manuel (afin de fournir une documentation précise et utilisable aux côtés du programme modifié). Un manuel qui n'autorise pas les programmeurs à être consciencieux et à terminer leur travail, ne remplit pas les besoins de notre communauté.

    Il est acceptable d'apposer certaines limites sur la manière dont les modifications sont faites. Il est par exemple envisageable d'exiger de préserver la notice de copyright de l'auteur original, les conditions de distribution, ou la liste des auteurs. D'exiger que les versions modifiées contiennent une notice qui stipule qu'elles ont été modifiées, et même d'interdire de modifier ou d'ôter des sections entières, pourvu que ces sections ne traitent pas de considérations techniques, ne pose pas non plus de problèmes, car cela n'interdit pas au programmeur consciencieux d'adapter le manuel afin qu'il corresponde au programme modifié par ses soins. En d'autres termes, cela n'empêche la communauté du logiciel libre d'utiliser pleinement le manuel.

    En revanche, il faut autoriser la modification des portions techniques du manuel, et la distribution du résultat de ces modifications par tous les médias habituels, à travers tous les canaux habituels; sans quoi, les restrictions font obstruction à la communauté, le manuel n'est pas libre, et il nous en faut un autre.

    Les développeurs de logiciels libres serontils déterminés, aurontils conscience du fait qu'il est nécessaire de produire tout un spectre de manuels libres ? Une fois de plus, notre avenir dépend de notre philosophie.

    Il nous faut faire l'apologie de la liberté

    On estime aujourd'hui à dix millions le nombre d'utilisateurs de systèmes GNU/Linux et Red Hat Linux de par le monde. Le logiciel libre propose tant d'avantages pratiques que les utilisateurs s'y ruent pour des raisons purement pratiques.

    Cet état de fait a des conséquences heureuses, qui n'échapperont à personne : on voit plus de développeurs intéressés par la production de logiciels libres, les entreprises de logiciels libres comptent plus de clients, et il est plus facile d'encourager les sociétés à développer des logiciels libres commerciaux, plutôt que des produits logiciels propriétaires.

    Mais l'intérêt pour le logiciel libre croît plus vite que la prise de conscience de la philosophie sur laquelle il se fonde, et cela provoque des problèmes. Notre capacité à relever les défis et à répondre aux menaces évoqués plus haut dépend de notre volonté à défendre chèrement notre liberté. Pour nous assurer que notre communauté partage cette volonté, il nous faut répandre ces idées auprès des nouveaux utilisateurs au fur et à mesure qu'ils rejoignent notre communauté.

    Mais nous négligeons ce travail; on dépense bien plus d'efforts pour attirer de nouveaux utilisateurs dans notre communauté qu'on n'en dépense pour leur enseigner l'éducation civique qui lui est attachée. Ces deux efforts sont nécessaires, et il nous faut les équilibrer.

    « Open Source »

    En 1998, il est devenu plus difficile de sensibiliser les nouveauxutilisateurs à la notion de liberté dans le logiciel, quand une portion de notre communauté a choisi d'arrêter d'utiliser le terme « Free Software » pour lui préférer la dénomination « Open Source software »7.

    Certains de ceux qui ont choisi ce nouveau nom avaient en tête de mettre fin à la confusion souvent constatée entre les mots « free » et « gratuit »  ce qui est un objectif valable. D'autres, au contraire, avaient pour objectif de laisser de côté le principe qui a depuis toujours motivé le mouvement du logiciel libre et le projet GNU, afin de cibler les cadres et les utilisateurs professionnels, dont beaucoup ont une idéologie où la liberté, la communauté, et les principes, cèdent le pas aux profits. Ainsi, la rhétorique de l'« Open Source » met l'accent sur le potentiel pour faire du logiciel puissant et de grande qualité, mais occulte délibérément les idées de liberté, de communauté, et de principes.

    Les magazines « Linux » illustrent clairement cet exemple (ils sont bourrés de publicités pour des logiciels propriétaires quifonctionnent sur le système GNU/Linux). Quand le prochain Motif ou Qt poindra, ces magazines mettrontils les programmeurs en garde en leur demandant de s'en éloigner, ou passerontils des publicités pour ces produits ?

    http://www.gnu.org/gnu/thegnuproject.fr.html#TransNote7

  • La communauté a beaucoup à gagner de la participation des entreprises; toutes choses étant égales par ailleurs, cette contribution est utile. Mais sacrifier à cette aide les discours traitant de liberté et de principes peut avoir des conséquences désastreuses; cela déséquilibre encore plus la situation précédente, où on voit que l'éducation civique des nouveaux utilisateurs s'avère difficile lorsqu'ils affluent.

    Les termes « Free Software » et « Open Source » décrivent tous deux plus ou moins la même catégorie de logiciels, mais correspondent à des conceptions différentes du logiciel et des valeurs qui lui sont associées. Le projet GNU continue d'utiliser le terme « Free Software » pour exprimer l'idée que la liberté est plus importante que la seule technique.

    Jetezvous à l'eau

    La philosophie de Yoda (il ne faut pas essayer) est attirante, mais elle ne s'applique pas à moi. J'ai effectué la plupart de mes travaux sans savoir si j'étais capable de les mener à bien, et sans savoir si ces derniers, une fois menés à bien, suffiraient aux buts que je leur avais fixés. Mais j'ai tenté ma chance, car il n'y avait personne d'autre que moi entre l'ennemi et ma cité. À ma grande surprise, j'ai parfois réussi.

    J'ai parfois échoué; certaines de mes cités sont tombées. Je trouvais alors une autre cité menacée, e