Libre comme Liberté en russe : Chapitre 7. Le dilemme de la moralité absolue


Libre comme Liberté en russe : Chapitre 7. Le dilemme de la moralité absolue

Libre comme liberté en russe : chapitre 1. L'imprimeur fatal


Libre comme Liberté en russe : Chapitre 2. 2001 : A Hacker Odyssey


Libre comme dans Liberté en russe : Chapitre 3. Portrait d'un hacker dans sa jeunesse


Libre comme liberté en russe : chapitre 4. Démystifier Dieu


Libre comme dans Liberté en russe : Chapitre 5. Un filet de liberté


Libre comme Liberté en russe : Chapitre 6. Commune Emacs

Le dilemme de la moralité absolue

À midi et demi dans la nuit du 27 septembre 1983, un message inhabituel est apparu dans le groupe Usenet net.unix-wizards signé rms@mit-oz. Le titre du message était court et extrêmement tentant : « Une nouvelle implémentation d'UNIX ». Mais au lieu d'une nouvelle version toute faite d'Unix, le lecteur a trouvé un appel :

Pour Thanksgiving, je commence à écrire un nouveau système d'exploitation entièrement compatible Unix appelé GNU (GNU's Not Unix). Je le distribuerai gratuitement à tout le monde. J'ai vraiment besoin de votre temps, de votre argent, de votre code, de votre équipement – ​​de votre aide.

Pour un développeur Unix expérimenté, le message était un mélange d’idéalisme et d’ego. L'auteur a non seulement entrepris de recréer de toutes pièces un système d'exploitation complet, très avancé et puissant, mais aussi de l'améliorer. Le système GNU était censé contenir tous les composants nécessaires tels qu’un éditeur de texte, un shell de commande, un compilateur, ainsi que « un certain nombre d’autres choses ». Ils promettaient également des fonctionnalités extrêmement attractives qui n'étaient pas disponibles dans les systèmes Unix existants : une interface graphique dans le langage de programmation Lisp, un système de fichiers tolérant aux pannes, des protocoles réseau basés sur l'architecture réseau du MIT.

"GNU sera capable d'exécuter des programmes Unix, mais ne sera pas identique au système Unix", a écrit l'auteur. "Nous apporterons toutes les améliorations nécessaires qui ont mûri au fil des années de travail sur différents systèmes d'exploitation."

Anticipant une réaction sceptique à son message, l'auteur l'a complété par une courte digression autobiographique sous le titre : « Qui suis-je ? » :

Je suis Richard Stallman, créateur de l'éditeur EMACS original, l'un des clones dont vous avez probablement rencontré. Je travaille au MIT AI Lab. J'ai une vaste expérience dans le développement de compilateurs, d'éditeurs, de débogueurs, d'interpréteurs de commandes, de systèmes d'exploitation ITS et Lisp Machine. Implémentation d'un support d'écran indépendant du terminal dans ITS, ainsi que d'un système de fichiers tolérant aux pannes et de deux systèmes de fenêtres pour les machines Lisp.

Il se trouve que le projet complexe de Stallman n'a pas démarré le jour de Thanksgiving, comme promis. Ce n'est qu'en janvier 1984 que Richard se lance à corps perdu dans le développement de logiciels de type Unix. Du point de vue d’un architecte de systèmes STI, c’était comme passer de la construction de palais maures à la construction de centres commerciaux de banlieue. Cependant, le développement du système Unix présentait également des avantages. ITS, malgré toute sa puissance, avait un point faible : il ne fonctionnait que sur un ordinateur PDP-10 de DEC. Au début des années 80, le Laboratoire abandonne le PDP-10 et ITS, que les hackers comparaient à une ville animée, devient une ville fantôme. Unix, en revanche, a été conçu à l'origine dans un souci de portabilité d'une architecture informatique à une autre, de sorte que de tels problèmes ne le menaçaient pas. Développé par de jeunes chercheurs d'AT&T, Unix est passé sous le radar des entreprises et a trouvé une place tranquille dans le monde à but non lucratif des groupes de réflexion. Disposant de moins de ressources que leurs frères hackers du MIT, les développeurs Unix ont adapté leur système pour fonctionner sur un zoo de matériel disparate. Principalement sur le PDP-16 11 bits, que les hackers du Lab considéraient comme inadapté aux tâches sérieuses, mais aussi sur les mainframes 32 bits comme le VAX 11/780. En 1983, des sociétés telles que Sun Microsystems avaient créé des ordinateurs de bureau relativement compacts – des « postes de travail » – comparables en puissance à l'ancien ordinateur central PDP-10. L'omniprésent Unix s'est également installé sur ces postes de travail.

