行単位のエディターからプログラム可能な画面へ

Emacsは2026年に50周年を迎えた。MIT人工知能研究所のビデオ端末で初めて動作してから半世紀となる。コンピューターの世界でこれほど長く使われることは珍しいが、より大きな意義は、現代のソフトウェアの中心となった二つの考え方にある。利用者が幅広くカスタマイズできる道具と、改良を共有するコミュニティーだ。

このエディターは、ダン・マーフィーが1962年にMITのPDP-1コンピューター向けに作成したプログラム、TECOから生まれた。TECOは当初、Tape Editor and Correctorとして、テキストの挿入や削除といった操作を文字のコマンドで実行するものだった。後に、プログラマーが編集用マクロを構築できる言語へと発展した。

1971年、カール・ミケルセンは、変更をビデオ端末に直接表示するTECOの追加機能、Control-Rを開発した。これにより、行を何度も印字する必要は減ったが、当初の表示で見られるのはファイルのごく一部だけだった。リチャード・ストールマンは1976年にスタンフォード大学の人工知能研究所を訪れた際、全画面エディターに出会い、Control-Rを改良しようとMITに戻った。彼が設計した仕組みでは、それぞれのキーがマクロを呼び出すようになり、大幅なカスタマイズが可能になった。

研究所のメンバーが異なるコマンド群を作るなか、ガイ・スティールは、プログラマーが互いの設定をより容易に使い、デバッグできるよう、共通の標準を求めた。スティール、デイヴィッド・ムーン、ストールマンらは、共通のコマンド群へと収束していった。Emacsという名前は、エディター、あるいは編集用のマクロを指すものだった。連携上の問題を解決する試みという側面もあった取り組みは、プログラムやメッセージ、通常の文章を書くために使われる柔軟なエディターとなった。

共有が設計の一部になった

ストールマンは、磁気テープと返送用の郵送料を用意した人に、購入代金を求めずEmacsを配布した。この仕組みでは、利用者に改良を送り返すよう求め、参加をソフトウェア共有コミュニティーの一員になることと位置付けた。その後、Multics向けの版や、ジェームズ・ゴスリングに関係する商用版など、別の実装も登場した。

プロプライエタリーな版の台頭は、ストールマンが後にGNUプロジェクトを立ち上げる動機の一つとなった。同プロジェクトは、利用者が自由に共有し、改変できるオペレーティングシステムの構築を目指した。GNU Emacsはその最初の主要アプリケーションとなり、当初はUnix上で動作し、その後、多数のプラットフォームへと広がった。

Emacsは、自身のアプリケーションの外にも痕跡を残した。Appleは2001年のMac OS Xの初回リリースからGNU Emacsを同梱したが、2019年にはその版の提供を終了した。Emacs式のカーソル移動などのコマンドは、Appleのソフトウェアの一部で今も利用できる。

50年を経てもこのエディターが使われ続ける理由は、単に使い慣れているからだけではない。プログラム可能な中核部分によって、利用者は固定されたインターフェースを受け入れるだけでなく、作業の流れそのものを組み替えられる。それと同じく重要なのは、初期の配布モデルが、技術的な柔軟性と、改良は広く行き渡るものだという期待を結び付けたことだ。この組み合わせは、テキスト編集の範囲をはるかに超え、自由ソフトウェアの文化と道具に影響を与えた。