1970s video terminal next to magnetic tape reels and a modern laptop

EMACS is 50 years old. The first working version ran in late 1976 on the video terminals of MIT’s Artificial Intelligence Laboratory, as a set of macros on top of the TECO editor. Half a century later it is still in use, still under development and still keeps keyboard shortcuts that predate the personal computer. Along the way, it was also the tool Richard Stallman used to fund and shape the GNU Project, the Free Software Foundation and the GPL. MIT Technology Review marked the anniversary in recent weeks.

Key points in 20 seconds

  • Origin: 1976, MIT AI Lab, built on TECO and the ITS operating system for PDP-10s, by Richard Stallman, Guy Steele and David Moon.
  • The name: EMACS stands for Editor MACroS, because it was a unified set of macros.
  • The leap: Stallman started GNU Emacs in 1984 and released the first version in March 1985; its license was the forerunner of the GPL.
  • Today: still alive, with built-in LSP and tree-sitter support, remote editing through TRAMP and an active community.

From paper tape to full screen

The story starts before 1976. In 1962, Dan Murphy created TECO at MIT, the “Tape Editor and Corrector”, an editor for the PDP-1 designed to fix programs on punched paper tape. When tape gave way to files on a shared disk, the T came to mean “Text”. TECO was powerful, but it was driven by near-cryptic commands without showing the text as you edited it. In 1971, Carl Mikkelsen added a mode called Control-R that displayed edits on video terminals as they happened.

In 1976, Stallman visited Stanford’s AI Lab and saw a full-screen editor called E. Back at MIT he reworked that TECO mode so any key could run a macro, a TECO program. The lab’s hackers started writing their own commands, and everyone ended up with a personal macro collection, such as TECMAC or TMACS. That created a practical problem: Guy Steele, then a graduate student, often helped others debug their programs and kept running into keyboards configured in completely different ways.

Steele set out to unify the commands with help from David Moon, and Stallman eventually took over the project. The result, a coherent macro set with Meta-key bindings and built-in facilities for extension and self-documentation, was called EMACS. It ran on ITS, the operating system of the lab’s PDP-10s, and the first working version was ready in late 1976. Its source code from those years survives in MIT’s archives.

The EMACS “commune” and the seed of free software

Stallman shipped EMACS to anyone who sent him a magnetic tape and a postage-paid return envelope. The condition was to send back any improvements, so the editor grew with contributions from its users. It was an early form of what decades later would be called community development.

That model collided with the commercialization of software in the early 1980s. Emacs versions appeared for Unix, among them James Gosling’s, which ended up being sold as a commercial product. Stallman, who had announced the GNU Project in 1983 to build a completely free operating system, started GNU Emacs in 1984 as a free alternative. The first release came out on March 20, 1985, with Lisp as its extension language, the origin of Emacs Lisp.

GNU Emacs was far more than an editor for the movement. Its distribution included the GNU Manifesto, tape sales helped sustain the Free Software Foundation, founded in October 1985, and its license, the GNU Emacs General Public License, became the basis for the GPL that Stallman generalized in 1989 for any program. Saying Emacs “founded” free software is a simplification, since the GNU Project came first, but it was that project’s first major piece and the lab where its legal model was forged. We covered the bigger picture when GNU turned 43.

Why it is still alive half a century later

Very few programs from 1976 are still in daily use. Emacs owes its longevity to its design: a small core and a Lisp interpreter on which nearly everything else is built, so every user can adapt it without touching the base code. That gave rise to forks such as XEmacs and to a package ecosystem that turns the editor into a file manager, Git client, planner or development environment. Apple even shipped GNU Emacs with Mac OS X from 2001 until 2019.

It has not stood still either. Recent releases include Eglot, a Language Server Protocol client for IDE-style completion and diagnostics, and tree-sitter support for syntax-aware highlighting and navigation. And the eternal “editor war” with vi survives more as a joke than a real rivalry: many sysadmins use both depending on the context.

Emacs for sysadmins

For anyone running servers, a few features make it worth a try even if you come from vim or nano:

  • TRAMP: edit remote files over SSH as if they were local, with nothing installed on the server, even through sudo: C-x C-f /ssh:user@server|sudo:server:/etc/nginx/nginx.conf.
  • Dired: a file manager inside the editor for batch renaming, copying or changing permissions, remotely too.
  • Terminal and daemon mode: emacs -nw works over an SSH session with no GUI, and emacs --daemon plus emacsclient keeps a resident instance that opens files instantly.
  • Shells and Git: M-x eshell or M-x term bring the command line inside, and packages like Magit provide one of the most praised Git clients around.
# Debian / Ubuntu (no GUI)
sudo apt install emacs-nox
# RHEL, Rocky, AlmaLinux, Fedora
sudo dnf install emacs-nox

# Basic shortcuts
C-x C-f   open file          C-x C-s   save
C-x C-c   quit               C-g       cancel
C-s       search             M-x       run command
C-h t     built-in tutorialCode language: PHP (php)

The built-in tutorial (C-h t) is still the best way in: in half an hour it explains the logic of its key bindings, the same ones, with few changes, that MIT hackers used fifty years ago.

Frequently asked questions

When was Emacs created?

The first EMACS ran in late 1976 at MIT’s AI Lab as a set of macros for the TECO editor. GNU Emacs, the free version used today, was started in 1984 and released in March 1985.

Who created Emacs?

Richard Stallman, Guy Steele and David Moon, building on macro collections by other MIT hackers. Stallman led the project and later wrote GNU Emacs.

What does Emacs have to do with free software?

GNU Emacs was the GNU Project’s first major piece: its distribution included the GNU Manifesto, it helped fund the Free Software Foundation and its license was the direct forerunner of the GPL.

Does Emacs still make sense on a server?

Yes. It runs in a terminal (emacs -nw), edits remote files over SSH through TRAMP with nothing installed on the server, and includes an LSP client and tree-sitter support.

Source: MIT Technology Review, Software Preservation Group (Computer History Museum) and GNU Project documentation

Scroll to Top