La portabilité Unix était assurée par une couche supplémentaire d'abstraction entre les applications et le matériel. Au lieu d'écrire des programmes dans le code machine d'un ordinateur spécifique, comme l'ont fait les pirates du laboratoire lors du développement de programmes pour ITS sur le PDP-10, les développeurs Unix ont utilisé le langage de programmation C de haut niveau, qui n'était pas lié à une plate-forme matérielle spécifique. Dans le même temps, les développeurs se sont concentrés sur la standardisation des interfaces par lesquelles les parties du système d'exploitation interagissaient entre elles. Le résultat fut un système dans lequel n’importe quelle pièce pouvait être repensée sans affecter toutes les autres pièces et sans perturber leur fonctionnement. Et pour transférer un système d'une architecture matérielle à une autre, il suffisait également de refaire une seule partie du système, et non de le réécrire entièrement. Les experts ont apprécié ce niveau fantastique de flexibilité et de commodité, si bien qu'Unix s'est rapidement répandu dans le monde informatique.

Stallman a décidé de créer le système GNU en raison de la disparition d'ITS, l'idée préférée des hackers d'AI Lab. La mort d’ITS a été un coup dur pour eux, y compris pour Richard. Si l'histoire de l'imprimante laser Xerox lui a ouvert les yeux sur l'injustice des licences propriétaires, alors la mort d'ITS l'a poussé de l'aversion pour les logiciels fermés à une opposition active à ceux-ci.

Les raisons de la mort d’ITS, tout comme son code, remontent loin dans le passé. En 1980, la plupart des hackers du Lab travaillaient déjà sur une machine Lisp et son système d'exploitation.

Lisp est un langage de programmation élégant, parfait pour travailler avec des données dont la structure est inconnue à l'avance. Il a été créé par le pionnier de la recherche sur l'intelligence artificielle et le créateur du terme « intelligence artificielle » John McCarthy, qui a travaillé au MIT dans la seconde moitié des années 50. Le nom du langage est une abréviation de « LISt Processing » ou « list Processing ». Après que McCarthy ait quitté le MIT pour Stanford, les pirates du laboratoire ont quelque peu changé Lisp, créant son dialecte local MACLISP, où les 3 premières lettres représentaient le projet MAC, grâce auquel, en fait, le laboratoire d'IA du MIT est apparu. Sous la direction de l'architecte système Richard Greenblatt, les pirates du laboratoire ont développé une machine Lisp - un ordinateur spécial pour exécuter des programmes en Lisp, ainsi qu'un système d'exploitation pour cet ordinateur - également, bien sûr, écrit en Lisp.

Au début des années 80, des groupes de hackers concurrents avaient fondé deux sociétés produisant et vendant des machines Lisp. La société de Greenblatt s'appelait Lisp Machines Incorporated, ou simplement LMI. Il espérait se passer d’investissements extérieurs et créer une société purement « hacker ». Mais la plupart des pirates ont rejoint Symbolics, une startup commerciale typique. En 1982, ils quittent complètement le MIT.

Ceux qui restaient se comptaient sur les doigts d’une main, de sorte que les programmes et les machines prenaient de plus en plus de temps à être réparés, voire n’étaient pas réparés du tout. Et le pire de tout, selon Stallman, c’est que les « changements démographiques » ont commencé au Laboratoire. Les hackers, auparavant minoritaires, ont quasiment disparu, laissant le Laboratoire à l'entière disposition des enseignants et des étudiants, dont l'attitude envers le PDP-10 était ouvertement hostile.

En 1982, l'AI Lab a reçu un remplaçant pour son PDP-12 vieux de 10 ans - le DECSYSTEM 20. Les applications écrites pour le PDP-10 fonctionnaient sans problème sur le nouvel ordinateur, car le DECSYSTEM 20 était essentiellement un PDP mis à jour. -10, mais l'ancien système d'exploitation ne convenait pas du tout - ITS a dû être porté sur un nouvel ordinateur, ce qui signifie presque complètement réécrit. Et cela à une époque où presque tous les hackers capables de faire cela ont quitté le Laboratoire. Le système d'exploitation commercial Twenex a donc rapidement pris le relais sur le nouvel ordinateur. Les quelques hackers restés au MIT ne pouvaient qu’accepter cela.

