Free as in Freedom en français : Chapitre 7. Le dilemme de la morale absolue


Free as in Freedom en français : Chapitre 7. Le dilemme de la morale absolue

Free as in Freedom en français : Chapitre 1. L'imprimante fatale


Free as in Freedom en français : Chapitre 2. 2001 : Une odyssée hacker


Free as in Freedom en français : Chapitre 3. Portrait d'un hacker dans sa jeunesse


Free as in Freedom en français : Chapitre 4. Révéler le dieu


Free as in Freedom en français : Chapitre 5. Un ruisseau de liberté


Free as in Freedom en russe : Chapitre 6. La commune Emacs

Le dilemme de la morale absolue

À minuit et demi, le 27 septembre 1983, un message inhabituel a été publié dans le groupe Usenet net.unix-wizards, signé rms@mit-oz. Ce message était intitulé de manière concise et très accrocheuse : « Nouvelle implémentation de UNIX ». Mais au lieu d'une nouvelle version prête de Unix, le lecteur trouvait un appel :

En ce jour de Thanksgiving, je commence à écrire un nouveau système d'exploitation entièrement compatible avec Unix, qui sera nommé GNU (GNU's Not Unix). Je vais le distribuer gratuitement à tous ceux qui le souhaitent. J'ai vraiment besoin de votre temps, de votre argent, de votre code, de votre équipement – de toute aide.

Aux yeux d'un développeur Unix expérimenté, le message semblait un mélange d'idéalisme et de grande estime de soi. L'auteur ne se contentait pas de vouloir recréer de zéro un système d'exploitation entier, déjà bien développé et puissant, mais il souhaitait également l'améliorer. Le système GNU devait inclure tous les composants nécessaires, tels qu'un éditeur de texte, un interpréteur de commandes, un compilateur, ainsi que « plusieurs autres choses ». Il promettait également des fonctionnalités très attrayantes qui n'existaient pas dans les systèmes Unix existants : une interface graphique en langage de programmation Lisp, un système de fichiers résistant aux pannes, et des protocoles réseau basés sur l'architecture réseau du MIT.

« GNU pourra exécuter des programmes Unix, mais ne sera pas identique au système Unix, écrivait l'auteur, nous ferons toutes les améliorations nécessaires qui ont mûri au fil des ans dans divers systèmes d'exploitation. »

Prédisant la réaction sceptique à son message, l'auteur l'a complété par un bref extrait autobiographique sous le titre : « Qui suis-je ? » :

Je suis Richard Stallman, le créateur de l'éditeur original EMACS, dont l'un des clones vous avez probablement déjà entendu parler. Je travaille au Laboratoire d'IA du Massachusetts Institute of Technology. J'ai une grande expérience dans le développement de compilateurs, d'éditeurs, de débogueurs, d'interprètes de commandes, des systèmes d'exploitation ITS et Lisp Machine. J'ai réalisé un support d'écran indépendant des terminaux dans ETS, ainsi qu'un système de fichiers tolérant aux pannes et deux systèmes de fenêtres pour les machines Lisp.

Il se trouve que le projet élaboré de Stallman n'a pas démarré le jour de Thanksgiving, comme promis. Ce n'est qu'en janvier 1984 que Richard s'est pleinement consacré au développement de logiciels de style Unix. Du point de vue de l'architecte système d'ITS, c'était comme passer de la construction de palais mauresques à celle de centres commerciaux suburbains. Cependant, le développement du système Unix présentait aussi des avantages. ITS, malgré sa puissance, avait un point faible : elle ne fonctionnait que sur l'ordinateur PDP-10 de DEC. Au début des années 80, le laboratoire a abandonné le PDP-10, et ITS, comparée par les hackers à une ville animée, est devenue une ville fantôme. Unix, quant à lui, avait été conçu dès le départ pour être portable 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 a échappé aux radars des entreprises et a trouvé un refuge paisible dans le monde non lucratif des centres de recherche. Avec moins de ressources que leurs homologues hackers du MIT, les développeurs d'Unix ont adapté leur système pour fonctionner sur un éventail hétérogène de matériel. Principalement sur le PDP-11 16 bits, que les hackers du laboratoire jugeaient inadapté aux tâches sérieuses, mais aussi sur des mainframes 32 bits comme le VAX 11/780. D'ici 1983, des entreprises comme Sun Microsystems avaient créé des ordinateurs de bureau relativement compacts – des « stations de travail », comparables en puissance à l'ancien mainframe PDP-10. C'est sur ces stations de travail que le tout-puissant Unix s'est également installé.

