History of Emacs the Text Editor Operative System

Cette vidéo retrace l’histoire d’Emacs, de ses origines au MIT AI Lab en 1976 jusqu’à sa renaissance actuelle, en montrant comment ce logiciel incarne une philosophie de liberté et de possession totale du code, bien au-delà de la simple fonction d’éditeur de texte.

Voir la source

SYNTHÈSE STRUCTURÉE

Les origines : TECO et la culture hacker du MIT

Dans les années 1970, le MIT AI Lab était un lieu unique où les hackers partageaient et modifiaient librement le code. L’éditeur utilisé, TECO, n’était pas un simple éditeur mais un langage de programmation manipulant du texte. Richard Stallman et Guy Steele ont collecté et organisé des macros pour créer EMACS (Editor MACroS). Le nom lui-même révèle qu’il s’agissait d’un ensemble d’extensions, pas d’un programme autonome. L’intervenant souligne : « The name tells you everything about what it was at the beginning. Not a standalone program, but a set of extensions on top of something else. »

Le contrat social : partager ou ne pas partager

Stallman a imposé une règle morale : si vous utilisez EMACS, vous devez partager vos améliorations avec la communauté. Ce n’était pas encore une licence, mais une norme culturelle. « You take from the commons, you give back to the commons. » Cette idée, radicale à l’époque face à la montée du logiciel propriétaire, a jeté les bases du mouvement du logiciel libre.

La naissance de GNU Emacs et la GPL

James Gosling a écrit Gosling Emacs en C en 1981, mais il a vendu les droits à Unipress, le rendant propriétaire. Stallman a dû repartir de zéro pour créer GNU Emacs, sorti en 1985. Ce fut le premier programme publié sous le projet GNU, lancé en 1983. L’intervenant insiste : « The first concrete output of the new project, the project that would eventually give birth to the GPL, to GCC, to the entire foundation that Linux would later rest on, was a text editor. » La GPL a été formalisée pour protéger GNU Emacs, introduisant le concept de copyleft.

L’architecture : C + Emacs Lisp

Le cœur de GNU Emacs est écrit en C, mais presque tout le reste est en Emacs Lisp. Cette conception permet de modifier et recharger n’importe quelle fonction sans redémarrer l’éditeur. L’intervenant explique : « The boundary between using software and writing software dissolves. This is not a feature. It is a philosophy made executable. » Concrètement, vous pouvez ouvrir le code source d’une fonction en cours d’utilisation, le modifier et le recharger instantanément.

La guerre des éditeurs : Emacs vs Vi

Dans les années 1980-1990, un conflit culturel a opposé Emacs (extensible, environnement complet) à Vi (petit, rapide, modal). L’intervenant résume les stéréotypes : « Emacs users: academics, idealists, people with large monitors and small keyboards. Vi users: pragmatists, minimalists, people who believe that a text editor should know its place. » Ce conflit n’a jamais été tranché et se poursuit aujourd’hui avec Neovim et VS Code.

Le schisme interne : Lucid Emacs / XEmacs

Au début des années 1990, la société Lucid Inc. a créé une version modifiée d’Emacs, Lucid Emacs, devenue XEmacs. Les deux codebases ont divergé, créant une fragmentation de la communauté. Bien que XEmacs ait innové (fonctionnalités plus modernes), il a perdu de l’élan. GNU Emacs a finalement absorbé ses leçons. L’intervenant note : « The Emacs community learned something about the cost of division that other open source projects would have to learn again and again. »

La renaissance moderne : Spacemacs, Doom Emacs et Evil Mode

Dans les années 2010, alors qu’Emacs semblait dépassé par les IDE modernes, des distributions comme Spacemacs et Doom Emacs l’ont rendu accessible. Evil Mode a apporté les raccourcis clavier de Vim dans Emacs, permettant aux utilisateurs de Vim de conserver leur muscle memory. L’intervenant commente : « Evil mode was either a compromise or a synthesis, depending on your perspective. For the old guard, it was heresy. For thousands of new users, it was the bridge that made Emacs approachable. »

Org Mode : le logiciel le plus important en Emacs Lisp

Org Mode est un outil de prise de notes, de gestion de tâches, d’exportation de documents et de programmation littéraire. Il n’a pas d’équivalent ailleurs. L’intervenant le décrit comme « the single most important piece of software ever written in Emacs Lisp ». Il permet de gérer des projets, écrire des articles académiques, et même construire des systèmes de gestion de vie entiers.

Magit : la meilleure interface Git

Magit est une interface Git intégrée dans Emacs, souvent considérée comme la meilleure interface Git existante, surpassant les clients graphiques et le terminal. L’intervenant affirme : « It is routinely described by people who use it as the best Git interface in existence. Better than any standalone GUI client. Better than the terminal. »

Améliorations récentes : compilation native et Tree-sitter

GNU Emacs version 29 a introduit la compilation native via libgccjit, transformant le code Emacs Lisp en code machine natif pour des performances nettement améliorées. L’intégration de Tree-sitter a apporté un parsing syntaxique de haut niveau, comparable aux serveurs de langage dédiés. L’intervenant conclut : « The editor that people were writing off as obsolete in 2010 is in 2025 technically more capable than it has ever been. »

CONCEPTS CLÉS

  • Copyleft : Principe juridique introduit par la GPL garantissant que les modifications d’un logiciel libre doivent rester libres sous les mêmes termes.
  • Emacs Lisp : Langage de programmation utilisé pour étendre et personnaliser Emacs, basé sur Lisp.
  • Evil Mode : Extension Emacs qui implémente les raccourcis clavier de Vim, permettant une transition en douceur pour les utilisateurs de Vim.
  • Org Mode : Mode Emacs pour la prise de notes, la gestion de tâches, l’exportation de documents et la programmation littéraire.
  • Magit : Interface Git intégrée dans Emacs, reconnue pour sa puissance et sa fluidité.
  • Tree-sitter : Bibliothèque de parsing syntaxique incrémental utilisée par Emacs pour une analyse de code précise et rapide.

CONCLUSION

Emacs n’est pas qu’un éditeur de texte : c’est une plateforme que vous possédez entièrement, que vous pouvez comprendre et modifier à tous les niveaux. Dans un monde où les outils deviennent des services cloud surveillés et limités, Emacs représente une alternative radicale : un logiciel qui vous appartient vraiment. L’intervenant résume : « What Emacs really is, underneath all the jokes and the key bindings and the Lisp and the decades of accumulated complexity, is an argument. An argument about what software should be, who it should serve, and what it means for a tool to truly belong to the person using it. » Ce message reste pertinent en 2025, alors que la question de la souveraineté numérique n’a jamais été aussi cruciale.

Du même canal

Tout voir