"Sans les pirates pour créer et maintenir le système d'exploitation, nous sommes condamnés", ont déclaré les professeurs et les étudiants. "Nous avons besoin d'un système commercial soutenu par une entreprise afin qu'elle puisse résoudre elle-même les problèmes avec ce système." Stallman rappelle que cet argument s’est avéré être une cruelle erreur, mais à l’époque il semblait convaincant.

Au début, les hackers considéraient Twenex comme une autre incarnation d’une corporatocratie autoritaire qu’ils voulaient briser. Même le nom reflétait l'hostilité des pirates informatiques - en fait, le système s'appelait TOPS-20, indiquant une continuité avec TOPS-10, également un système DEC commercial pour le PDP-10. Mais sur le plan architectural, TOPS-20 n'avait rien de commun avec TOPS-10. Il a été réalisé sur la base du système Tenex développé par Bolt, Beranek et Newman pour le PDP-10. . Stallman a commencé à appeler le système « Twenex » juste pour éviter de l’appeler TOPS-20. « Le système était loin d’être une solution haut de gamme, donc je ne pouvais pas oser l’appeler par son nom officiel », se souvient Stallman, « alors j’ai inséré la lettre « w » dans « Tenex » pour en faire « Twenex ». (Ce prénom joue sur le mot « vingt », c'est à dire « vingt »)

L'ordinateur qui exécutait le Twenex/TOPS-20 s'appelait ironiquement « Oz ». Le fait est que DECSYSTEM 20 nécessitait une petite machine PDP-11 pour faire fonctionner le terminal. Un hacker, lorsqu'il a vu pour la première fois le PDP-11 connecté à cet ordinateur, l'a comparé à une performance prétentieuse du Magicien d'Oz. « Je suis le grand et terrible Oz ! – il a récité. "Ne regarde pas les menues frites sur lesquelles je travaille."

Mais il n'y avait rien de drôle dans le système d'exploitation du nouvel ordinateur. La sécurité et le contrôle d'accès ont été intégrés à Twenex à un niveau de base, et ses utilitaires d'application ont également été conçus dans un souci de sécurité. Les blagues condescendantes sur les systèmes de sécurité du laboratoire se sont transformées en une sérieuse bataille pour le contrôle informatique. Les administrateurs ont fait valoir que sans systèmes de sécurité, Twenex serait instable et sujette aux erreurs. Les pirates ont assuré que la stabilité et la fiabilité pourraient être obtenues beaucoup plus rapidement en modifiant le code source du système. Mais ils étaient déjà si peu nombreux au Laboratoire que personne ne les écoutait.

Les pirates informatiques pensaient pouvoir contourner les restrictions de sécurité en accordant à tous les utilisateurs des « privilèges de pilotage » – des droits élevés qui donnent la possibilité de faire de nombreuses choses qu'un utilisateur normal n'a pas le droit de faire. Mais dans ce cas, n'importe quel utilisateur pourrait retirer les « privilèges de pilotage » à n'importe quel autre utilisateur, et il ne pourrait pas se les restituer en raison du manque de droits d'accès. Par conséquent, les pirates ont décidé de prendre le contrôle du système en supprimant les « privilèges de pilotage » de tout le monde sauf eux-mêmes.

Deviner les mots de passe et lancer le débogueur pendant le démarrage du système n'a rien fait. Ayant échoué dans "coup d'État", Stallman a envoyé un message à tous les employés du Laboratoire.

« Jusqu’à présent, les aristocrates avaient été vaincus, écrit-il, mais maintenant ils ont pris le dessus et la tentative de prise du pouvoir a échoué. » Richard a signé le message : « Radio Free OZ » pour que personne ne devine que c'était lui. Un excellent déguisement, étant donné que tout le monde dans le Laboratoire était au courant de l'attitude de Stallman à l'égard des systèmes de sécurité et de ses moqueries à l'égard des mots de passe. Cependant, l'aversion de Richard pour les mots de passe était connue bien au-delà du MIT. Presque tout l’ARPAnet, le prototype de l’Internet de l’époque, accédait aux ordinateurs du Laboratoire sous le compte de Stallman. Un tel « touriste » était, par exemple, Don Hopkins, un programmeur californien, qui, grâce au bouche à oreille d'un hacker, a appris qu'il était possible d'accéder au célèbre système ITS du MIT en entrant simplement 3 lettres des initiales de Stallman comme identifiant et mot de passe.