La portabilité d'Unix était assurée par une couche supplémentaire d'abstraction entre les applications et le matériel. Au lieu d'écrire des programmes en codes machine spécifiques à un ordinateur, comme le faisaient les hackers du Laboratoire en développant des programmes pour ITS sur PDP-10, les développeurs d'Unix utilisaient le langage de programmation C, qui n'était pas lié à une plateforme matérielle spécifique. Les développeurs ont ainsi mis l'accent sur la normalisation des interfaces à travers lesquelles les différentes parties du système d'exploitation interagissaient. Finalement, cela a abouti à un système où n'importe quelle partie pouvait être modifiée sans affecter les autres parties et sans compromettre leur fonctionnement. Pour transférer le système d'une architecture matérielle à une autre, il suffisait également de modifier une seule partie du système, plutôt que de réécrire l'ensemble. Les spécialistes ont apprécié ce niveau fantastique de flexibilité et de commodité, ce qui a permis à Unix de se répandre rapidement dans le monde informatique.

Stallman a décidé de créer le système GNU en raison de la disparition d'ITS, le chérubin des hackers du Laboratoire d'IA. La mort d'ITS a été un coup dur pour eux, y compris pour Richard. Si l'incident avec l'imprimante laser Xerox lui a ouvert les yeux sur l'injustice des licences propriétaires, la disparition d'ITS l'a incité à passer de son rejet des logiciels fermés à une opposition active contre ceux-ci.

Les raisons de la disparition d'ITS, tout comme son code, remontaient loin dans le passé. En 1980, la plupart des hackers du Laboratoire travaillaient déjà sur une machine Lisp et un système d'exploitation pour celle-ci.

Lisp est un langage de programmation élégant, parfaitement adapté pour travailler avec des données dont la structure est inconnue à l'avance. Il a été créé par John McCarthy, un pionnier de la recherche en intelligence artificielle et créateur du terme même « intelligence artificielle », qui travaillait au MIT dans la seconde moitié des années 50. Le nom du langage est l'acronyme de « LISt Processing » ou « traitement de listes ». Après le départ de McCarthy du MIT pour Stanford, des hackers du laboratoire ont légèrement modifié Lisp, créant son dialecte localisé MACLISP, où les trois premières lettres désignaient le projet MAC, qui est à l'origine de la création du laboratoire d'IA au MIT. Sous la direction de l'architecte système Richard Greenblatt, les hackers 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 concurrents de hackers ont fondé deux entreprises pour la fabrication et la vente de machines Lisp. L'entreprise de Greenblatt s'appelait Lisp Machines Incorporated ou simplement LMI. Il espérait s'en sortir sans investissements extérieurs et créer une entreprise purement « hacker ». Mais la plupart des hackers ont rejoint Symbolics, une startup commerciale ordinaire. En 1982, ils avaient déjà quitté le MIT.

Ceux qui sont restés étaient si peu nombreux qu'on pouvait les compter sur une main, ce qui faisait que les programmes et les machines mettaient de plus en plus de temps à être réparés, ou n'étaient pas réparés du tout. Et pire encore, selon Stallman, des changements « démographiques » ont commencé à se produire au laboratoire. Les hackers, qui étaient déjà en minorité, ont presque disparu, laissant le laboratoire entièrement sous le contrôle des enseignants et des étudiants, dont l'attitude envers le PDP-10 était carrément hostile.

En 1982, le laboratoire d'IA a remplacé son PDP-10 âgé de 12 ans par le DECSYSTEM 20. Les applications écrites pour le PDP-10 fonctionnaient sans problème sur le nouvel ordinateur car le DECSYSTEM 20 était essentiellement une version mise à jour du PDP-10. Cependant, le système d'exploitation précédent n'était pas du tout adapté – ITS devait être porté sur le nouvel ordinateur, ce qui signifiait quasiment tout réécrire. Et c'était à une époque où presque tous les hackers qui auraient pu s'en charger avaient quitté le laboratoire. Ainsi, un système d'exploitation commercial, Twenex, a rapidement pris le dessus sur le nouvel ordinateur. Les quelques hackers restés au MIT devaient simplement s'y résigner.

