summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/fr/stallman-kth.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/fr/stallman-kth.html')
-rw-r--r--talermerchantdemos/blog/articles/fr/stallman-kth.html787
1 files changed, 406 insertions, 381 deletions
diff --git a/talermerchantdemos/blog/articles/fr/stallman-kth.html b/talermerchantdemos/blog/articles/fr/stallman-kth.html
index 2a82ffa..04ccc21 100644
--- a/talermerchantdemos/blog/articles/fr/stallman-kth.html
+++ b/talermerchantdemos/blog/articles/fr/stallman-kth.html
@@ -1,31 +1,46 @@
<!--#set var="ENGLISH_PAGE" value="/philosophy/stallman-kth.en.html" -->
<!--#include virtual="/server/header.fr.html" -->
-<!-- Parent-Version: 1.77 -->
+<!-- Parent-Version: 1.96 -->
+<!-- This page is derived from /server/standards/boilerplate.html -->
+<!--#set var="TAGS" value="speeches" -->
+<!--#set var="DISABLE_TOP_ADDENDUM" value="yes" -->
<!-- This file is automatically generated by GNUnited Nations! -->
-<title>Conférence en Suède - Projet GNU - Free Software Foundation</title>
+<title>Conférence de RMS au KTH (Suède, 1986) - Projet GNU - Free Software
+Foundation</title>
+<style type="text/css" media="screen"><!--
+#content span { font-style: italic; color: #505050; }
+-->
+</style>
<!--#include virtual="/philosophy/po/stallman-kth.translist" -->
<!--#include virtual="/server/banner.fr.html" -->
-<h2>Conférence de RMS au KTH (Suède), le 30 octobre 1986</h2>
-
-<div style="text-align: center;">
-<p><em>[Kungliga Tekniska Högskolan (Institut royal de technologie)<br />
-Stockholm, Suède]</em></p>
-<p><em>organisée par l'association des étudiants<br />
-« Datorföreningen Stacken »<br />
-le 30 octobre 1986</em></p>
+<!--#include virtual="/philosophy/ph-breadcrumb.fr.html" -->
+<!--GNUN: OUT-OF-DATE NOTICE-->
+<!--#include virtual="/server/top-addendum.fr.html" -->
+<div class="article reduced-width">
+<h2>Conférence de RMS au KTH (Suède, 1986)</h2>
+
+<div class="infobox">
+<p>Transcription d'une conférence de Richard Stallman au <i>Kungliga Tekniska
+Högskolan</i> (Institiut royal de technologie), à Stockholm (Suède),
+organisée par l'association des étudiants, <i>Datorföreningen Stacken</i>,
+le 30 octobre 1986.
+</p>
</div>
+<hr class="thin" />
-<p><strong>[Note : Ce texte est une transcription légèrement révisée de la
+<div class="introduction">
+<p><i>[Note : Ce texte est une transcription légèrement révisée de la
conférence. La version originale contient des faux départs ainsi que des
locutions naturelles en anglais parlé mais qui paraissent bizarres dans une
publication. Il n'est pas évident de la transformer en anglais écrit correct
-sans faire violence au discours original.]</strong></p>
+sans faire violence au discours original.]</i></p>
+</div>
-<p>Il semble qu'il y ait trois choses dont les gens voudraient que je
-parle. Tout d'abord, j'ai pensé que le meilleur sujet ici pour un club de
+<p><b>RMS :</b> Il semble qu'il y ait trois choses dont les gens voudraient que
+je parle. Tout d'abord, j'ai pensé que le meilleur sujet ici pour un club de
hackers était de dire comment ça se passait au <abbr title="Massachusetts
Institute of Technology">MIT</abbr> autrefois, ce qui faisait du labo
d'intelligence artificielle (labo d'IA) un endroit si particulier. Mais d'un
@@ -38,19 +53,24 @@ une heure, nous y sommes pour un bon moment. Aussi je me suis dit que je
pourrais éventuellement diviser la conférence en trois parties. Comme ça les
gens pourraient sortir quand ça ne les intéresse pas. Une fois arrivé à la
fin d'un sujet, je peux signaler que c'est fini, les gens peuvent sortir et
-je peux envoyer Jan Rynning dehors pour appeler les
-autres. <br/><br/>Quelqu'un : <i>Janne, han trenger ingen mike</i> (Janne,
-il n'a pas besoin de micro).<br/><br/>RMS : Jan, tu es prêt à courir
-chercher les autres ?<br/><br/>JMR : Je suis à la recherche d'un micro et
-quelqu'un me dit qu'il est dans ce casier fermé à clé.<br/><br/>RMS :
-Autrefois au labo d'IA, on l'aurait ouvert à coup de masse et la porte
-défoncée aurait servi de leçon à celui qui avait osé mettre sous clé quelque
-chose dont tout le monde avait besoin. Mais heureusement j'ai étudié le
-chant bulgare, donc je peux très bien me débrouiller sans micro.</p>
+je peux envoyer Jan Rynning dehors pour appeler les autres.</p>
+
+<p><span>[Quelqu'un : « <i>Janne, han trenger ingen mike.</i> » (Janne, il n'a
+pas besoin de micro.)]</span></p>
+
+<p>Jan, tu es prêt à courir chercher les autres ?</p>
+
+<p><b>JMR :</b> Je suis à la recherche d'un micro et quelqu'un me dit qu'il est
+dans ce casier fermé à clé.</p>
+
+<p><b>RMS :</b> Autrefois au labo d'IA, on l'aurait ouvert à coup de masse et
+la porte défoncée aurait servi de leçon à celui qui avait osé mettre sous
+clé quelque chose dont tout le monde avait besoin. Mais heureusement j'ai
+étudié le chant bulgare, donc je peux très bien me débrouiller sans micro.</p>
<p>Bon, est-ce que je dois vous signaler les différentes parties de la
-conférence ou vous avez juste envie de la suivre jusqu'au bout ? (Réponse :
-Yeaaah !)</p>
+conférence ou vous avez juste envie de la suivre jusqu'au bout ?
+<span>[Réponse : Yeaaah !]</span></p>
<p>Quand j'ai commencé à programmer, c'était en 1969, dans un laboratoire d'IBM
à New York. Ensuite, je suis allé dans une école qui avait un département
@@ -61,14 +81,14 @@ pénurie de terminaux pour la plupart d'entre nous. Or pas mal de professeurs
en avaient un personnellement dans leur bureau, ce qui était du gaspillage,
mais typique de leur attitude. Quand j'ai visité le labo d'intelligence
artificielle au MIT, j'ai trouvé une atmosphère qui était une bouffée d'air
-pur par rapport à ça. Par exemple : là, on considérait que les terminaux
+pur par rapport à ça. Par exemple : là, on considérait que les terminaux
étaient à tout le monde et les professeurs qui les enfermaient à clef dans
leurs bureaux couraient le risque de voir leurs portes défoncées. On m'a
montré une fois un chariot avec un gros bloc de fer dessus. C'était celui
qui avait été utilisé pour défoncer la porte du bureau d'un des professeurs
quand il avait eu le culot d'y enfermer un terminal. Il y en avait très peu
à cette époque. Il y avait probablement quelque chose comme cinq terminaux à
-écran pour tout le système ; aussi, si l'un d'entre eux était sous clé,
+écran pour tout le système ; aussi, si l'un d'entre eux était sous clé,
c'était une vraie catastrophe.</p>
<p>Dans les années qui ont suivi, j'ai été guidé par ces idées et il m'est
@@ -84,8 +104,8 @@ avoir accès au reste du matériel qui était dans la même salle. Presque à
chaque fois que cela s'est produit – après avoir porté à leur attention
qu'il ne leur appartenait pas de décider du verrouillage de la porte – ils
étaient capables de trouver un compromis. Mais le problème, c'est que les
-gens ne prennent pas la peine d'y penser. Ils se disent : « Cette salle est
-à moi, je peux la fermer à clé, que les autres aillent au diable ! » C'est
+gens ne prennent pas la peine d'y penser. Ils se disent : « Cette salle est
+à moi, je peux la fermer à clé, que les autres aillent au diable ! » C'est
précisément cette attitude que nous devons leur désapprendre.</p>
<p>Mais cette habitude de déverrouiller les portes n'était pas un comportement
@@ -99,7 +119,7 @@ ce qu'elles sont en train de faire et des personnes qui prennent ça juste
pour un boulot. Si c'est juste un boulot, qu'importe si les gens qui vous
ont embauché sont assez stupides pour vous obliger à attendre sans rien
faire. C'est leur temps, leur argent, mais pas grand-chose ne se fait dans
-un endroit comme ça ; ce n'est pas drôle d'être dans un endroit comme ça.</p>
+un endroit comme ça ; ce n'est pas drôle d'être dans un endroit comme ça.</p>
<p>Une autre chose que nous n'avions pas au labo d'IA, c'était la protection
des fichiers. Il n'y avait aucune sécurité sur l'ordinateur, et c'était une
@@ -120,14 +140,14 @@ faire.</p>
<p>Et nous ne laissions pas non plus de professeur, ni de patron, décider quel
devait être notre prochain travail, parce que notre travail c'était
-d'améliorer le système ! Nous parlions aux utilisateurs évidemment ; si vous
+d'améliorer le système ! Nous parlions aux utilisateurs évidemment ; si vous
ne faites pas ça, vous ne pouvez pas savoir ce dont ils ont besoin. Mais
ensuite, nous étions les seuls, les plus aptes à savoir quelles sortes
d'améliorations étaient possibles. Et nous discutions toujours entre nous
pour savoir comment nous voulions voir le système évoluer, quelles idées
astucieuses nous avions vues dans d'autres systèmes et pourrions
utiliser. Ainsi au final, nous avions une anarchie qui fonctionnait sans
-à-coups ; d'après mon expérience là-bas, je suis convaincu que c'est la
+à-coups ; d'après mon expérience là-bas, je suis convaincu que c'est la
meilleure façon de vivre.</p>
<p>Malheureusement le labo d'IA, tel qu'il était à cette époque, a été
@@ -140,7 +160,7 @@ continuellement d'annexer le labo d'IA. Personne ne voulait faire les choses
d'autres choses dans le style.</p>
<p>Mais ce danger, nous avons réussi à le repousser pour être en fin de compte
-détruits par une chose que nous n'avions pas prévue : l'esprit
+détruits par une chose que nous n'avions pas prévue : l'esprit
commercial. Vers le début des années 80, les hackers ont soudain compris que
ce qu'ils faisaient avait désormais un intérêt commercial. Il était possible
de devenir riche en travaillant pour une société privée. Il leur suffisait
@@ -183,8 +203,8 @@ de maintenance le fassent, ça aurait pris des jours. Et on ne voulait pas de
chose réparaient très vite, puisqu'ils étaient dix fois plus compétents que
n'importe quel technicien. Ils pouvaient faire un bien meilleur travail. Et
une fois qu'ils avaient démonté les circuits défectueux, il leur suffisait
-de les mettre de côté et d'appeler le technicien : « Reprenez-les et
-ramenez-nous-en des neufs. »</p>
+de les mettre de côté et d'appeler le technicien : « Reprenez-les et
+ramenez-nous-en des neufs. »</p>
<p>À la belle époque, nos hackers avaient également l'habitude de modifier les
machines qui venaient de Digital. Par exemple, ils ont construit des boîtes
@@ -202,17 +222,17 @@ mémoire qui permettaient d'affecter individuellement chaque périphérique
matériel à une tâche en temps partagé, et des tas d'autres trucs dont j'ai à
peine entendu parler. Je pense qu'ils ont également rajouté une sorte de
mode d'adressage étendu, des registres d'indexation ainsi que l'adressage
-indirect ; en somme ils ont transformé une toute petite machine en une
+indirect ; en somme ils ont transformé une toute petite machine en une
machine à peu près correcte.</p>
<p>Je suppose que c'est l'un des inconvénients de la <abbr title="Very Large
-Scale Integration">VLSI</abbr> (intégration à très grande échelle) : il
+Scale Integration">VLSI</abbr> (intégration à très grande échelle) : il
n'est plus vraiment pratique d'ajouter des instructions sur vos machines.</p>
-<p>Le PDP-1 avait une caractéristique très intéressante : il était possible
+<p>Le PDP-1 avait une caractéristique très intéressante : il était possible
d'écrire des programmes intéressants avec un très petit nombre
d'instructions, moins qu'aucune autre machine construite depuis. Je crois
-par exemple que le célèbre hack d'affichage <i>munching squares</i> (lit. :
+par exemple que le célèbre hack d'affichage <i>munching squares</i> (lit. :
grignotage de carrés) – qui traçait des carrés qui grandissaient puis se
brisaient en une multitude de petits carrés qui devenaient plus grands et se
brisaient en petits carrés – cela a été écrit en quelque chose comme cinq
@@ -220,7 +240,7 @@ instructions sur le PDP-1. Et beaucoup d'autres beaux programmes d'affichage
ont pu être écrits ainsi avec un très petit nombre d'instructions.</p>
<p>Voilà donc ce qu'était le labo d'IA. Mais c'était quoi la culture des
-hackers, hormis leur anarchisme ? Au temps du PDP-1, la machine ne pouvait
+hackers, hormis leur anarchisme ? Au temps du PDP-1, la machine ne pouvait
être utilisée que par une personne à la fois, du moins au début. Plusieurs
années après, ils ont écrit un système fonctionnant en temps partagé et ils
ont rajouté pas mal de matériel pour ça. Mais au début, on pouvait seulement
@@ -233,7 +253,7 @@ le temps partagé, il était toujours plus facile d'avoir du temps la nuit, on
pouvait avoir plus de cycles parce qu'il y avait peu d'utilisateurs. Aussi
ceux qui voulaient abattre beaucoup de travail continuaient à venir la
nuit. Mais ça a commencé à changer parce qu'on n'était pas seul, il y avait
-là quelques autres hackers ; ainsi c'est devenu un phénomène social. Si vous
+là quelques autres hackers ; ainsi c'est devenu un phénomène social. Si vous
entriez pendant la journée, vous pouviez vous attendre à trouver des
professeurs et des étudiants qui n'étaient pas des fans de la machine, alors
que si vous veniez la nuit vous trouviez des hackers. Par conséquent, les
@@ -256,23 +276,23 @@ raison ou une autre, je n'avais pas d'appartement et j'y habitais quelques
mois. Et j'ai toujours trouvé que c'était très confortable, sans compter que
c'était sympa et frais en été. Mais il n'était pas rare du tout de tomber
sur des gens qui s'étaient endormis au labo, toujours à cause de leur
-enthousiasme : vous restez le plus longtemps possible à hacker parce que
+enthousiasme : vous restez le plus longtemps possible à hacker parce que
vous ne voulez pas vous arrêter, et une fois que vous êtes complètement
épuisé, vous escaladez la surface horizontale souple la plus proche. Une
ambiance vraiment sans cérémonie.</p>
<p>Mais quand les hackers sont tous partis du labo, ça a causé un changement
démographique parce que les professeurs et les étudiants qui n'étaient pas
-vraiment des fans de la machine étaient aussi nombreux qu'auparavant ;
+vraiment des fans de la machine étaient aussi nombreux qu'auparavant ;
maintenant ils représentaient la majorité. Et ils ont vraiment eu peur. Sans
-hacker pour entretenir le système, ils se sont dit : « Ça va être un
+hacker pour entretenir le système, ils se sont dit : « Ça va être un
désastre, il nous faut du logiciel commercial. Comme ça, nous pourrons
-compter sur la maintenance de l'entreprise. » La suite prouva qu'ils avaient
+compter sur la maintenance de l'entreprise. » La suite prouva qu'ils avaient
absolument tort, mais c'est ce qu'ils ont fait.</p>
<p>C'était exactement au moment où ils devaient recevoir un nouvel ordinateur,
-le KL-10, et la question s'est alors posée : faut-il qu'il fonctionne avec
-ITS ou bien Twenex, le système de Digital ? Une fois les hackers partis
+le KL-10, et la question s'est alors posée : faut-il qu'il fonctionne avec
+ITS ou bien Twenex, le système de Digital ? Une fois les hackers partis
– ils auraient sans doute poussé à utiliser le leur – les universitaires ont
choisi d'utiliser le logiciel commercial et cela eut plusieurs effets
immédiats. Certains n'ont pas été vraiment immédiats, mais ils en ont
@@ -290,14 +310,13 @@ quelqu'un a envoyé une demande d'assistance en utilisant Macsyma. Macsyma
est un programme d'algèbre symbolique qui a été développé au MIT. Il a
envoyé une demande d'assistance à l'une des personnes qui travaillait dessus
et a obtenu une réponse quelques heures plus tard de la part de quelqu'un
-d'autre. Il était horrifié. Il a envoyé le message suivant : « Untel doit
+d'autre. Il était horrifié. Il a envoyé le message suivant : « Untel doit
lire votre courrier, les fichiers de courrier ne sont peut-être pas
-correctement protégés sur votre système ? » – « Naturellement, aucun dossier
-n'est protégé sur notre système. Où est le problème ? Vous avez obtenu votre
-réponse plus tôt, de quoi vous plaignez-vous ? Évidemment nous lisons le
+correctement protégés sur votre système ? » – « Naturellement, aucun dossier
+n'est protégé sur notre système. Où est le problème ? Vous avez obtenu votre
+réponse plus tôt, de quoi vous plaignez-vous ? Évidemment nous lisons le
courrier de tout le monde, comme ça nous pouvons tomber sur des personnes
-comme vous et les aider. » Certaines personnes ne connaissent pas leur
-bonheur.</p>
+comme vous et les aider. » Certains ne connaissent pas leur bonheur.</p>
<p>Bien sûr, Twenex n'est pas seulement muni d'une sécurité – et par défaut la
sécurité est activée – mais il est également conçu en partant de l'hypothèse
@@ -314,7 +333,7 @@ désactiver la sécurité de Twenex pour avoir ce qu'on voulait. Et il n'y
avait plus les hackers pour faire les changements nécessaires à
l'introduction de ces autres mécanismes. Aussi les gens ont-ils été obligés
de travailler avec la sécurité. Et la machine était là depuis six mois à peu
-près, quand il a commencé à y avoir quelques « coups d'État ». Au début nous
+près, quand il a commencé à y avoir quelques « coups d'État ». Au début nous
avons supposé que tous ceux qui travaillaient pour le labo allaient avoir le
<i>wheel bit</i><a id="TransNote3-rev" href="#TransNote3"><sup>3</sup></a>
qui leur donnerait les pleins pouvoirs pour désactiver la sécurité, mais
@@ -332,9 +351,9 @@ peu partout. J'ai fouillé dans le moniteur pendant un moment et j'ai compris
à la fin comment faire pour qu'il se charge et que je puisse le patcher. De
sorte que j'ai pu bloquer le contrôle des mots de passe et ainsi redonner
leur <i>wheel bit</i> à plein de gens. Puis j'ai laissé un message
-système. Le nom de cette machine était OZ et le message disait : « Il y a eu
+système. Le nom de cette machine était OZ et le message disait : « Il y a eu
une nouvelle tentative de prise du pouvoir, jusqu'ici les forces
-aristocratiques sont battues – <i>Radio Free OZ</i> (la radio libre d'Oz). »
+aristocratiques sont battues – <i>Radio Free OZ</i> (la radio libre d'Oz). »
Plus tard j'ai découvert que <i>Radio Free OZ</i> est l'une des expressions
utilisées par le <i>Firesign Theater</i>. Je ne le savais pas à ce
moment-là.</p>
@@ -350,14 +369,14 @@ passe. Je dois toujours veiller à avoir un mot de passe aussi évident que
possible et le dire à tout le monde. Puisque je ne crois pas qu'il soit
vraiment souhaitable d'avoir une sécurité sur un ordinateur, je ne dois pas
aider au maintien du régime de sécurité. Sur les systèmes qui le permettent,
-j'utilise un « mot de passe vide » et sur des systèmes où cela n'est pas
+j'utilise un « mot de passe vide » et sur des systèmes où cela n'est pas
permis (où cela signifie que vous ne pouvez pas ouvrir de session de
l'extérieur, des choses comme ça), j'utilise mon nom d'utilisateur comme mot
de passe. C'est aussi évident que possible. Et quand les gens me font
remarquer que de cette manière on peut ouvrir une session sous mon nom, je
-réponds : « Oui, c'est ça l'idée, quelqu'un pourrait avoir besoin de
+réponds : « Oui, c'est ça l'idée, quelqu'un pourrait avoir besoin de
certaines données sur cette machine. Je veux m'assurer qu'elles ne se feront
-pas avoir par la sécurité. »</p>
+pas avoir par la sécurité. »</p>
<p>Et une autre chose que je fais toujours, c'est de désactiver la protection
sur mon répertoire et mes dossiers. Parce que de temps en temps j'y stocke
@@ -365,11 +384,11 @@ des programmes utiles et s'il y a un bogue je veux que les gens puissent le
corriger.</p>
<p>Mais cette machine n'avait pas non plus été conçue pour gérer un phénomène
-appelé « tourisme ». Le tourisme était une très vieille tradition du labo
+appelé « tourisme ». Le tourisme était une très vieille tradition du labo
d'IA qui allait avec nos autres conceptions de l'anarchie. Elle disait que
nous devions laisser les gens de l'extérieur utiliser la machine. À l'époque
où n'importe qui pouvait venir se connecter à ce qui lui plaisait, c'était
-automatique : comme visiteur, vous pouviez ouvrir une session pour
+automatique : comme visiteur, vous pouviez ouvrir une session pour
travailler. Plus tard nous avons plus ou moins formalisé ça comme une
tradition établie, particulièrement quand l'Arpanet s'est mis en place et
que les gens ont commencé à se connecter à nos machines à partir de
@@ -378,10 +397,10 @@ personnes apprendraient vraiment à programmer et qu'elles commenceraient à
modifier le système d'exploitation. Si vous disiez ça à un administrateur
système n'importe où ailleurs, il serait horrifié. Si vous lui proposiez
l'idée que n'importe quel étranger puisse utiliser la machine, il
-répondrait : « Et s'il commence à modifier nos programmes ? » Mais pour
+répondrait : « Et s'il commence à modifier nos programmes ? » Mais pour
nous, si un étranger commençait à modifier les programmes, cela signifiait
qu'il montrait un intérêt réel à devenir un membre contributif de la
-communauté. Nous encouragions toujours les gens à le faire ; à commencer,
+communauté. Nous encouragions toujours les gens à le faire ; à commencer,
naturellement, par écrire de nouveaux utilitaires, des petits. Nous jetions
un œil sur ce qu'ils avaient fait et nous le corrigions. Ils en arrivaient
alors à ajouter des fonctionnalités à de grands utilitaires existants. Et ce
@@ -393,14 +412,14 @@ l'un après l'autre, ajoutent de nouvelles fonctionnalités.</p>
des bâtiments extrêmement anciens avec des rajouts construits des centaines
d'années plus tard, jusqu'à aujourd'hui. Dans le domaine de l'informatique,
un programme qui a été commencé en 1965, c'est à peu près ça. Ainsi nous
-espérions toujours que des touristes deviendraient mainteneurs du système ;
+espérions toujours que des touristes deviendraient mainteneurs du système ;
et peut-être qu'ensuite ils allaient être embauchés, après avoir commencé à
travailler sur les programmes du système et nous avoir montré qu'ils étaient
capables de faire du bon travail.</p>
<p>Mais il y avait sur les machines ITS certains autres dispositifs qui
aidaient à éviter que ça nous échappe. L'un d'entre eux était un dispositif
-« espion » où tout le monde pouvait observer ce que chacun faisait. Et
+« espion » où tout le monde pouvait observer ce que chacun faisait. Et
naturellement les touristes adoraient espionner. Ils pensaient que c'était
super. C'était un peu méchant, voyez-vous, mais le résultat, c'était que si
un touriste commençait à faire un truc à problème, il y avait toujours
@@ -418,10 +437,10 @@ la suite ils ne m'ont plus toléré, moi et mon mot de passe que tout le monde
connaissait. Les touristes n'arrêtaient pas d'ouvrir des sessions sous mon
nom, à deux ou trois à la fois, et ont commencé à vider mon compte. À ce
moment-là de toute façon, je travaillais le plus souvent sur d'autres
-machines ; si bien que finalement je l'ai abandonné et cessé à tout jamais
+machines ; si bien que finalement je l'ai abandonné et cessé à tout jamais
de le réactiver. C'est tout. Je ne me suis pas connecté sur cette machine
-sous mon nom pendant&hellip; [à ce moment-là, RMS est interrompu par un
-tonnerre d'applaudissements]</p>
+sous mon nom pendant&hellip; <span>[À ce moment-là, RMS est interrompu par
+un tonnerre d'applaudissements.]</span></p>
<p>Quand ils ont installé le système Twenex, ils avaient à l'esprit d'y faire
plusieurs changements, des changements dans le fonctionnement de la
@@ -438,23 +457,23 @@ moyens de les attirer. Et de nos jours au MIT, il y a davantage de gens que
ça intéresse de hacker ITS que Twenex.</p>
<p>La dernière raison de cet état de fait, c'est que Twenex ne pouvait pas être
-partagé. Twenex est un programme propriétaire : vous n'avez le droit d'avoir
+partagé. Twenex est un programme propriétaire : vous n'avez le droit d'avoir
les sources que si vous les gardez secrètes par des moyens très
déplaisants. Et ça leur donne mauvais goût, à moins d'être inconscient comme
le sont certains en informatique (il y en a qui feront n'importe quoi si
c'est amusant pour eux et ne penseront pas une minute à coopérer avec qui
-que ce soit ; mais il faut être franchement ailleurs pour ne pas remarquer à
+que ce soit ; mais il faut être franchement ailleurs pour ne pas remarquer à
quel point c'est triste de travailler comme ça sur un programme, comme c'est
décourageant). Et comme si ce n'était pas suffisant, chaque année ils vous
donnent une nouvelle version remplie d'une cinquantaine de milliers de
lignes de code supplémentaires, toutes écrites par des singes. Parce qu'ils
-suivent généralement une école de programmation système du genre « un
+suivent généralement une école de programmation système du genre « un
million de singes tapant sur une machine à écrire finiront bien un jour par
-sortir quelque chose d'utile ».</p>
+sortir quelque chose d'utile ».</p>
<p>Il était clair pour moi, après avoir vu ce qui arrivait à ces systèmes
propriétaires, que la seule façon de conserver l'esprit du vieux labo d'IA
-était d'avoir un système d'exploitation libre ; d'avoir un système fait de
+était d'avoir un système d'exploitation libre ; d'avoir un système fait de
logiciel libre pouvant être partagé avec n'importe qui, de façon à pouvoir
inviter tout le monde à collaborer à son amélioration. Et c'est ce qui a
conduit au projet GNU. Ainsi j'estime que nous sommes arrivés à la deuxième
@@ -463,7 +482,7 @@ partie de la conférence.</p>
<p>Il y a environ trois ans et demi, il m'est apparu comme une évidence que je
devais commencer à développer un système constitué de <a
href="/philosophy/free-sw.html">logiciel libre</a>. J'envisageais deux types
-de systèmes : le premier, pratiquement identique au système de machine Lisp
+de systèmes : le premier, pratiquement identique au système de machine Lisp
du MIT, mais libre et fonctionnant sur tout type de matériel, pas seulement
sur les machines Lisp spécialisées, et l'autre, un logiciel d'exploitation
plus conventionnel. Et il était clair pour moi que si je faisais un logiciel
@@ -477,7 +496,7 @@ pour obtenir à la fois une bonne vitesse d'exécution et une détection
robuste des erreurs pendant le temps d'exécution, en particulier les erreurs
sur le type des données. Pour qu'un système Lisp puisse fonctionner assez
rapidement sur du matériel ordinaire, on doit commencer par faire des
-suppositions, supposer que tel argument est du type voulu ; ensuite, si ce
+suppositions, supposer que tel argument est du type voulu ; ensuite, si ce
n'est pas le cas, le système se plante.</p>
<p>Naturellement on peut mettre des contrôles explicites, on peut écrire un
@@ -491,7 +510,7 @@ garder le système en état de marche et de déboguer les problèmes
éventuels. J'en suis arrivé à la conclusion que si je devais avoir un
système d'exploitation de bas niveau, je pouvais tout aussi bien faire un
bon système d'exploitation – le choix était entre un système d'exploitation
-plus le Lisp, et juste un système d'exploitation ; donc je devais faire le
+plus le Lisp, et juste un système d'exploitation ; donc je devais faire le
système d'exploitation d'abord et le rendre compatible avec Unix. Enfin,
quand j'ai réalisé que je pouvais utiliser le plus drôle des mots anglais
pour nommer ce système, le choix était clair. Et ce mot est bien sûr GNU,
@@ -513,11 +532,11 @@ Compiler Kit</i>, qui était intéressant, et j'ai pensé qu'avec un nom pareil
je pourrais peut-être l'avoir.<a id="TransNote5-rev"
href="#TransNote5"><sup>5</sup></a> Alors j'ai envoyé un message à son
développeur en lui demandant s'il acceptait de le donner au projet GNU. Et
-il a dit « Non, l'université est peut-être libre, mais le logiciel qu'elle
-développe ne l'est pas », mais il a ajouté qu'il voulait aussi avoir un
+il a dit « Non, l'université est peut-être libre, mais le logiciel qu'elle
+développe ne l'est pas », mais il a ajouté qu'il voulait aussi avoir un
système compatible avec Unix et qu'il voulait écrire une sorte de noyau pour
lui, alors pourquoi est-ce que je n'écrirais pas les utilitaires, comme ça
-les deux pourraient être distribués avec son compilateur propriétaire ? Ça
+les deux pourraient être distribués avec son compilateur propriétaire ? Ça
encouragerait les gens à l'acheter. J'ai pensé que c'était ignoble, alors je
lui ai dit que mon premier projet serait de faire un compilateur.</p>
@@ -525,23 +544,23 @@ lui ai dit que mon premier projet serait de faire un compilateur.</p>
compilateurs à cette époque parce que je n'avais jamais travaillé
dessus. Mais j'ai mis la main sur un compilateur dont on m'avait dit qu'il
était libre. C'était un compilateur appelé Pastel dont les auteurs disaient
-que c'était du « Pascal mal fichu ».</p>
+que c'était du « Pascal mal fichu ».</p>
<p>Le Pastel est un langage très compliqué comprenant des fonctionnalités comme
des types paramétrés et des paramètres de types explicites et beaucoup de
choses compliquées. Le compilateur naturellement était écrit dans ce langage
et comportait nombre de fonctionnalités compliquées pour optimiser
-l'utilisation de ces éléments. Par exemple : le type <i>string</i> dans ce
-langage était un type paramétré ; vous pouviez dire <code>string(n)</code>
-si vous vouliez une chaîne d'une longueur particulière ; vous pouviez
+l'utilisation de ces éléments. Par exemple : le type <i>string</i> dans ce
+langage était un type paramétré ; vous pouviez dire <code>string(n)</code>
+si vous vouliez une chaîne d'une longueur particulière ; vous pouviez
également juste dire <code>string</code>, et le paramètre était déterminé à
partir du contexte. Cela dit, les chaînes sont très importantes et sont
nécessaires à beaucoup de constructions qui les utilisent pour fonctionner
rapidement. Et ça veut dire qu'on avait besoin de beaucoup de
-fonctionnalités pour détecter des choses comme : lorsque la longueur
+fonctionnalités pour détecter des choses comme : lorsque la longueur
déclarée d'une chaîne est un argument dont on sait qu'il est constant dans
toute la fonction, sauvegarder la valeur et optimiser le code qu'elle va
-produire ; beaucoup de choses compliquées. Mais j'ai pu voir dans ce
+produire ; beaucoup de choses compliquées. Mais j'ai pu voir dans ce
compilateur comment procéder à l'allocation automatique de registre et
glaner quelques idées sur la façon de gérer différents types de machines.</p>
@@ -551,13 +570,13 @@ d'ajouter une sortie pour le 68000 qui devait être ma première cible. Mais
j'allais vers un sérieux problème. Puisque le langage Pastel était conçu de
manière à ne pas avoir besoin de déclarer quoi que ce soit avant de
l'utiliser, la déclaration d'une variable et son usage pouvaient se faire
-dans n'importe quel ordre ; en d'autres termes, la déclaration
+dans n'importe quel ordre ; en d'autres termes, la déclaration
<code>forward</code> du Pascal était obsolète. Pour cette raison il fallait
lire le programme dans son intégralité, le garder en mémoire centrale
<i>[core]</i> et le compiler d'une traite. Le résultat, c'était que le
stockage intermédiaire utilisé par le compilateur, ou plutôt la taille de la
mémoire requise, était proportionnel à la taille de votre fichier. Et il
-fallait aussi compter avec l'espace de pile ; vous aviez besoin d'une
+fallait aussi compter avec l'espace de pile ; vous aviez besoin d'une
quantité gigantesque d'espace de pile. J'en ai conclu que le système 68000
dont je disposais ne pouvait pas faire fonctionner ce compilateur. Car
c'était une horrible version d'Unix qui vous limitait à quelque chose comme
@@ -611,8 +630,8 @@ immédiatement pour pouvoir réaliser mon projet. J'avais déjà pensé
auparavant à remplacer éventuellement Mocklisp par le vrai Lisp, mais ce que
j'ai découvert, c'est qu'il fallait le faire dès le début. Maintenant, la
raison pour laquelle Mocklisp s'appelle <i>mock</i> (faux), c'est qu'il n'a
-aucune sorte de structure pour les types de données : il n'y a pas les
-listes Lisp ; il n'y a aucune sorte de tableau ; il n'y a pas non plus les
+aucune sorte de structure pour les types de données : il n'y a pas les
+listes Lisp ; il n'y a aucune sorte de tableau ; il n'y a pas non plus les
symboles Lisp, qui sont des objets nommés (à chaque nom particulier
correspond un seul objet de manière que la saisie du nom se rapporte
toujours au même objet, sinon ça entrave considérablement l'écriture de pas
@@ -634,7 +653,7 @@ me faire réécrire à peu près tout ce qu'il y avait dans l'éditeur.</p>
<p>En outre, du fait qu'il est vraiment difficile d'écrire en Mocklisp, rien
n'était écrit proprement. Et en le réécrivant, je pouvais tirer profit de la
-puissance du vrai Lisp ; je pouvais rendre tout ça beaucoup plus puissant,
+puissance du vrai Lisp ; je pouvais rendre tout ça beaucoup plus puissant,
beaucoup plus simple et rapide. C'est ce que j'ai fait. Et quand j'ai
commencé à distribuer le programme, il ne restait qu'une petite partie de ce
que j'avais reçu.</p>
@@ -646,7 +665,7 @@ a nié lui avoir donné cette permission. Une chose étrange s'est alors
produite. Il était en pourparlers avec cette société qui semblait surtout
vouloir éviter qu'il ne distribue quelque chose d'analogue à ce qu'elle-même
distribuait. Voyez-vous, Gosling continuait à distribuer ce qu'il m'avait
-donné et la société pour laquelle il travaillait, Megatest, également ; il
+donné et la société pour laquelle il travaillait, Megatest, également ; il
s'agissait en réalité d'une ancienne version de l'Emacs de Gosling, avec ses
modifications. Il allait donc faire un accord avec eux dans lequel il
cesserait de le distribuer, et passer ensuite à GNU Emacs. Ils
@@ -668,12 +687,12 @@ propriétaires couverts par le secret industriel et de commencer à en
distribuer des copies à tous les coins de rue, ce qui les ferait sortir du
secret. Peut-être que ce serait une manière beaucoup plus efficace de
fournir aux gens de nouveaux logiciels libres, que de les écrire
-effectivement moi-même ; mais tout le monde serait trop lâche pour ne
+effectivement moi-même ; mais tout le monde serait trop lâche pour ne
serait-ce qu'y toucher.)</p>
<p>Donc ça m'a obligé à réécrire tout ce qui restait qui n'était pas de moi, ce
que j'ai fait. Il m'a fallu environ une semaine et demie. Quelle victoire
-pour eux ! Il était certain qu'après ça ils n'obtiendraient jamais plus
+pour eux ! Il était certain qu'après ça ils n'obtiendraient jamais plus
aucune collaboration de ma part.</p>
<p>Une fois que GNU Emacs a été raisonnablement stable – ce qui m'a pris
@@ -685,7 +704,7 @@ l'Unix de Berkeley. Les commandes se composent d'un mot indiquant ce que
vous voulez faire, suivi des arguments. Dans ce programme, toutes les
commandes peuvent être abrégées. Les commandes courantes ont des
abréviations d'un seul caractère, mais toute abréviation d'un seul caractère
-est permise. La fonction « aide » est très fournie : vous pouvez taper
+est permise. La fonction « aide » est très fournie : vous pouvez taper
<code>help</code> suivi de n'importe quelle commande, y compris des
commandes secondaires, et vous obtenez une description complète de la façon
de l'utiliser. Naturellement vous pouvez taper n'importe quelle expression
@@ -696,23 +715,23 @@ symbolique. Par exemple, vous pouvez vous référer à n'importe quel type de
donnée C à n'importe quelle adresse de mémoire pour en examiner la valeur ou
pour lui affecter une valeur. Supposons que vous vouliez stocker un nombre
en virgule flottante dans un mot à une certaine adresse. Vous devez juste
-dire : « Donne-moi l'objet de type <i>float</i> ou <i>double</i> à cette
-adresse et ensuite affecte-lui cette valeur. » Une autre chose que vous
+dire : « Donne-moi l'objet de type <i>float</i> ou <i>double</i> à cette
+adresse et ensuite affecte-lui cette valeur. » Une autre chose que vous
pouvez faire est d'examiner toutes les valeurs qui ont été examinées
-auparavant. Chaque valeur examinée se place sur la pile de l'« historique
-des valeurs ». Vous pouvez vous référer à n'importe quel élément par sa
+auparavant. Chaque valeur examinée se place sur la pile de l'« historique
+des valeurs ». Vous pouvez vous référer à n'importe quel élément par sa
position dans l'historique, ou bien vous pouvez facilement vous référer au
dernier élément, juste avec le signe dollar. Ça facilite le suivi de la
structure des listes. Si une structure C quelconque contient un pointeur
vers une autre structure, vous pouvez faire quelque chose comme
-<code>print*$.next</code> qui veut dire : « Prends le champ suivant dans la
+<code>print*$.next</code> qui veut dire : « Prends le champ suivant dans la
dernière chose que tu m'as montrée, puis affiche la structure sur laquelle
-il pointe ». En répétant cette commande, on voit l'une après l'autre les
+il pointe ». En répétant cette commande, on voit l'une après l'autre les
structures sur lesquelles pointe la liste, alors qu'avec chacun des autres
débogueurs C que j'ai vus, la seule manière de faire ça est de taper une
commande de plus en plus longue. Et quand c'est combiné à une fonctionnalité
-qui fait qu'« Entrée » rappelle la dernière commande, ça devient très
-pratique. Vous avez juste à taper « Entrée » pour chaque élément de la liste
+qui fait qu'« Entrée » rappelle la dernière commande, ça devient très
+pratique. Vous avez juste à taper « Entrée » pour chaque élément de la liste
que vous voulez voir.</p>
<p>Vous pouvez aussi définir des variables de façon explicite dans le
@@ -725,8 +744,8 @@ souvenir de son numéro dans l'historique vous pouvez lui donner un nom. Vous
pouvez aussi utiliser ces variables quand vous placez des paliers
<i>[breakpoints]</i> conditionnels. Les paliers conditionnels sont une
fonctionnalité qui existe dans beaucoup de débogueurs symboliques. Vous
-dites : « Fais une pause quand tu seras arrivé à cet endroit du programme,
-mais seulement si une certaine expression est vraie. » Les variables du
+dites : « Fais une pause quand tu seras arrivé à cet endroit du programme,
+mais seulement si une certaine expression est vraie. » Les variables du
débogueur vous permettent de comparer une variable du programme à sa
précédente valeur sauvegardée dans la variable du débogueur. Une autre chose
à laquelle elles peuvent servir, c'est à compter. Parce qu'après tout, les
@@ -735,40 +754,39 @@ faire <code>$foo+=5</code> pour incrémenter la valeur <code>$foo</code>
de 5, ou juste <code>$foo++</code>. Vous pouvez également le faire lors d'un
palier conditionnel. Une manière économe de faire une pause dans le
programme la dixième fois que le palier est atteint, serait de faire
-<code>$foo--==0</code>. Est-ce que tout le monde suit ? Faire décroître
-<code>foo</code> et une fois qu'il est à zéro, pause. Vous faites démarrer
-<code>$foo</code> au nombre de boucles que vous voulez qu'il saute et vous
-le lâchez. Vous pouvez aussi utiliser ça pour examiner les éléments d'un
-tableau. Supposez que vous ayez un tableau de pointeurs, vous pouvez faire :</p>
-
-<pre>print X[$foo++]</pre>
-
-<p>mais d'abord vous faites</p>
-
-<pre>set $foo=0</pre>
-
-<p>OK, quand vous faites ça [il montre l'expression <code>print</code>], vous
-obtenez l'élément zéro de X et quand vous le faites à nouveau, il atteint le
-premier élément. Supposez que ce soient des pointeurs vers des structures,
-alors vous mettez probablement un astérisque là [avant le X dans
-l'expression <code>print</code>] et à chaque fois, il affiche la structure
-sur laquelle pointe l'élément suivant du tableau. Et bien sûr vous pouvez
-répéter cette commande en tapant « Entrée ». Si ce n'est pas suffisant de
-répéter une seule chose, vous pouvez créer une « commande
-utilisateur ». Vous pouvez dire <code>define mumble</code>, vous mettez
-quelques lignes de commandes puis <code>end</code>. Vous venez ainsi de
-définir une commande <code>mumble</code> qui exécutera ces lignes. Et il est
-très utile de mettre ces définitions dans un fichier de commandes. Vous
-pouvez avoir un fichier de commandes dans chaque répertoire qui sera chargé
-automatiquement en tant que répertoire actif lorsque vous lancerez le
-débogueur. Ainsi pour chaque programme, vous pouvez définir un ensemble de
-commandes utilisateur pour accéder efficacement aux structures. Vous pouvez
-même fournir de la documentation pour vos commandes, de façon qu'elles
-soient traitées par la fonction <code>help</code> comme des commandes
-intégrées.</p>
+<code>$foo--==0</code>. Est-ce que tout le monde suit ? Faire décroître foo
+et une fois qu'il est à zéro, pause. Vous faites démarrer <code>$foo</code>
+au nombre de boucles que vous voulez qu'il saute et vous le lâchez. Vous
+pouvez aussi utiliser ça pour examiner les éléments d'un tableau. Supposez
+que vous ayez un tableau de pointeurs, vous pouvez faire :</p>
+
+<pre><code>PRINT X[$foo++]</code></pre>
+
+<p>Mais d'abord vous faites</p>
+
+<pre><code>SET $foo=0</code></pre>
+
+<p>OK, quand vous faites ça [il montre l'expression PRINT], vous obtenez
+l'élément zéro de X et quand vous le faites à nouveau, il atteint le premier
+élément. Supposez que ce soient des pointeurs vers des structures, alors
+vous mettez probablement un astérisque là [avant le X dans l'expression
+PRINT] et à chaque fois, il affiche la structure sur laquelle pointe
+l'élément suivant du tableau. Et bien sûr vous pouvez répéter cette commande
+en tapant « Entrée ». Si ce n'est pas suffisant de répéter une seule chose,
+vous pouvez créer une « commande utilisateur ». Vous pouvez dire
+<code>define mumble</code>, vous mettez quelques lignes de commandes puis
+<code>end</code>. Vous venez ainsi de définir une commande
+<code>mumble</code> qui exécutera ces lignes. Et il est très utile de mettre
+ces définitions dans un fichier de commandes. Vous pouvez avoir un fichier
+de commandes dans chaque répertoire qui sera chargé automatiquement en tant
+que répertoire actif lorsque vous lancerez le débogueur. Ainsi pour chaque
+programme, vous pouvez définir un ensemble de commandes utilisateur pour
+accéder efficacement aux structures. Vous pouvez même fournir de la
+documentation pour vos commandes, de façon qu'elles soient traitées par la
+fonction <code>help</code> comme des commandes intégrées.</p>
<p>Une autre chose peu habituelle dans ce débogueur, c'est la capacité
-d'écarter des cadres <i>[frames]</i> de la pile ; parce que je crois que
+d'écarter des cadres <i>[frames]</i> de la pile ; parce que je crois que
c'est important, non seulement pour pouvoir examiner ce qui se produit dans
le programme que vous déboguez, mais aussi pour le modifier de toutes les
façons possibles. De sorte qu'après avoir trouvé un problème et avoir
@@ -777,39 +795,39 @@ correct et trouver le prochain bogue sans avoir d'abord à recompiler le
programme. Cela signifie non seulement pouvoir changer en souplesse les
zones de données de votre programme, mais également changer le flux de
contrôle. Dans ce débogueur, vous pouvez changer le flux de contrôle très
-directement en disant :</p>
+directement en disant :</p>
-<pre>set $PC=&lt;un certain nombre&gt;</pre>
+<pre><code>SET $PC=&lt;un certain nombre&gt;</code></pre>
<p>Ainsi vous pouvez positionner le compteur ordinal <i>[program
counter]</i>. Vous pouvez également positionner le pointeur de pile
<i>[stack pointer]</i>, ou bien vous pouvez dire</p>
-<pre>set $SP+=&lt;quelque_chose&gt;</pre>
+<pre><code>SET $SP+=&lt;quelque_chose&gt;</code></pre>
<p>si vous voulez incrémenter le pointeur de pile d'une certaine quantité. Mais
en outre, vous pouvez également lui dire de démarrer sur une ligne
-particulière du programme ; vous pouvez placer le compteur ordinal à une
+particulière du programme ; vous pouvez placer le compteur ordinal à une
ligne particulière du code source. Mais que se passe-t-il si vous constatez
que vous avez appelé une fonction par erreur et que vous ne vouliez pas
-appeler cette fonction du tout ? Vous vous dites que cette fonction est trop
+appeler cette fonction du tout ? Vous vous dites que cette fonction est trop
merdique, que vous voulez vraiment en sortir et faire à la main ce qu'elle
devait faire. Pour cela, vous pouvez utiliser la commande
-<code>return</code>. Vous sélectionnez un cadre de la pile et vous dites
-<code>return</code>. Et ça va faire que ce cadre, et tous ceux qui sont à
+<code>RETURN</code>. Vous sélectionnez un cadre de la pile et vous dites
+<code>RETURN</code>. Et ça va faire que ce cadre, et tous ceux qui sont à
l'intérieur, seront abandonnés comme si cette fonction renvoyait
instantanément sa valeur. Vous pouvez aussi spécifier la valeur qu'elle doit
-renvoyer. Ça ne poursuit pas l'exécution ; ça fait comme si la valeur était
-renvoyée et le programme s'arrête à nouveau ; vous pouvez ainsi continuer de
+renvoyer. Ça ne poursuit pas l'exécution ; ça fait comme si la valeur était
+renvoyée et le programme s'arrête à nouveau ; vous pouvez ainsi continuer de
modifier autre chose.</p>
<p>Et si vous combinez tout ça, vous avez pas mal de contrôle sur ce qui se
passe dans un programme.</p>
-<p>Une autre chose assez amusante : C a des constantes qui sont des chaînes de
-caractères <i>[string constants]</i> ; que se passe-t-il si vous utilisez
+<p>Une autre chose assez amusante : C a des constantes qui sont des chaînes de
+caractères <i>[string constants]</i> ; que se passe-t-il si vous utilisez
une constante de ce type dans une expression que vous calculez dans le
-débogueur ? Il faut qu'il crée une chaîne dans le programme que vous
+débogueur ? Il faut qu'il crée une chaîne dans le programme que vous
déboguez. Eh bien, c'est ce qu'il fait. Il crée un appel à
<code>malloc</code> dans le programme débogué, laisse tourner
<code>malloc</code>, puis reprend la main. Ainsi il trouve de façon
@@ -820,12 +838,12 @@ d'y installer des fonctionnalités pour examiner l'ensemble des états
internes du processus tournant en dessous de lui. Par exemple pour examiner
l'état de la topographie mémoire, pour savoir quelles pages existent, si
elles sont lisibles, si elles sont inscriptibles, et pour examiner l'état du
-terminal pour le programme inférieur. Il y a déjà l'ébauche d'une commande ;
+terminal pour le programme inférieur. Il y a déjà l'ébauche d'une commande ;
ce débogueur, à la différence des débogueurs sous Unix, garde l'état du
terminal du débogueur et celui du programme que vous déboguez complètement
séparés. De sorte que ça marche avec les programmes qui tournent en mode
brut et avec ceux qui font des interruptions d'entrées dynamiques
-<i>[interrupt driven input]</i> ; et il y a également une commande qui vous
+<i>[interrupt driven input]</i> ; et il y a également une commande qui vous
permet d'apprendre quelque chose sur les réglages des terminaux que le
programme que vous déboguez utilise réellement. Je crois qu'en général un
débogueur doit vous permettre de découvrir tout qui se passe dans le
@@ -837,21 +855,21 @@ nouveau compilateur C et l'autre le noyau Trix.</p>
<p>J'ai commencé à écrire le nouveau compilateur C cette année, au printemps
dernier. J'ai finalement décidé que je devais me passer de Pastel. Ce
compilateur utilise quelques idées de Pastel et quelques idées de
-« l'optimiseur portable de l'université d'Arizona » <i>[University of
+« l'optimiseur portable de l'université d'Arizona » <i>[University of
Arizona Portable Optimizer]</i>. Ce que ce dernier a d'intéressant, c'est de
gérer plusieurs types différents de machines par des instructions simples et
d'ensuite combiner plusieurs instructions simples dans une seule instruction
compliquée quand la machine cible le permet. Pour que cela reste uniforme,
ils représentent les instructions en notation algébrique. Par exemple,
-l'instruction <code>add</code> peut être représentée comme ceci :</p>
+l'instruction <code>add</code> peut être représentée comme ceci :</p>
<pre>
- r[3]=r[2]+4
+ <code>r[3]=r[2]+4</code>
</pre>
-<p>C'est une représentation interne au compilateur de l'instruction « prendre
+<p>C'est une représentation interne au compilateur de l'instruction « prendre
le contenu du registre n&deg;2, y ajouter 4 et le stocker dans le registre
-n&deg;3 ». De cette façon vous pouvez représenter n'importe quelle
+n&deg;3 ». De cette façon vous pouvez représenter n'importe quelle
instruction pour n'importe quelle machine. C'est donc comme ça qu'ils
représentent toutes les instructions. Quand vient le moment d'essayer de les
combiner, ils le font en substituant une expression dans une autre, ce qui
@@ -859,11 +877,11 @@ donne pour l'instruction combinée une expression algébrique plus compliquée.<
<p>Quelquefois, suivant que le résultat de la première instruction est utile
par la suite, ou pas, il peut être nécessaire de faire une instruction
-combinée avec deux opérateurs d'affectation <i>[assignment]</i> : un pour
-cette valeur [il montre ???] et un autre pour cette valeur [il montre ???] à
+combinée avec deux opérateurs d'affectation <i>[assignment]</i> : un pour
+cette valeur [il montre ???] et un autre pour cette valeur [il montre ???] à
l'intérieur de laquelle est substitué ce qui provient de la deuxième
instruction. Si cette valeur n'est utilisée qu'une fois, vous pouvez
-l'éliminer après l'avoir substituée ; elle n'a pas à entrer dans d'autres
+l'éliminer après l'avoir substituée ; elle n'a pas à entrer dans d'autres
calculs. Donc c'est vraiment assez compliqué de faire ces substitutions
correctement, en vérifiant bien que les instructions intermédiaires ne vont
changer aucune de ces valeurs, ni rien d'autre du même genre. Quand vous
@@ -886,26 +904,26 @@ lent. Au début j'avais l'idée de l'utiliser et d'y apporter des
modifications, mais j'ai compris que je devais le réécrire entièrement pour
obtenir la rapidité que je voulais. En le réécrivant, j'ai fait en sorte de
pouvoir utiliser des représentations de structure de liste pour toutes ces
-expressions ; des choses comme ceci :</p>
+expressions ; des choses comme ceci :</p>
<pre>
- (set (reg 2)
- (+ (reg 2)
- (int 4)))
+ <code>(set (reg 2)</code>
+ <code>(+ (reg 2)</code>
+ <code>(int 4)))</code>
</pre>
<p>Ça ressemble un peu à du Lisp mais la sémantique n'est pas tout à fait la
même, parce que chaque symbole est ici identifié individuellement. Un
ensemble fixe, particulier de ces symboles est défini, tous ceux dont vous
avez besoin, chacun ayant une combinaison particulière de types
-d'arguments. Pour « reg » par exemple, c'est toujours un nombre entier,
-parce que les registres sont numérotés, mais « + » prend deux
-sous-expressions, et ainsi de suite. Et chacune de ces expressions a aussi
-un type de données qui, en gros, indique s'il est fixe ou flottant et
+d'arguments. Pour <code>reg</code> par exemple, c'est toujours un nombre
+entier, parce que les registres sont numérotés, mais <code>+</code> prend
+deux sous-expressions, et ainsi de suite. Et chacune de ces expressions a
+aussi un type de données qui, en gros, indique s'il est fixe ou flottant et
combien d'octets il occupe. Ça peut être étendu pour manipuler d'autres
choses si vous en avez besoin.</p>
-<p>Voilà comment je fais l'allocation automatique de registre : au moment où je
+<p>Voilà comment je fais l'allocation automatique de registre : au moment où je
génère initialement le code, et quand je fais la combinaison et le reste,
pour toute variable qui entre théoriquement dans un registre j'alloue ce que
j'appelle un pseudo-numéro de registre. C'est un nombre qui commence à
@@ -926,10 +944,10 @@ pile. Sur certaines machines, des instructions peuvent devenir invalides
quand ça arrive. Par exemple sur le 68000, on peut ajouter depuis un
registre dans la mémoire et ajouter depuis la mémoire dans un registre mais
pas ajouter depuis une adresse mémoire vers une autre. Par exemple, si lors
-d'une instruction <code>add</code> vous sortez vers un 68000 et que les deux
-éléments se retrouvent dans la mémoire, ce n'est pas valide. Donc ce dernier
-passage examine le tout et copie au besoin des éléments dans les registres
-ou en dehors des registres, pour corriger ce genre de problème.</p>
+d'une instruction ADD vous sortez vers un 68000 et que les deux éléments se
+retrouvent dans la mémoire, ce n'est pas valide. Donc ce dernier passage
+examine le tout et copie au besoin des éléments dans les registres ou en
+dehors des registres, pour corriger ce genre de problème.</p>
<p>Des problèmes peuvent également survenir avec les registres d'index. Si vous
essayez d'indexer par quelque chose, la plupart du temps le code deviendra
@@ -948,24 +966,24 @@ pleinement efficace.</p>
transforme efficacement le code C en arbre syntaxique, annoté d'informations
sur le type de données C. Après ça, un autre passage examine cet arbre et
produit du code comme celui-là [comme du Lisp]. Ensuite viennent plusieurs
-passages d'optimisation : un pour traiter par exemple les sauts à travers
-des sauts, les sauts aboutissant à des sauts, les sauts à .+1 et tout ce qui
-peut être immédiatement simplifié ; puis la reconnaissance des
-sous-expressions communes ; puis la recherche des blocs de base et l'analyse
-du flux de données, afin de pouvoir indiquer pour chaque instruction quelles
-valeurs sont utilisées dans l'instruction et nulle part ailleurs ; et aussi
-la liaison entre chaque instruction et les endroits où les valeurs utilisées
-ont été créées. Ainsi, quand j'ai une instruction qui crée un
-pseudo-registre R[28] et une autre instruction plus tard qui utilise R[28],
-sachant que c'est le premier endroit qui utilise R[28], je fais pointer la
-seconde en arrière sur la première et ce pointeur est celui qui servira pour
-contrôler les essais de combinaison des instructions. Vous ne combinez pas
-des instructions adjacentes, vous combinez une instruction qui utilise une
-valeur avec l'instruction qui a produit cette valeur. Même s'il y a d'autres
-instructions au milieu, elles ne sont pas concernées ; vous avez juste à
-vous assurer qu'elles n'interviennent pas. Et après le combinateur vient
-l'allocateur dynamique de registres, et enfin quelque chose pour faire la
-conversion en code assembleur.</p>
+passages d'optimisation : un pour traiter par exemple les sauts à travers
+des sauts, les sauts aboutissant à des sauts, les sauts à <code>.+1</code>
+et tout ce qui peut être immédiatement simplifié ; puis la reconnaissance
+des sous-expressions communes ; puis la recherche des blocs de base et
+l'analyse du flux de données, afin de pouvoir indiquer pour chaque
+instruction quelles valeurs sont utilisées dans l'instruction et nulle part
+ailleurs ; et aussi la liaison entre chaque instruction et les endroits où
+les valeurs utilisées ont été créées. Ainsi, quand j'ai une instruction qui
+crée un pseudo-registre R[28] et une autre instruction plus tard qui utilise
+R[28], sachant que c'est le premier endroit qui utilise R[28], je fais
+pointer la seconde en arrière sur la première et ce pointeur est celui qui
+servira pour contrôler les essais de combinaison des instructions. Vous ne
+combinez pas des instructions adjacentes, vous combinez une instruction qui
+utilise une valeur avec l'instruction qui a produit cette valeur. Même s'il
+y a d'autres instructions au milieu, elles ne sont pas concernées ; vous
+avez juste à vous assurer qu'elles n'interviennent pas. Et après le
+combinateur vient l'allocateur dynamique de registres, et enfin quelque
+chose pour faire la conversion en code assembleur.</p>
<p>Dans le compilateur d'Arizona, le système de reconnaissance d'instructions a
été créé avec Lex. La description de votre machine est simplement un
@@ -992,7 +1010,7 @@ fait un autre choix, une étape ultérieure aurait été assez intelligente pour
faire encore mieux. Mais l'étape précoce ne sait pas ce que l'étape
ultérieure va faire, donc je dois retravailler certaines choses.</p>
-<p>Parfois ça lui fait libérer des registres inutilement : quand des choses
+<p>Parfois ça lui fait libérer des registres inutilement : quand des choses
atterrissent dans la mémoire et qu'il a besoin de les copier dans des
registres, il faut qu'il trouve des registres. Cela veut dire prendre des
registres déjà alloués et virer les données temporaires des <i>slots</i> de
@@ -1002,9 +1020,9 @@ lui faut tout le temps vérifier. Parfois il pense à tort qu'il devrait
copier des choses dans les registres, alors il arrive qu'il en libère trop
et n'utilise pas tous les registres qu'il pourrait.</p>
-<p>(Question : Avez-vous un générateur de code pour le 32000 ?)<br/><br/>
-Pas encore, mais je le répète, ce n'est pas un générateur de code dont vous
-avez besoin, juste une description de machine, une liste de toutes les
+<p><span>[Question : Avez-vous un générateur de code pour le 32000 ?]</span>Pas
+encore, mais je le répète, ce n'est pas un générateur de code dont vous avez
+besoin, juste une description de machine, une liste de toutes les
instructions de la machine décrites sous cette forme [comme du Lisp]. En
fait, hormis le travail d'implémenter l'idée des contraintes qui déterminent
quels arguments peuvent aller dans les registres et dans quelles sortes de
@@ -1015,19 +1033,19 @@ jours. Donc il est très facile à porter.</p>
<p>Le compilateur produit actuellement du code assembleur et il peut produire
de l'information de débogage, soit dans le format voulu par DBX, soit dans
le format interne spécial à GDB. Je dirais que le seul travail qui reste à
-faire sur ce compilateur se situe à trois niveaux. Un : Je dois ajouter un
-dispositif de « profilage » comme celui des compilateurs d'Unix. Deux : Je
+faire sur ce compilateur se situe à trois niveaux. Un : Je dois ajouter un
+dispositif de « profilage » comme celui des compilateurs d'Unix. Deux : Je
dois rendre les allocations de registre plus intelligentes pour ne plus voir
-de choses stupides apparaître en sortie. Trois : Il y a divers bogues, des
+de choses stupides apparaître en sortie. Trois : Il y a divers bogues, des
choses qu'il ne traite pas encore correctement bien qu'il se soit compilé
correctement. Je pense que ça ne prendra que quelques mois, ensuite je le
publierai.</p>
-<p>L'autre partie importante du système existant, c'est le noyau. (Question :
-Une pause ?) Ah, ouais, je suppose que nous avons oublié les
-coupures. Pourquoi est-ce que je ne finirais pas de parler du noyau, ce qui
-ne devrait pas prendre plus de cinq minutes ? Ensuite nous pourrons faire
-une coupure.</p>
+<p>L'autre partie importante du système existant, c'est le
+noyau. <span>[Question : Une pause ?]</span> Ah, ouais, je suppose que nous
+avons oublié les coupures. Pourquoi est-ce que je ne finirais pas de parler
+du noyau, ce qui ne devrait pas prendre plus de cinq minutes ? Ensuite nous
+pourrons faire une coupure.</p>
<p>Donc, pour le noyau je projette d'utiliser un système appelé TRIX (cela ne
signifie rien de spécial, que je sache) qui a été développé comme projet de
@@ -1035,7 +1053,7 @@ recherche au MIT. Ce système est basé sur l'appel de procédure à distance
<i>[Remote Procedure Call]</i>. Les programmes sont appelés domaines. Chaque
domaine est un espace d'adressage et a diverses capacités, une capacité
n'étant rien d'autre que l'aptitude à appeler un domaine. Tout domaine peut
-créer des « ports de capacité » <i>[capability ports]</i> pour l'appeler et
+créer des « ports de capacité » <i>[capability ports]</i> pour l'appeler et
peut passer ces ports aux autres domaines. Et il n'y a aucune différence
entre appeler le système et appeler un autre domaine utilisateur. En fait
vous ne pouvez pas dire lequel vous avez. Ainsi il est très facile de faire
@@ -1055,13 +1073,13 @@ rendait plus facile le débogage parce qu'ils pouvaient installer les
fichiers avec Unix et donc faire fonctionner TRIX, mais ce système de
fichiers n'a aucune des fonctionnalités que je trouve nécessaires.</p>
-<p>Voilà les fonctionnalités qui, je pense, devraient être rajoutées : des
+<p>Voilà les fonctionnalités qui, je pense, devraient être rajoutées : des
numéros de version, la restauration des fichiers effacés, les informations
sur quand, comment et où le dossier a été sauvegardé sur bande, le
remplacement nucléaire des fichiers. Ce qui est bien dans Unix, d'après moi,
c'est que lorsqu'un fichier est en cours d'écriture, on peut déjà regarder
ce qui se passe. Ainsi par exemple, vous pouvez utiliser <code>tail</code>
-pour voir où ça en est ; c'est vraiment sympa. Et si le programme se plante
+pour voir où ça en est ; c'est vraiment sympa. Et si le programme se plante
après avoir écrit le fichier partiellement, vous pouvez voir ce qu'il a
fait. Tout ça c'est très bien, mais le résultat partiellement écrit ne doit
jamais être considéré comme le résultat final escompté. La version
@@ -1081,13 +1099,14 @@ version si vous le spécifiez normalement. Et si vous souhaitez le faire de
façon explicite – soit parce que vous voulez déclarer explicitement quelle
version utiliser, soit parce que vous ne voulez pas de version du tout –
vous mettez un point à son extrémité. Ainsi, si vous donnez le nom de
-fichier « FOO » cela signifie « cherchez les versions qui existent pour FOO
-et prenez la dernière ». Mais si vous dites « FOO. » cela signifie
-« utilisez exactement le nom FOO et aucun autre ». Si vous dites « FOO.3. »
-cela veut dire « utilisez exactement le nom FOO.3 » qui naturellement est la
-version trois de FOO et aucune autre. En sortie, si vous dites juste
-« FOO », ça va créer une nouvelle version de FOO, mais si vous dites
-« FOO. », ça va écrire un fichier nommé exactement « FOO ».</p>
+fichier <code>FOO</code> cela signifie « cherche les versions qui existent
+pour FOO et prends la dernière ». Mais si vous dites <code>FOO.</code> cela
+signifie « utilise exactement le nom FOO et aucun autre ». Si vous dites
+<code>FOO.3. » cela veut dire « utilise exactement le nom FOO.3</code>, qui
+naturellement est la version trois de FOO et aucune autre. En sortie, si
+vous dites juste <code>FOO</code>, ça va créer une nouvelle version de FOO,
+mais si vous dites <code>FOO.</code>, ça va écrire un fichier nommé
+exactement « FOO ».</p>
<p>Maintenant c'est un défi de mettre au point tous ces détails et de voir s'il
persiste des problèmes, si vraiment certains logiciels Unix se plantent bien
@@ -1095,8 +1114,8 @@ qu'on leur ait fourni des noms avec des points et ainsi de suite, pour
tenter de leur faire garder le même comportement.</p>
<p>Je m'attends à ce que, si on ouvre un fichier dont le nom finit par un
-point, on ouvre en fait immédiatement un fichier avec ce nom-là ; on obtient
-ainsi le même comportement qu'Unix : le résultat partiellement écrit est
+point, on ouvre en fait immédiatement un fichier avec ce nom-là ; on obtient
+ainsi le même comportement qu'Unix : le résultat partiellement écrit est
immédiatement visible. Tandis que, si on l'ouvre avec un nom qui ne finit
pas par un point, la nouvelle version ne doit apparaître qu'à la fermeture
du fichier, et seulement si on le ferme explicitement. S'il a été fermé
@@ -1104,40 +1123,41 @@ parce que la tâche a échoué ou à cause du plantage du système ou de
n'importe quoi du genre, il doit être sous un nom différent.</p>
<p>Et cette idée peut être rapprochée de l'utilisation de l'astérisque comme
-joker <i>[star matching]</i> : un nom qui ne finit pas par un point équivaut
+joker <i>[star matching]</i> : un nom qui ne finit pas par un point équivaut
à tous les noms sans leur numéro de version. Supposons qu'un certain
-répertoire ait des fichiers comme ceci :</p>
+répertoire ait des fichiers comme ceci :</p>
<pre>
- foo.1 foo.2 bar.8
+ <code>foo.1 foo.2 bar.8</code>
</pre>
-<p>Si je dis « * », ça équivaut à</p>
+<p>Si je dis <code>*</code>, ça équivaut à</p>
<pre>
- foo bar
+ <code>foo bar</code>
</pre>
<p>parce que ça prend tous les noms, les débarrasse de leurs versions et
-conserve tous ceux qui sont distincts. Mais si je dis « *. », alors ça prend
-tous les noms exacts, met un point après chaque nom et cherche les
+conserve tous ceux qui sont distincts. Mais si je dis <code>*.</code>, alors
+ça prend tous les noms exacts, met un point après chaque nom et cherche les
équivalences. Ça me donne tous les noms avec toutes les différentes versions
qui existent. Et de la même façon, vous pouvez voir la différence entre
-« *.c » et « *.c. ». Ceci [le premier] vous donnera essentiellement les
-références sans version de tous les fichiers « .c », tandis que cela [le
-second] vous donnera toutes les versions&hellip; Bon, pas vraiment, vous
-devriez dire « *.c.*. », mais ici je ne tiens pas compte des détails.</p>
+<code>*.c</code> et <code>*.c.</code>. Ceci [le premier] vous donnera
+essentiellement les références sans version de tous les fichiers
+<code>.c</code>, tandis que cela [le second] vous donnera toutes les
+versions&hellip; Bon, pas vraiment, vous devriez dire <code>*.c.*.</code>,
+mais ici je ne tiens pas compte des détails.</p>
<p>Une autre chose qu'on pourrait ajouter, qui est transparente pour
l'utilisateur et est certainement compatible, c'est la tolérance du système
de fichiers aux défaillances de la machine. À savoir, écrire toutes les
informations sur le disque dans l'ordre approprié, en s'arrangeant pour
-qu'on puisse presser le bouton « Arrêt » à tout moment sans endommager le
-système de fichiers du disque. C'est tellement connu que je ne peux pas
-imaginer qu'on puisse le négliger. Une autre idée, c'est d'augmenter la
-redondance de l'information. Je ne sais pas si je le ferai, mais j'ai des
-idées sur la façon de stocker dans chaque fichier tous ses noms, ce qui
-permettrait, si l'un des répertoires du disque est perdu, de le reconstruire
-à partir du reste du contenu du disque.</p>
+qu'on puisse presser le bouton <kbd>Arrêt</kbd> à tout moment sans
+endommager le système de fichiers du disque. C'est tellement connu que je ne
+peux pas imaginer qu'on puisse le négliger. Une autre idée, c'est
+d'augmenter la redondance de l'information. Je ne sais pas si je le ferai,
+mais j'ai des idées sur la façon de stocker dans chaque fichier tous ses
+noms, ce qui permettrait, si l'un des répertoires du disque est perdu, de le
+reconstruire à partir du reste du contenu du disque.</p>
<p>En outre, je pense savoir comment rendre possible la mise à jour nucléaire
de n'importe quelle partie d'un fichier – c'est-à-dire pouvoir remplacer un
@@ -1147,30 +1167,29 @@ anciennes. Je crois que je peux faire ça, sans même de verrouillage.</p>
<p>Pour la gestion du réseau, j'ai l'intention par la suite d'implémenter
TCP/IP pour ce système. Je pense également qu'il est possible d'utiliser
-Kermit pour obtenir quelque chose de pratiquement équivalent à UUCP.</p>
+KERMIT pour obtenir quelque chose de pratiquement équivalent à UUCP.</p>
<p>Un <i>shell</i> a déjà été écrit, je crois. Il a deux modes, l'un imitant le
<i>Bourne shell</i> et l'autre imitant le <i>C-shell</i>,<a
id="TransNote6-rev" href="#TransNote6"><sup>6</sup></a> dans le même
programme. Je n'en ai pas reçu de copie et je ne sais pas combien de travail
-j'aurai à faire dessus. Il y a encore beaucoup d'autres utilitaires. Un
-<code>make</code> existe, <code>ls</code> également ; il y a Bison qui
-remplace YACC et qui est déjà distribué. Il existe quelque chose d'assez
-proche de Lex, mais qui n'est pas totalement compatible et a besoin d'être
-retravaillé. Et en général, ce qui reste à faire est beaucoup moins
-important que ce qui a été fait mais on a toujours besoin de beaucoup de
-gens pour aider.</p>
-
-<p>Les gens me demandent toujours « Quand est-ce que ça sera fini ? »
+j'aurai à faire dessus. Il y a encore beaucoup d'autres utilitaires. Un MAKE
+existe, LS également ; il y a BISON qui remplace YACC et qui est déjà
+distribué. Il existe quelque chose d'assez proche de LEX, mais qui n'est pas
+totalement compatible et a besoin d'être retravaillé. Et en général, ce qui
+reste à faire est beaucoup moins important que ce qui a été fait mais on a
+toujours besoin de beaucoup de gens pour aider.</p>
+
+<p>Les gens me demandent toujours « Quand est-ce que ça sera fini ? »
Naturellement je ne peux pas le savoir, mais c'est une mauvaise question. Si
vous comptiez payer pour ça, je comprendrais que vous vouliez savoir
exactement ce que vous allez obtenir, et quand. Mais puisque vous n'allez
-pas payer, la bonne question à vous poser est : « Comment peut-on aider pour
-que ça soit fini plus tôt ? » J'ai une liste de projets dans un dossier au
+pas payer, la bonne question à vous poser est : « Comment peut-on aider pour
+que ça soit fini plus tôt ? » J'ai une liste de projets dans un dossier au
MIT. Les gens qui souhaitent apporter leur aide peuvent m'envoyer un
courrier à cette adresse internet et je leur enverrai en retour une liste de
projets (je me demande si ça va marcher [en regardant la craie]). Est-ce que
-c'est lisible ? C'est « RMS@GNU.ORG » (suivez juste la balle magique<a
+c'est lisible ? C'est « RMS@GNU.ORG » (suivez juste la balle magique<a
id="TransNote7-rev" href="#TransNote7"><sup>7</sup></a>). Et maintenant
faisons une pause, et après la pause, je vais dire des choses vraiment
controversées, alors ne partez pas maintenant. Si vous partez maintenant,
@@ -1194,7 +1213,7 @@ partir des sources de la distribution d'Emacs, vous pouvez en obtenir des
copies de la <i>Free Software Foundation</i>. Vous pouvez venir après pour
le regarder. Il contient également un bulletin de commande dont vous pouvez
copier les renseignements, de même que ce dessin [de la page de garde] qui a
-quelquefois du succès : [montrant du doigt un personnage chassé par RMS à
+quelquefois du succès : [montrant du doigt un personnage chassé par RMS à
cheval sur un gnou] c'est un accapareur de logiciel effrayé, je parlerai de
lui dans un moment.</p>
@@ -1220,7 +1239,7 @@ mais cela reste ce qu'il y a de plus proche. Et personne n'est autorisé à
posséder une recette.</p>
<p>Mais l'analogie qui a été choisie fut celle des livres, sur lesquels
-s'applique le copyright. Pourquoi ce choix a-t-il été fait ? Parce que les
+s'applique le copyright. Pourquoi ce choix a-t-il été fait ? Parce que les
gens qui avaient le plus à gagner à faire ce choix particulier ont été
autorisés à prendre la décision. Les gens qui écrivaient les programmes ont
eu le droit de décider, pas ceux qui les utilisaient. Cela a été fait d'une
@@ -1242,7 +1261,7 @@ changer. J'étais extrêmement marqué par l'esprit de partage que nous avions
jusque-là. Nous espérions faire quelque chose d'utile et nous étions heureux
si les gens pouvaient s'en servir. Ainsi, quand j'ai développé le premier
Emacs et que les gens ont commencé à vouloir l'utiliser en dehors du MIT,
-j'ai dit qu'il appartenait à la « communauté » Emacs. Pour utiliser Emacs
+j'ai dit qu'il appartenait à la « communauté » Emacs. Pour utiliser Emacs
vous deviez être membre de la communauté et ça voulait dire que vous deviez
lui apporter en contribution toutes les améliorations que vous aviez
faites. Toutes les améliorations de l'Emacs original devaient m'être
@@ -1287,7 +1306,7 @@ type de nocivité matérielle correspond une nocivité morale.</p>
<p>Au premier niveau, c'est juste que ça décourage l'utilisation du
programme. Il y a moins de gens qui utilisent le programme, mais ça ne
demande pas moins de travail pour l'élaborer. Quand on met un prix sur
-l'utilisation d'un programme en tant qu'« incitation », c'est le mot que ces
+l'utilisation d'un programme en tant qu'« incitation », c'est le mot que ces
accapareurs de logiciel aiment à employer, c'est une incitation pour les
gens à ne pas l'utiliser et c'est du gâchis. Si par exemple il y a deux fois
moins de gens qui utilisent le programme à cause de son prix, le programme a
@@ -1304,12 +1323,12 @@ essaye délibérément d'entraver le partage du programme. Mais il ne tente pas
simplement de l'entraver, il essaie de pousser les autres à l'aider. Toutes
les fois qu'un utilisateur signe un accord de confidentialité, c'est comme
s'il trahissait ses camarades utilisateurs. Au lieu de suivre la règle d'or
-et de dire « J'apprécie ce programme, mon voisin le voudrait aussi, je veux
-que nous l'ayons tous les deux », il dit « Ouais, donnez-le-moi. Au diable
-mon voisin ! Je vous aiderai à le maintenir hors de sa portée. Ne le donnez
-qu'à moi ! » C'est cet état d'esprit qui est source de nuisance morale,
-cette attitude qui consiste à dire : « Au diable mes voisins, donnez-m'en, à
-MOI, une copie. »</p>
+et de dire « J'apprécie ce programme, mon voisin le voudrait aussi, je veux
+que nous l'ayons tous les deux », il dit « Ouais, donnez-le-moi. Au diable
+mon voisin ! Je vous aiderai à le maintenir hors de sa portée. Ne le donnez
+qu'à moi ! » C'est cet état d'esprit qui est source de nuisance morale,
+cette attitude qui consiste à dire : « Au diable mes voisins, donnez-m'en, à
+MOI, une copie. »</p>
<p>Après être tombé sur des gens qui disaient qu'ils ne me laisseraient pas
avoir de copies parce qu'ils avaient signé un accord de confidentialité,
@@ -1328,7 +1347,7 @@ résultats dont ils ont besoin.</p>
<p>Les propriétaires de logiciel ne s'inquiètent pas vraiment de savoir si les
gens peuvent modifier le programme ou non, mais les en empêcher leur est
utile pour parvenir à leurs fins. Généralement, quand un logiciel est
-propriétaire, vous ne pouvez pas obtenir les sources ; vous ne pouvez pas le
+propriétaire, vous ne pouvez pas obtenir les sources ; vous ne pouvez pas le
modifier et c'est un grand gaspillage de travail pour les programmeurs,
aussi bien qu'une grande frustration pour les utilisateurs. Par exemple, une
amie m'a dit qu'elle avait travaillé pendant de nombreux mois dans une
@@ -1352,14 +1371,14 @@ imprimante graphique beaucoup plus intéressante, une des premières
imprimantes laser, mais le logiciel était fourni par Xerox et nous ne
pouvions pas le modifier. Ils n'acceptaient pas d'intégrer ces
fonctionnalités et nous ne pouvions pas le faire nous-même. Aussi avons-nous
-dû nous contenter de choses qui ne « fonctionnaient qu'à moitié ». Et
+dû nous contenter de choses qui ne « fonctionnaient qu'à moitié ». Et
c'était très frustrant de savoir que nous étions prêts à arranger ça,
désireux et capables de le faire, mais que nous n'en avions pas le droit. On
sabotait notre travail.</p>
<p>Et il y a tous les gens qui utilisent des ordinateurs et qui disent que les
ordinateurs sont un mystère pour eux. Ils ne savent pas comment ça
-fonctionne. Mais comment pourraient-ils le savoir ? Ils ne peuvent pas lire
+fonctionne. Mais comment pourraient-ils le savoir ? Ils ne peuvent pas lire
les programmes qu'ils utilisent. La seule manière pour les gens d'apprendre
comment les programmes doivent être écrits ou comment ils font ce qu'ils
font, c'est de lire le code source.</p>
@@ -1376,10 +1395,10 @@ disposition des meubles déterminent comment nous y vivons, il en est de même
pour le système informatique que nous utilisons. Si nous ne pouvons pas le
modifier pour qu'il nous convienne, nos vies sont alors vraiment sous le
contrôle des autres, et d'une certaine manière la personne qui le constate
-en est démoralisée : « Ça ne sert à rien d'essayer de changer ça, ce ne sera
+en est démoralisée : « Ça ne sert à rien d'essayer de changer ça, ce ne sera
jamais bien. Ce n'est pas la peine de s'embêter. Je vais juste faire mes
heures et&hellip; quand j'aurai fini, je m'en irai en tâchant de ne plus y
-penser. » Ce genre d'état d'esprit, ce manque d'enthousiasme, est le
+penser. » Ce genre d'état d'esprit, ce manque d'enthousiasme, est le
résultat obtenu quand on n'est pas autorisé à améliorer les choses alors
qu'on serait prêt à montrer de l'esprit civique.</p>
@@ -1393,9 +1412,9 @@ deviendrait difficile à cerner, c'est pourquoi ils s'assurent que chaque
nouveau venu dans le domaine commence au début, ce qui ralentit
considérablement le progrès.</p>
-<p>C'est ce que nous pouvons constater : combien y a-t-il de tableurs créés par
+<p>C'est ce que nous pouvons constater : combien y a-t-il de tableurs créés par
des entreprises différentes sans qu'aucune ait profité de ce qui avait été
-fait auparavant ? Oui, c'est vrai, le premier tableur qui a été écrit
+fait auparavant ? Oui, c'est vrai, le premier tableur qui a été écrit
n'était pas parfait. Il ne fonctionnait probablement que sur certains types
d'ordinateurs et il ne faisait pas les choses de la meilleure manière
possible. Donc il y avait diverses raisons pour lesquelles certaines
@@ -1403,7 +1422,7 @@ personnes voulaient en réécrire des morceaux. Mais si elles avaient
seulement dû réécrire les morceaux qu'elles voulaient vraiment améliorer, ça
leur aurait donné beaucoup moins de travail. Vous pouvez très bien voir
comment améliorer un des aspects d'un système, mais ne pas voir comment en
-améliorer un autre ; en fait cela pourrait vous être très difficile de le
+améliorer un autre ; en fait cela pourrait vous être très difficile de le
faire aussi bien. Si vous pouviez prendre la partie que vous trouvez bien et
refaire seulement le morceau pour lequel vous avez des idées, vous pourriez
avoir un système en tout point meilleur, avec beaucoup moins de travail que
@@ -1414,12 +1433,12 @@ pouvoir lire l'ancien d'abord.</p>
<p>Ainsi, dans le domaine de la programmation, les gens ont développé une
manière de perdre une bonne partie de leur temps, créant de ce fait un
apparent besoin en programmeurs, plus important qu'en réalité. Pourquoi y
-a-t-il un manque de programmeurs ? Parce qu'avec la propriété intellectuelle
-ils se sont organisés pour gaspiller la moitié de leur travail ; il semble
+a-t-il un manque de programmeurs ? Parce qu'avec la propriété intellectuelle
+ils se sont organisés pour gaspiller la moitié de leur travail ; il semble
ainsi que nous en ayons besoin de deux fois plus. Quand les gens se tournent
-vers le système de la propriété intellectuelle en disant « Regardez les
-belles statistiques de l'emploi, regardez l'ampleur de cette industrie »,
-cela ne prouve qu'une chose : l'ampleur du gaspillage de temps et
+vers le système de la propriété intellectuelle en disant « Regardez les
+belles statistiques de l'emploi, regardez l'ampleur de cette industrie »,
+cela ne prouve qu'une chose : l'ampleur du gaspillage de temps et
d'argent. Quand ils parlent de chercher des moyens d'améliorer la
productivité du programmeur, ils sont ravis de le faire si cela implique des
outils plus évolués, mais si cela implique de se débarrasser de choses
@@ -1441,7 +1460,7 @@ manger, le même sandwich, autant de fois qu'elle voudrait, et il resterait
toujours aussi nourrissant qu'à l'origine.</p>
<p>La meilleure chose à faire, ce que nous devrions faire avec ce sandwich,
-serait de l'amener partout où les gens ont faim ; de l'amener à autant de
+serait de l'amener partout où les gens ont faim ; de l'amener à autant de
bouches que possible, de sorte qu'il alimente autant de personnes que
possible. Il est certain que nous ne devons pas mettre de prix sur ce
sandwich, parce que sinon les gens ne pourraient pas se permettre de le
@@ -1454,9 +1473,9 @@ suffisait pour alimenter tout le monde, partout, pour toujours, mais que ça
lui était interdit parce que quelqu'un croyait qu'il devait le posséder.</p>
<p>Les gens qui croient pouvoir posséder des programmes proposent généralement
-deux types d'arguments. Le premier c'est : « Je l'ai écrit, c'est l'enfant
-de mon esprit, mon cœur, mon âme y est. Comment peut-on me l'enlever ? Où
-qu'il aille, il est à moi, à moi, À MOI !! » Très bien, mais il est curieux
+deux types d'arguments. Le premier c'est : « Je l'ai écrit, c'est l'enfant
+de mon esprit, mon cœur, mon âme y est. Comment peut-on me l'enlever ? Où
+qu'il aille, il est à moi, à moi, À MOI !! » Très bien, mais il est curieux
tout de même que la plupart d'entre eux signent des accords stipulant qu'il
appartient à l'entreprise pour laquelle ils travaillent.</p>
@@ -1466,12 +1485,12 @@ n'ont aucune importance.</p>
<p>Habituellement, ces personnes usent de cet argument pour exiger le droit de
contrôler jusqu'à la façon dont les gens peuvent modifier le programme. Ils
-disent : « Personne ne doit pouvoir gâcher mon œuvre d'art. » Bien, imaginez
+disent : « Personne ne doit pouvoir gâcher mon œuvre d'art. » Bien, imaginez
que l'inventeur du plat que vous projetez de cuisiner ait le droit de
contrôler la façon dont vous le préparez parce que c'est son œuvre
-d'art. Vous voulez enlever du sel, mais il dit : « Oh, non! J'ai conçu ce
-plat et il doit y avoir beaucoup de sel ! » – « Mais mon médecin m'a dit
-qu'il n'était pas bon pour moi de manger salé. Que puis-je faire ? »</p>
+d'art. Vous voulez enlever du sel, mais il dit : « Oh, non! J'ai conçu ce
+plat et il doit y avoir beaucoup de sel ! » – « Mais mon médecin m'a dit
+qu'il n'était pas bon pour moi de manger salé. Que puis-je faire ? »</p>
<p>La personne qui se sert du programme est évidemment bien plus près de
l'événement. L'utilisation du programme l'affecte directement tandis que
@@ -1479,20 +1498,20 @@ l'auteur a seulement une sorte de relation abstraite avec cette
utilisation. Et donc, pour donner aux gens autant de contrôle que possible
sur leurs propres vies, c'est l'utilisateur qui doit décider.</p>
-<p>Le deuxième argument est économique. « Comment les gens seront-ils payés
-pour programmer ? » disent-ils, et il y a un peu de vrai là-dedans. Mais une
+<p>Le deuxième argument est économique. « Comment les gens seront-ils payés
+pour programmer ? » disent-ils, et il y a un peu de vrai là-dedans. Mais une
bonne part de ce qu'ils disent est confus. Et la confusion vient de ce qu'il
-n'est pas du tout pareil de dire « Si nous voulons avoir beaucoup de gens
+n'est pas du tout pareil de dire « Si nous voulons avoir beaucoup de gens
pour programmer, nous devons nous assurer qu'ils n'auront pas besoin de
-gagner leur vie d'une autre manière » d'une part, et d'autre part de dire
-« Nous devons conserver le système actuel, nous devons devenir riches en
-programmant. » Il y a une grande différence entre juste percevoir un salaire
+gagner leur vie d'une autre manière » d'une part, et d'autre part de dire
+« Nous devons conserver le système actuel, nous devons devenir riches en
+programmant. » Il y a une grande différence entre juste percevoir un salaire
pour vivre et se faire du fric comme le font les programmeurs de nos jours,
-du moins aux États-Unis. Ils disent toujours : « Comment vais-je manger ? »
-Mais le problème n'est pas vraiment de savoir « comment il va manger » mais
-« comment il va manger des sushis ». Ou bien : « Comment ferai-je pour avoir
-un toit au-dessus de la tête ? » Mais le vrai problème est : « Comment
-pourra-t-il se payer un appartement dans une copropriété ? »</p>
+du moins aux États-Unis. Ils disent toujours : « Comment vais-je manger ? »
+Mais le problème n'est pas vraiment de savoir « comment il va manger » mais
+« comment il va manger des sushis ». Ou bien : « Comment ferai-je pour avoir
+un toit au-dessus de la tête ? » Mais le vrai problème est : « Comment
+pourra-t-il se payer un appartement dans une copropriété ? »</p>
<p>Le système actuel a été choisi par les gens qui investissent dans le
développement logiciel parce que ça leur donne la possibilité de se faire le
@@ -1519,34 +1538,34 @@ payés, autant il est vraiment impossible d'en trouver qui construiront des
routes sans être payés. La construction des routes n'est pas un travail
créatif ni amusant comme la programmation mais il y a plein de rues par
là-bas. Nous arrivons parfaitement à trouver de quoi payer ces gens et c'est
-bien mieux comme ça que d'avoir dit : « Laissons des entreprises privées
+bien mieux comme ça que d'avoir dit : « Laissons des entreprises privées
construire des routes et installer des cabines de péage, et vous paierez un
péage à chaque coin de rue. Alors les entreprises qui auront sélectionné les
bons endroits pour mettre leurs routes feront des profits et les autres
-feront faillite. »</p>
+feront faillite. »</p>
<p>Il se produit une chose amusante chaque fois que quelqu'un propose une
manière de faire de l'argent en accaparant quelque chose. Jusque-là, vous
aviez probablement un bon nombre de gens vraiment enthousiastes et désireux
-de travailler dans ce domaine. Et la seule question qui se posait était :
-« Comment peuvent-ils trouver un moyen d'existence ? » Si nous pensons aux
+de travailler dans ce domaine. Et la seule question qui se posait était :
+« Comment peuvent-ils trouver un moyen d'existence ? » Si nous pensons aux
mathématiciens par exemple, il y a beaucoup plus de gens qui veulent être
des mathématiciens purs que de financement pour que tout le monde le
devienne. Et même lorsqu'ils obtiennent des fonds, ils n'en obtiennent pas
beaucoup. Et ces gens ne vivent pas bien. Pour les musiciens, c'est encore
pire. J'ai vu des statistiques sur ce que gagne le musicien moyen, le péquin
moyen qui consacre la majeure partie de son temps à tenter de devenir
-musicien dans le Massachusetts ; c'est quelque chose comme la moitié du
+musicien dans le Massachusetts ; c'est quelque chose comme la moitié du
revenu moyen, ou moins. C'est à peine assez pour vivre, c'est dur. Mais il y
en a un bon nombre qui essaient. Et puis, d'une façon ou d'une autre, quand
il devient possible d'être très bien payé pour faire quelque chose,
-généralement tous ces gens disparaissent. Et on commence à dire : « Personne
-ne le fera à moins d'être payé aussi bien. »</p>
+généralement tous ces gens disparaissent. Et on commence à dire : « Personne
+ne le fera à moins d'être payé aussi bien. »</p>
<p>J'ai vu cela se produire dans le domaine de la programmation. Les mêmes qui
travaillaient au labo d'IA en étant très peu payés et qui trouvaient ça très
bien, aujourd'hui n'imagineraient pas travailler pour moins de cinquante
-mille dollars par an. Que s'est-il passé ? Quand vous faites miroiter aux
+mille dollars par an. Que s'est-il passé ? Quand vous faites miroiter aux
gens la possibilité de faire de l'argent, quand ils en voient d'autres faire
le même travail en étant payés très cher, ils estiment devoir obtenir la
même chose et personne n'est alors disposé à continuer comme avant. Il est
@@ -1561,9 +1580,9 @@ comme je l'ai expliqué, qu'on a besoin de logiciel libre pour retrouver une
communauté comme celle-là. Mais en y réfléchissant davantage, j'ai compris
en quoi l'accaparement du logiciel fait du mal à l'ensemble de la société
– plus particulièrement en poussant les gens à trahir leurs voisins, ce qui
-entraîne l'affaiblissement du lien social ; ce même état d'esprit qui
+entraîne l'affaiblissement du lien social ; ce même état d'esprit qui
conduit les gens à voir quelqu'un se faire poignarder dans la rue et à
-n'avertir personne ; cet état d'esprit dont nous pouvons voir tant
+n'avertir personne ; cet état d'esprit dont nous pouvons voir tant
d'entreprises faire preuve autour de nous. Il m'est apparu clairement que
j'avais un choix à faire. Je pouvais faire partie de ce monde et me sentir
malheureux de voir ce que je faisais de ma vie, ou je pouvais décider de le
@@ -1578,25 +1597,25 @@ menace des accapareurs de logiciel.</p>
inutile l'ordinateur personnel. Il y a une cinquantaine d'années, il y avait
des gens aux USA, de la Mafia, qui entraient dans les magasins et les bars,
surtout les bars quand les bars étaient hors-la-loi, évidemment. Une fois
-entrés, ils disaient : « Pas mal d'endroits par ici ont brûlé
-dernièrement. Vous ne voudriez pas que le vôtre subisse le même sort ? Eh
+entrés, ils disaient : « Pas mal d'endroits par ici ont brûlé
+dernièrement. Vous ne voudriez pas que le vôtre subisse le même sort ? Eh
bien, nous pouvons vous protéger contre les incendies, vous avez juste à
nous payer mille dollars par mois et nous ferons en sorte qu'il n'y ait pas
-le feu. » Et ça s'appelait « le racket de protection ». Aujourd'hui nous en
-sommes à quelque chose près à ce qu'une personne nous dise : « Vous avez un
+le feu. » Et ça s'appelait « le racket de protection ». Aujourd'hui nous en
+sommes à quelque chose près à ce qu'une personne nous dise : « Vous avez un
joli ordinateur ici et vous utilisez quelques programmes. Eh bien, si vous
ne voulez pas que ces programmes disparaissent, si vous ne voulez pas que la
police vous poursuive, vous feriez mieux de me payer mille dollars et je
-vous donnerai un exemplaire de ce programme avec une licence. » Et ça
-s'appelle « le racket de protection du logiciel ».</p>
+vous donnerai un exemplaire de ce programme avec une licence. » Et ça
+s'appelle « le racket de protection du logiciel ».</p>
<p>En réalité, ils ne font que mettre des bâtons dans les roues de tous ceux
qui font ce qui doit être fait, mais ils se prétendent à eux-mêmes, et
veulent nous faire croire, qu'ils ont une fonction utile. Bon. Ce que
j'espère, c'est que le jour où ce type de la Mafia du logiciel entrera et
-dira « Vous voulez que ces programmes disparaissent de votre ordinateur ? »
-l'utilisateur puisse répondre « Je n'ai plus peur de vous. J'ai le logiciel
-libre GNU et il n'y a rien que vous puissiez me faire désormais. »</p>
+dira « Vous voulez que ces programmes disparaissent de votre ordinateur ? »
+l'utilisateur puisse répondre « Je n'ai plus peur de vous. J'ai le logiciel
+libre GNU et il n'y a rien que vous puissiez me faire désormais. »</p>
<p>Quelquefois, les gens essaient de se justifier de posséder le logiciel en
avançant l'idée qu'il faut donner aux gens des incitations pour produire des
@@ -1638,9 +1657,9 @@ heure. Je n'en ai inclus que quelques-unes dans cette version. La bande
la totalité]</strong></p>
<dl>
-<dt><b>Question :</b> Est-ce que quelqu'un a tenté de vous causer des ennuis ?</dt>
+<dt><b>Question :</b> Est-ce que quelqu'un a tenté de vous causer des ennuis ?</dt>
-<dd><p><b>Réponse :</b> La seule fois où l'on a tenté de me causer des ennuis,
+<dd><p><b>Réponse :</b> La seule fois où l'on a tenté de me causer des ennuis,
c'était ces propriétaires, ces prétendus propriétaires, autoproclamés, de
Gosling Emacs. Hormis le fait qu'ils n'avaient aucune raison de le faire,
ils ne pouvaient pas faire grand-chose. D'ailleurs, je voudrais attirer
@@ -1649,18 +1668,18 @@ langage pour vous inciter à penser d'une certaine façon et pas
autrement. Une grande part de la terminologie actuelle dans ce domaine a été
choisie par les propriétaires autoproclamés de logiciel pour vous inciter à
assimiler le logiciel à des biens matériels et à oublier les
-différences. L'exemple le plus flagrant en est le terme « pirate ». Refusez
-s'il vous plaît d'utiliser le terme « pirate » pour décrire quelqu'un qui
+différences. L'exemple le plus flagrant en est le terme « pirate ». Refusez
+s'il vous plaît d'utiliser le terme « pirate » pour décrire quelqu'un qui
souhaite partager du logiciel avec son voisin comme tout bon citoyen.</p>
-<p>J'ai oublié de vous dire ceci : La notion de copyright est apparue après
+<p>J'ai oublié de vous dire ceci : La notion de copyright est apparue après
l'invention de la presse à imprimer. Dans les temps anciens, les auteurs se
copiaient les uns les autres librement et ceci n'était pas considéré comme
-un mal. Et c'était même très utile : certaines œuvres originales n'ont pu
+un mal. Et c'était même très utile : certaines œuvres originales n'ont pu
survivre, bien que de manière fragmentaire, que grâce à des citations
extensives dans d'autres œuvres qui, elles, ont survécu.</p>
-<p>C'est parce que la copie des livres se faisait à l'unité ; il était dix fois
+<p>C'est parce que la copie des livres se faisait à l'unité ; il était dix fois
plus difficile d'en faire dix copies qu'une seule. Puis la presse à imprimer
a été inventée. Ceci n'a pas empêché les gens de copier les livres à la
main, mais comparée à l'impression, la copie manuelle était si pénible
@@ -1675,7 +1694,7 @@ moralement, à cause d'un changement technologique. Or aujourd'hui le
changement inverse se produit. La copie individuelle d'information se fait
de mieux en mieux et nous pouvons voir que la finalité du progrès
technologique est de permettre de copier n'importe quel genre
-d'information&hellip; [coupure due à l'inversion de la bande].</p>
+d'information&hellip; <span>[coupure due à l'inversion de la bande]</span>.</p>
<p>Ainsi nous retournons à la même situation que dans le monde antique où le
copyright n'avait aucun sens.</p>
@@ -1683,7 +1702,7 @@ copyright n'avait aucun sens.</p>
<p>Considérons notre concept de propriété. Il a son origine dans les objets
matériels. Ces derniers satisfont la loi de conservation, à peu de choses
près. Oui c'est vrai, je peux casser une craie en deux, mais ce n'est pas
-ça ; elle va s'user, se « consommer ». Mais fondamentalement ceci est une
+ça ; elle va s'user, se « consommer ». Mais fondamentalement ceci est une
chaise [pointant une chaise du doigt]. Je ne peux pas simplement claquer des
doigts et en avoir deux. La seule manière d'en avoir une deuxième, c'est de
la construire comme l'a été la première. Ça prend plus de matières
@@ -1697,19 +1716,19 @@ de gens que cela va aider et le nombre de gens que cela va léser de faire
certaines choses. Lorsqu'il s'agit d'un objet matériel, vous pouvez venir
prendre cette chaise, mais vous ne pouvez pas venir la copier. Et si vous
emportiez la chaise, cela ne produirait rien, vous n'auriez aucune
-excuse. Si quelqu'un dit « J'ai travaillé pour faire cette chaise, une seule
-personne peut avoir cette chaise, ça peut aussi bien être moi », nous
-pourrions aussi bien dire « Oui, c'est compréhensible. » Quand une personne
-dit « J'ai gravé les bits de ce disque, une seule personne peut l'avoir,
-alors n'essayez pas de me l'enlever », ça se comprend aussi. Si une seule
-personne peut avoir le disque, pourquoi pas celui à qui il appartient ?</p>
-
-<p>Mais quand quelqu'un d'autre arrive et dit « Je ne vais pas abîmer votre
+excuse. Si quelqu'un dit « J'ai travaillé pour faire cette chaise, une seule
+personne peut avoir cette chaise, ça peut aussi bien être moi », nous
+pourrions aussi bien dire « Oui, c'est compréhensible. » Quand une personne
+dit « J'ai gravé les bits de ce disque, une seule personne peut l'avoir,
+alors n'essayez pas de me l'enlever », ça se comprend aussi. Si une seule
+personne peut avoir le disque, pourquoi pas celui à qui il appartient ?</p>
+
+<p>Mais quand quelqu'un d'autre arrive et dit « Je ne vais pas abîmer votre
disque, je vais juste en faire un autre comme lui par magie, je l'emmènerai
et vous pourrez continuer à utiliser ce disque comme vous le faisiez
-auparavant », eh bien, c'est la même chose que si quelqu'un disait « J'ai un
+auparavant », eh bien, c'est la même chose que si quelqu'un disait « J'ai un
copieur magique de chaise. Vous pouvez continuer à profiter de votre chaise
-en l'ayant toujours à disposition mais j'en aurai une aussi. » C'est une
+en l'ayant toujours à disposition mais j'en aurai une aussi. » C'est une
bonne chose.</p>
<p>Si les gens n'ont pas à construire mais juste à claquer des doigts et
@@ -1719,11 +1738,11 @@ tirer de l'argent. C'est une idée qui ne correspond qu'aux objets qui se
conservent. Aussi font-ils leur possible pour transformer les programmes en
objets matériels. Vous êtes-vous demandés pourquoi, quand vous allez dans un
magasin de logiciel et que vous achetez un exemplaire d'un programme, cela
-revient à acheter quelque chose qui ressemble à un livre ? Ils veulent que
+revient à acheter quelque chose qui ressemble à un livre ? Ils veulent que
les gens pensent à leur achat comme à un objet matériel, sans se rendre
compte qu'il est en réalité sous forme de données numériques copiables.</p>
-<p>Après tout, qu'est-ce qu'un ordinateur à part une machine universelle ? Vous
+<p>Après tout, qu'est-ce qu'un ordinateur à part une machine universelle ? Vous
avez probablement étudié les machines universelles de Turing, ces machines
qui peuvent imiter n'importe quelle autre machine. L'avantage d'une machine
universelle, c'est que vous pouvez lui faire imiter n'importe quelle autre
@@ -1733,20 +1752,20 @@ exactement ce que les accapareurs de logiciel veulent que le public arrête
de faire. Ils veulent profiter du changement technologique, en marche vers
les machines universelles, mais ils ne veulent pas que le public en profite.</p>
-<p>En gros, ils tentent de conserver « l'âge de l'objet matériel », mais
+<p>En gros, ils tentent de conserver « l'âge de l'objet matériel », mais
celui-ci est dépassé. Notre conception du bien et du mal doit être synchrone
avec les faits réels du monde dans lequel nous vivons.</p>
</dd>
-<dt><b>Question :</b> Ainsi ça se ramène à la propriété de
+<dt><b>Question :</b> Ainsi ça se ramène à la propriété de
l'information. Pensez-vous qu'il y ait des exemples où, selon vous, il soit
-juste de posséder l'information ?</dt>
+juste de posséder l'information ?</dt>
-<dd><p><b>Réponse :</b> Pour une information qui n'est pas utile au public ou qui a
+<dd><p><b>Réponse :</b> Pour une information qui n'est pas utile au public ou qui a
un caractère personnel, je dirais OK. En d'autres termes, l'information qui
porte, non sur la manière de faire les choses mais sur ce que vous avez
-l'intention de faire ; l'information dont la seule valeur pour les autres
-est spéculative ; celle qui leur permet de vous faire perdre de l'argent
+l'intention de faire ; l'information dont la seule valeur pour les autres
+est spéculative ; celle qui leur permet de vous faire perdre de l'argent
mais avec laquelle ils ne peuvent véritablement rien créer. Je dirais qu'il
est parfaitement raisonnable de garder ce genre de chose secrète et sous
contrôle.</p>
@@ -1756,60 +1775,66 @@ ils peuvent profiter, et ce d'autant mieux que plus de gens y auront accès,
nous devons toujours en encourager la copie.</p>
</dd>
</dl>
+</div>
<div class="translators-notes">
<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
-<hr /><b>Notes de relecture</b><ol>
-<li id="TransNote1">ITS <i>(Incompatible Timesharing System)</i> : « Système
-à temps partagé incompatible », conçu par les hackers du laboratoire
-d'intelligence artificielle et nommé en opposition avec CTSS <i>(Compatible
-Time Sharing System)</i>, utilisé précédemment au MIT. <a
-href="#TransNote1-rev" class="nounderline">&#8593;</a></li>
-<li id="TransNote2">Nous traduisons maintenant <i>proprietary</i> par
-« privateur ». <a href="#TransNote2-rev"
-class="nounderline">&#8593;</a></li>
-<li id="TransNote3"><i>Wheel bit</i> (litt. bit de gouvernail) : il s'agit
-d'un bit particulier du nombre binaire définissant un utilisateur sous
-Twenex (ou certains autres systèmes à temps partagé des années 80), qui
-permet à cet utilisateur de faire certaines opérations interdites à
-l'utilisateur normal. Les privilèges du mode <i>wheel</i> sont analogues à
-ceux de <i>root</i> sous Unix. <a href="#TransNote3-rev"
-class="nounderline">&#8593;</a></li>
-<li id="TransNote4">DDT signifiait à l'origine <i><abbr title="Digital
-Equipment Corporation">DEC</abbr> Debugging Tape</i> (bande de débogage de
+<hr /><b>Notes de traduction</b><ol>
+<li><a id="TransNote1" href="#TransNote1-rev"
+class="nounderline">&#8593;</a> 
+ITS <i>(Incompatible Timesharing System)</i> : « Système à temps partagé
+incompatible », conçu par les hackers du laboratoire d'intelligence
+artificielle et nommé en opposition avec CTSS <i>(Compatible Time Sharing
+System)</i>, utilisé précédemment au MIT.</li>
+<li><a id="TransNote2" href="#TransNote2-rev"
+class="nounderline">&#8593;</a> 
+Nous traduisons maintenant <i>proprietary</i> par « privateur ».</li>
+<li><a id="TransNote3" href="#TransNote3-rev"
+class="nounderline">&#8593;</a> 
+<i>Wheel bit</i> (litt. bit de gouvernail) : il s'agit d'un bit particulier
+du nombre binaire définissant un utilisateur sous Twenex (ou certains autres
+systèmes à temps partagé des années 80), qui permet à cet utilisateur de
+faire certaines opérations interdites à l'utilisateur normal. Les privilèges
+du mode <i>wheel</i> sont analogues à ceux de <i>root</i> sous Unix.</li>
+<li><a id="TransNote4" href="#TransNote4-rev"
+class="nounderline">&#8593;</a> 
+DDT signifiait à l'origine <i><abbr title="Digital Equipment
+Corporation">DEC</abbr> Debugging Tape</i> (bande de débogage de
DEC). C'était un ensemble de programmes, développé en 1961, permettant de
déboguer le système d'exploitation du PDP-1 (les bandes dont il s'agissait
étaient des bandes perforées). Des systèmes similaires existent pour des
machines plus récentes, ils ont pour nom <i>Dynamic Debugging Technique</i>,
de manière à garder le même sigle. DDT fait allusion à l'insecticide <i>[bug
-killer]</i> de l'époque. <a href="#TransNote4-rev"
-class="nounderline">&#8593;</a></li>
-<li id="TransNote5"><i>Free University Compiler Kit</i> peut s'interpréter
-de deux manières différentes, car on ne sait pas si l'adjectif <i>free</i>
-qualifie <i>compiler kit</i> ou <i>university</i>. En fait, il s'agit du
-« kit de compilation de l'Université Libre (d'Amsterdam) ». <a
-href="#TransNote5-rev" class="nounderline">&#8593;</a></li>
-<li id="TransNote6"><i>C-shell</i> se prononce de la même façon que
-<i>seashell</i> (coquillage). Il n'est pas impossible que ce jeu de mots
-soit voulu. <a href="#TransNote6-rev" class="nounderline">&#8593;</a></li>
-<li id="TransNote7"><i>Bouncing ball</i> : peut-être une allusion à la
-« balle bondissante » du karaoke qui rebondit sur les paroles affichées à
-l'écran au moment où il faut les chanter. <a
-href="#TransNote7-rev">&#8593;</a></li>
+killer]</i> de l'époque.</li>
+<li><a id="TransNote5" href="#TransNote5-rev"
+class="nounderline">&#8593;</a> 
+<i>Free University Compiler Kit</i> peut s'interpréter de deux manières
+différentes, car on ne sait pas si l'adjectif <i>free</i> qualifie
+<i>compiler kit</i> ou <i>university</i>. En fait, il s'agit du « kit de
+compilation de l'Université Libre (d'Amsterdam) ».</li>
+<li><a id="TransNote6" href="#TransNote6-rev"
+class="nounderline">&#8593;</a> 
+<i>C-shell</i> se prononce de la même façon que <i>seashell</i>
+(coquillage). Il n'est pas impossible que ce jeu de mots soit voulu.</li>
+<li><a id="TransNote7" href="#TransNote7-rev"
+class="nounderline">&#8593;</a> 
+<i>Bouncing ball</i> : peut-être une allusion à la « balle bondissante » du
+karaoke qui rebondit sur les paroles affichées à l'écran au moment où il
+faut les chanter.</li>
</ol></div>
</div>
<!-- for id="content", starts in the include above -->
<!--#include virtual="/server/footer.fr.html" -->
-<div id="footer">
+<div id="footer" role="contentinfo">
<div class="unprintable">
-<p>Veuillez envoyer les requêtes concernant la FSF et GNU à <a
-href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>. Il existe aussi <a
+<p>Veuillez envoyer les requêtes concernant la FSF et GNU à &lt;<a
+href="mailto:gnu@gnu.org">gnu@gnu.org</a>&gt;. Il existe aussi <a
href="/contact/">d'autres moyens de contacter</a> la FSF. Les liens
-orphelins et autres corrections ou suggestions peuvent être signalés à <a
-href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.</p>
+orphelins et autres corrections ou suggestions peuvent être signalés à
+&lt;<a href="mailto:webmasters@gnu.org">webmasters@gnu.org</a>&gt;.</p>
<p>
<!-- TRANSLATORS: Ignore the original text in this paragraph,
@@ -1822,18 +1847,17 @@ href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.</p>
&lt;web-translators@gnu.org&gt;</a>.</p>
- <p>For information on coordinating and submitting translations of
+ <p>For information on coordinating and contributing translations of
our web pages, see <a
href="/server/standards/README.translations.html">Translations
README</a>. -->
-Nous faisons le maximum pour proposer des traductions fidèles et de bonne
-qualité, mais nous ne sommes pas parfaits. Merci d'adresser vos commentaires
-sur cette page, ainsi que vos suggestions d'ordre général sur les
-traductions, à <a href="mailto:web-translators@gnu.org">
-&lt;web-translators@gnu.org&gt;</a>.</p>
-<p>Pour tout renseignement sur la coordination et la soumission des
-traductions de nos pages web, reportez-vous au <a
-href="/server/standards/README.translations.html">guide de traduction</a>.</p>
+Merci d'adresser vos commentaires sur les pages en français à &lt;<a
+href="mailto:trad-gnu@april.org">trad-gnu@april.org</a>&gt;, et sur les
+traductions en général à &lt;<a
+href="mailto:web-translators@gnu.org">web-translators@gnu.org</a>&gt;. Si
+vous souhaitez y contribuer, vous trouverez dans le <a
+href="/server/standards/README.translations.html">guide de traduction</a>
+les infos nécessaires.</p>
</div>
<!-- Regarding copyright, in general, standalone pages (as opposed to
@@ -1853,7 +1877,7 @@ href="/server/standards/README.translations.html">guide de traduction</a>.</p>
There is more detail about copyright years in the GNU Maintainers
Information document, www.gnu.org/prep/maintain. -->
<p>
-Copyright &copy; 1987, 2009, 2010, 2020 Richard Stallman et Bjrn Remseth
+Copyright &copy; 1987 Richard Stallman et Bjrn Remseth
</p>
<p>
La reproduction exacte et la distribution de copies intégrales de cette
@@ -1866,17 +1890,18 @@ manière apparente.
<div class="translators-credits">
<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
-Traduction : Miluz.<br /> Révision : <a
+Traduction : Miluz.<br /> Révision : <a
href="mailto:trad-gnu&#64;april.org">trad-gnu&#64;april.org</a></div>
<p class="unprintable"><!-- timestamp start -->
Dernière mise à jour :
-$Date: 2021/01/26 13:03:21 $
+$Date: 2022/06/11 14:31:02 $
<!-- timestamp end -->
</p>
</div>
</div>
+<!-- for class="inner", starts in the banner include -->
</body>
</html>