"Je serai éternellement reconnaissant que le MIT m'ait donné, ainsi qu'à tant d'autres personnes, la liberté d'utiliser leurs ordinateurs", déclare Hopkins. "Cela signifiait beaucoup pour nous tous."

Cette politique « touristique » a duré de nombreuses années, tandis que le système ITS vivait, et que la direction du MIT la regardait avec condescendance. . Mais lorsque la machine d'Oz est devenue le pont principal entre le Laboratoire et l'ARPAnet, tout a changé. Stallman a toujours donné accès à son compte en utilisant un identifiant et un mot de passe connus, mais les administrateurs ont exigé qu'il change le mot de passe et ne le donne à personne d'autre. Richard, invoquant son éthique, a refusé de travailler sur la machine d'Oz.

"Lorsque les mots de passe ont commencé à apparaître sur les ordinateurs du AI Lab, j'ai décidé de suivre ma conviction selon laquelle il ne devrait y avoir aucun mot de passe", a déclaré plus tard Stallman, "et comme je pensais que les ordinateurs n'avaient pas besoin de systèmes de sécurité, je n'aurais pas dû soutenir ces mesures pour mettre en œuvre eux. "

Le refus de Stallman de s'agenouiller devant la grande et terrible machine Oz montrait que les tensions grandissaient entre les hackers et les supérieurs du Laboratoire. Mais cette tension n’était qu’une pâle ombre du conflit qui faisait rage au sein même de la communauté des hackers, divisée en 2 camps : LMI (Lisp Machines Incorporated) et Symbolics.

Symbolics a reçu de nombreux investissements extérieurs, ce qui a attiré de nombreux hackers du Lab. Ils ont travaillé sur le système de machine Lisp au MIT et en dehors. À la fin des années 1980, l'entreprise embaucha 14 employés du laboratoire comme consultants pour développer sa propre version de la machine Lisp. Le reste des hackers, sans compter Stallman, travaillaient pour LMI. Richard décida de ne pas prendre parti et, par habitude, se retrouva seul.

Au début, les pirates informatiques embauchés par Symbolics ont continué à travailler au MIT, améliorant le système de la machine Lisp. Comme les hackers du LMI, ils utilisaient la licence MIT pour leur code. Cela exigeait que les modifications soient renvoyées au MIT, mais n'obligeait pas le MIT à distribuer les modifications. Cependant, en 1981, les pirates ont adhéré à un gentleman's Agreement dans lequel toutes leurs améliorations étaient écrites dans la machine Lisp du MIT et distribuées à tous les utilisateurs de ces machines. Cet état de fait préservait encore une certaine stabilité du collectif des hackers.

Mais le 16 mars 1982 – Stallman se souvient bien de ce jour car c'était son anniversaire – le gentleman's Agreement prit fin. Cela s'est produit à la demande de la direction de Symbolics qui a ainsi voulu étrangler son concurrent, la société LMI, qui employait beaucoup moins de hackers. Les dirigeants de Symbolics ont raisonné ainsi : si LMI a beaucoup moins d'employés, alors il s'avère que le travail global sur la machine Lisp lui est bénéfique, et si cet échange de développements est arrêté, alors LMI sera détruit. À cette fin, ils ont décidé d’abuser de la lettre de la licence. Au lieu d'apporter des modifications à la version MIT du système, que LMI pouvait utiliser, ils ont commencé à fournir au MIT la version Symbolics du système, qu'ils pouvaient modifier comme ils le souhaitaient. Il s'est avéré que tous les tests et modifications du code machine Lisp au MIT n'étaient qu'en faveur de Symbolics.

En tant qu'homme responsable de la maintenance de la machine Lisp du laboratoire (avec l'aide de Greenblatt pendant les premiers mois), Stallman était furieux. Les pirates informatiques ont fourni au code des centaines de modifications qui ont provoqué des erreurs. Considérant cela comme un ultimatum, Stallman coupa les communications du Laboratoire avec Symbolics, jura de ne plus jamais travailler sur les machines de cette société et annonça qu'il se joindrait aux travaux sur la machine Lisp du MIT pour soutenir LMI. « À mes yeux, le Laboratoire était un pays neutre, comme la Belgique pendant la Seconde Guerre mondiale », explique Stallman, « et si l’Allemagne envahissait la Belgique, la Belgique déclarerait la guerre à l’Allemagne et rejoindrait la Grande-Bretagne et la France. »