"Sans les hackers pour créer et maintenir le système d'exploitation, nous sommes condamnés, disaient les membres du corps professoral et les étudiants, nous avons besoin d'un système commercial soutenu par une entreprise, afin qu'elle puisse elle-même résoudre les problèmes de ce système." Stallman se souvient que cet argument s'est avéré être une terrible erreur, mais à ce moment-là, il semblait convaincant.

Au début, les hackers considéraient Twenex comme une nouvelle incarnation de la corporatocratie autoritaire qu'ils avaient envie de briser. Même dans son nom, on percevait l'antipathie des hackers – le système s'appelait en fait TOPS-20, indiquant une continuité avec TOPS-10, également un système commercial de DEC pour le PDP-10. Mais architecturalement, TOPS-20 n'avait rien en commun avec TOPS-10. Il a été conçu sur la base du système Tenex, développé par l'entreprise Bolt, Beranek and Newman pour le PDP-10. Stallman a commencé à appeler le système "Twenex" simplement pour ne pas l'appeler TOPS-20. "Le système était bien loin des meilleures solutions, donc je ne pouvais pas me résoudre à l'appeler par son nom officiel, se souvient Stallman, alors j'ai inséré un 'w' dans 'Tenex', ce qui a donné 'Twenex'." (Ce nom joue sur le mot « twenty », c’est-à-dire « vingt »)

L'ordinateur sur lequel fonctionnait Twenex/TOPS-20 était ironiquement appelé "Oz". En fait, le DECSYSTEM 20 nécessitait une petite machine PDP-11 pour faire fonctionner le terminal. Un hacker, voyant pour la première fois une connexion entre le PDP-11 et cet ordinateur, a comparé cela à la grande révélation du Magicien d'Oz. "Je suis le grand et terrible Oz! a-t-il proclamé. – Ne regardez pas la petitesse de ce qui me fait fonctionner."

Cependant, 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 étaient intégrés à Twenex au niveau de base, et ses utilitaires avec les applications avaient également été conçus en tenant compte de la sécurité. Les plaisanteries condescendantes sur les systèmes de sécurité du Laboratoire s'étaient transformées en une véritable bataille pour le contrôle de l'ordinateur. Les administrateurs affirmaient que sans les systèmes de sécurité, Twenex serait instable et vulnérable aux erreurs. Les hackers soutenaient qu'une stabilité et une fiabilité bien plus rapides pouvaient être atteintes en modifiant le code source du système. Mais ils étaient si peu nombreux dans le Laboratoire que personne ne les écoutait.

Les hackers pensaient qu'ils pouvaient contourner les restrictions de sécurité en donnant à tous les utilisateurs des « privilèges de contrôle » - des droits accrus permettant de faire beaucoup de choses interdites aux utilisateurs ordinaires. Mais dans ce cas, n'importe quel utilisateur pouvait retirer les « privilèges de contrôle » à un autre utilisateur, qui ne pouvait pas les récupérer par défaut. Les hackers décidèrent donc de prendre le contrôle du système en retirant les « privilèges de contrôle » à tous, sauf à eux-mêmes.

La tentative de craquer les mots de passe et de lancer un débogueur pendant le démarrage du système n'a rien donné. Après avoir échoué dans le «coup d'État», Stallman a envoyé un message à tous les employés du Laboratoire.

« Jusqu'à présent, les aristocrates avaient été vaincus, écrivait-il, mais maintenant ils ont repris le dessus, et la tentative de s'emparer du pouvoir a échoué. » Richard a signé le message : « Radio Free OZ », afin que personne ne devine que c'était lui. Une excellente couverture, étant donné que tout le monde au Laboratoire connaissait l'attitude de Stallman envers les systèmes de sécurité et ses moqueries sur les mots de passe. D'ailleurs, le dégoût de Richard pour les mots de passe était connu bien au-delà du MIT. Sous le compte utilisateur de Stallman, presque tout l'ARPAnet – l'ancêtre d'Internet à l'époque – accédait aux ordinateurs du Laboratoire. Ainsi, un tel « touriste » était, par exemple, Don Hopkins, un programmeur de Californie, qui avait appris par le bouche-à-oreille des hackers qu'il pouvait accéder au célèbre système ITS au MIT simplement en entrant les 3 lettres des initiales de Stallman comme identifiant et mot de passe.