Lorsque les dirigeants de Symbolics ont remarqué que leurs dernières innovations apparaissaient toujours sur la version MIT de la machine Lisp, ils se sont mis en colère et ont commencé à accuser les pirates du Lab de voler du code. Mais Stallman n’a en aucun cas violé la loi sur le droit d’auteur. Il a étudié le code fourni par Symbolics et a fait des suppositions logiques sur les futurs correctifs et améliorations, qu'il a commencé à implémenter à partir de zéro pour la machine Lisp du MIT. Les dirigeants de Symbolics n’y croyaient pas. Ils ont installé un logiciel espion sur le terminal de Stallman, qui enregistrait tout ce que Richard faisait. Ils espéraient donc collecter des preuves de vol de code et les montrer à l'administration du MIT, mais même au début de 1983, il n'y avait presque rien à montrer. Tout ce dont ils disposaient, c'était une douzaine d'endroits où le code des deux systèmes ressemblait un peu.

Lorsque les administrateurs du laboratoire ont montré les preuves de Symbolics à Stallman, celui-ci les a réfutées, affirmant que le code était similaire, mais pas le même. Et il a retourné la logique de la direction de Symbolics contre lui : si ces grains de code similaires sont tout ce qu'ils ont pu déterrer sur lui, alors cela prouve seulement que Stallman n'a pas réellement volé le code. Cela suffit pour que les responsables du Laboratoire approuvent le travail de Stallman, qui le poursuit jusqu'à la fin de 1983. .

Mais Stallman a changé son approche. Afin de se protéger, ainsi que le projet, autant que possible des affirmations de Symbolics, il a complètement arrêté de regarder leurs codes sources. Il a commencé à écrire du code exclusivement basé sur la documentation. Richard ne s'attendait pas aux plus grandes innovations de Symbolics, mais les a implémentées lui-même, puis a seulement ajouté des interfaces pour la compatibilité avec l'implémentation de Symbolics, en s'appuyant sur leur documentation. Il a également lu le journal des modifications du code Symbolics pour voir quels bugs ils corrigeaient, et il a lui-même corrigé ces bugs par d'autres moyens.

Ce qui s'est passé a renforcé la détermination de Stallman. Après avoir créé des analogues des nouvelles fonctions Symbolics, il a persuadé le personnel du Laboratoire d'utiliser la version MIT de la machine Lisp, qui garantissait un bon niveau de test et de détection des erreurs. Et la version MIT était complètement ouverte au LMI. «Je voulais punir la symbolique à tout prix», déclare Stallman. Cette déclaration montre non seulement que le caractère de Richard est loin d'être pacifiste, mais aussi que le conflit autour de la machine Lisp l'a touché au vif.

La détermination désespérée de Stallman peut être comprise si l'on considère à quoi cela ressemblait pour lui - la « destruction » de sa « maison », c'est-à-dire la communauté des hackers et la culture de l'AI Lab. Levy a ensuite interviewé Stallman par courrier électronique et Richard s'est comparé à Ishi, le dernier membre connu du peuple indien Yahi, qui a été exterminé lors des guerres indiennes des années 1860 et 1870. Cette analogie donne aux événements décrits une portée épique, presque mythologique. Les hackers qui travaillaient pour Symbolics ont vu les choses sous un jour légèrement différent : leur entreprise n’a pas détruit ni exterminé, mais a seulement fait ce qui aurait dû être fait depuis longtemps. Après avoir déplacé la machine Lisp dans le domaine commercial, Symbolics a changé son approche de la conception de programmes - au lieu de les découper selon les modèles purs et durs des pirates informatiques, ils ont commencé à utiliser des normes de gestionnaires plus douces et plus humaines. Et ils considéraient Stallman non pas comme un adversaire combattant défendant une juste cause, mais comme le porteur d’une pensée dépassée.

Des conflits personnels ont également alimenté le feu. Même avant l'avènement de Symbolics, de nombreux pirates informatiques évitaient Stallman, et maintenant la situation s'est encore aggravée à plusieurs reprises. « Je n'étais plus invité à faire des voyages dans le quartier chinois », se souvient Richard, « Greenblatt a lancé la coutume : lorsque vous voulez déjeuner, vous faites le tour de vos collègues et les invitez avec vous, ou leur envoyez un message. Quelque part en 1980-1981, ils ont arrêté de m'appeler. Non seulement ils ne m’ont pas invité, mais, comme une personne me l’a avoué plus tard, ils ont fait pression sur les autres pour que personne ne me parle des trains prévus pour le déjeuner.

Source: linux.org.ru

Ajouter un commentaire