«Je suis infiniment reconnaissant envers le MIT pour avoir permis à moi et à de nombreuses autres personnes d'utiliser librement leurs ordinateurs, dit Hopkins. Cela a beaucoup compté pour nous tous.»

Cette politique «touristique» a duré de nombreuses années tant que le système ITS a survécu, et la direction du MIT l'a regardée avec bienveillance. Mais quand la machine Oz est devenue le principal pont entre le laboratoire et l'ARPAnet, tout a changé. Stallman continuait à donner accès à son compte avec un identifiant et un mot de passe connus, mais les administrateurs lui ont demandé de changer son mot de passe et de ne plus le divulguer. Richard, invoquant son éthique, a catégoriquement refusé de travailler sur la machine Oz.

«Lorsque les mots de passe ont commencé à apparaître sur les ordinateurs du Laboratoire d'IA, j'ai décidé de suivre ma conviction qu'il ne devrait pas y avoir de mots de passe, a déclaré plus tard Stallman. Et puisqu'il estimait que les ordinateurs n'avaient pas besoin de systèmes de sécurité, je ne devais pas soutenir ces mesures de leur mise en œuvre.»

Le refus de Stallman de se plier devant la grande et redoutable machine Oz montrait qu'il y avait une tension croissante entre les hackers et la direction du Laboratoire. Mais cette tension n'était qu'une pâle ombre du conflit qui faisait rage à l'intérieur même de la communauté hacker, qui s'était divisée en deux camps : LMI (Lisp Machines Incorporated) et Symbolics.

Symbolics a reçu de nombreux investissements de l'extérieur, attirant ainsi de nombreux hackers du Laboratoire. Ils ont travaillé sur le système de la machine Lisp tant au MIT qu'en dehors de celui-ci. À la fin de 1980, l'entreprise a engagé 14 anciens employés du Laboratoire comme consultants pour développer sa propre version de la machine Lisp. Les autres hackers, à l'exception de Stallman, travaillaient pour LMI. Richard a choisi de ne prendre le parti de personne et, comme à son habitude, restait à l'écart.

Dans les premiers temps, les hackers engagés par Symbolics ont continué à travailler au MIT, perfectionnant le système de la machine Lisp. Tout comme les hackers de LMI, ils utilisaient pour leur code la licence MIT. Celle-ci exigeait que les modifications soient renvoyées au MIT, mais ne demandait pas au MIT de les diffuser. Cependant, tout au long de l'année 1981, les hackers ont respecté un accord de gentlemen, selon lequel toutes leurs améliorations étaient intégrées à la machine Lisp du MIT et diffusées parmi tous les utilisateurs de ces machines. Cet état de choses maintenait encore une certaine stabilité au sein de la communauté hacker.

Mais le 16 mars 1982 - Stallman se souvient bien de ce jour, car c'était son anniversaire - l'accord de gentleman a pris fin. Cela s'est produit sous l'impulsion de la direction de Symbolics, qui souhaitait ainsi étouffer son concurrent, la société LMI, pour laquelle il y avait beaucoup moins de hackers. Les dirigeants de Symbolics ont raisonné de la manière suivante : si LMI a beaucoup moins d'employés, cela signifie que le travail collectif sur la machine Lisp leur est particulièrement avantageux, et si cet échange de travaux est interrompu, LMI sera détruite. Dans ce but, ils ont décidé de profiter de la lettre de la licence. Au lieu d'apporter des modifications à la version MIT du système, que LMI aurait pu utiliser, ils ont commencé à fournir à MIT la version Symbolics du système, qu'ils pouvaient modifier à leur guise. Il s'est avéré que tout test et toute modification du code de la machine Lisp à MIT n'allaient que dans le sens de Symbolics.

En tant que personne responsable de l'entretien de la machine Lisp de laboratoire (pendant les premiers mois - avec l'aide de Greenblatt), Stallman est devenu furieux. Les hackers de Symbolics ont fourni un code comportant des centaines de modifications qui provoquaient des erreurs. Considérant cela comme un ultimatum, Stallman a débranché la ligne de communication du laboratoire avec Symbolics, a juré de ne plus jamais travailler sur les machines de cette société et a annoncé son engagement à travailler sur la machine Lisp de MIT pour soutenir LMI. "À mes yeux, le laboratoire était un pays neutre, comme la Belgique pendant la Seconde Guerre mondiale, - raconte Stallman, - et si l'Allemagne envahit la Belgique, celle-ci déclare la guerre à l'Allemagne et se joint à la Grande-Bretagne et à la France".

Lorsque les dirigeants de Symbolics ont remarqué que leurs dernières innovations apparaissaient également sur la version MIT de la machine Lisp, ils se sont fâchés et ont commencé à accuser les hackers du Laboratoire de vol de code. Mais Stallman n'a enfreint aucune loi sur les droits d'auteur. Il a étudié le code fourni par Symbolics et a formulé des hypothèses logiques sur les corrections et améliorations futures, qu'il a ensuite mises en œuvre à 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 ainsi rassembler des preuves de vol de code et les présenter à l'administration du MIT, mais même au début de 1983, il n'y avait presque rien à montrer. Tout ce qu'ils avaient, c'était une douzaine d'endroits où le code des deux systèmes semblait un peu similaire.

Lorsque les administrateurs du Laboratoire ont montré les preuves à Symbolics, Stallman les a réfutées en disant que le code était effectivement similaire, mais pas identique. Il a retourné la logique des dirigeants de Symbolics contre eux-mêmes : si ces bribes de code similaire étaient tout ce qu'ils avaient réussi à trouver, cela prouvait simplement que Stallman n'avait en réalité pas volé de code. Cela a suffi pour que les dirigeants du Laboratoire approuvent le travail de Stallman, et il a continué jusqu'à la fin de 1983.

Mais Stallman a changé son approche. Pour se protéger au maximum, lui et son projet des réclamations de Symbolics, il a complètement cessé de consulter leur code source. Il a commencé à écrire du code uniquement à partir de la documentation. Les plus grandes innovations n'étaient pas des choses que Richard attendait de Symbolics, mais qu'il réalisait lui-même, ajoutant ensuite des interfaces pour la compatibilité avec l'implémentation de Symbolics, en se basant sur leur documentation. Il a également consulté les journaux des modifications dans le code de Symbolics pour comprendre quelles erreurs ils avaient corrigées et a réparé ces erreurs lui-même, par d'autres moyens.

Ce qui se passait renforçait la détermination de Stallman. En créant des équivalents des nouvelles fonctionnalités de Symbolics, il a persuadé le personnel du Laboratoire d'adopter la version MIT de la machine Lisp, ce qui a permis un bon niveau de tests et de détection des erreurs. La version MIT était complètement ouverte à LMI. « Je voulais punir Symbolics à tout prix », raconte Stallman. Cette déclaration montre non seulement que le caractère de Richard est loin du pacifisme, mais aussi que le conflit autour de la machine Lisp l'a profondément touché.

La détermination désespérée de Stallman peut être comprise si l'on considère comment les événements lui avaient semblé : une « destruction » de sa « maison », c'est-à-dire de la communauté hacker et de la culture du Laboratoire d'IA. Plus tard, Levy a interviewé Stallman par e-mail, et Richard s'est comparé à Ishi – le dernier représentant connu du peuple indien Yahi, exterminé lors des guerres indiennes des années 1860-1870. Cette analogie confère aux événements une ampleur épique, presque mythologique. Les hackers de Symbolics voyaient les choses sous un angle quelque peu différent : leur entreprise ne détruisait ni n'anéantissait, elle faisait seulement ce qui devait être fait depuis longtemps. En déplaçant la machine Lisp dans le domaine commercial, Symbolics a changé l'approche de la conception des logiciels – au lieu de les adapter à des modèles rigides de hackers, des normes plus douces et humaines, celles des managers, ont commencé à être utilisées. Et ils ne considéraient pas Stallman comme un combattant défendant une cause juste, mais comme un porteur de pensées obsolètes.

Des querelles personnelles ont également ajouté de l'huile sur le feu. Même avant l'apparition de Symbolics, de nombreux hackers évitaient Stallman, et la situation s'est maintenant considérablement détériorée. « Je n'étais plus invité à des repas à Chinatown, se souvient Richard, Greenblatt a donné le coup d'envoi à une tradition : lorsque tu veux déjeuner, tu fais le tour de tes collègues et tu les invites, ou tu leur envoies un message. Vers 1980-1981, j'ai cessé d'être invité. Non seulement ils ne m'invitaient plus, mais, comme un homme me l'a avoué plus tard, ils faisaient pression sur les autres pour que personne ne me parle des déjeuners prévus. »

Source : linux.org.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster