この記事には広告(Amazon アソシエイトのリンク)を含みます。
テキストエディター Emacs が50年を迎えました。MIT テクノロジーレビューが2026年10月20日に「EMACS turns 50」という記事を載せ、11月1日には英 The Register がそれを受けて、起源をめぐる諸説を整理しています。いま使われているソフトウェアで、1976年から続いているものはそう多くありません。しかもこのエディターは、ただ長生きしただけでなく、フリーソフトウェア運動と GNU プロジェクトが生まれるきっかけになりました。
ただし「50年」の起点をどこに置くかは、実はそれほど単純ではありません。Emacs は一人が一日で書いたプログラムではなく、ある研究所の中で何年もかけて積み重なった道具の束だからです。2本の記事を手がかりに、その成り立ちをたどってみます。
1962年、紙テープを直すためのエディター
話の始まりは1962年、MIT の学生 Dan Murphy が PDP-1 というコンピューター向けに書いた TECO というプログラムです。名前は「Tape Editor and Corrector」の略で、当時プログラムの保存に使われていた紙テープの内容を直すための道具でした。命令は大文字1文字で、「I」で文字を挿入し、「D」で1文字消す、という具合です。やがて記憶媒体がテープから共有ディスク上のファイルに変わると、TECO の T は「Text」の意味に読み替えられました。年月がたつうちに TECO は一種のプログラミング言語に育ち、利用者は新しい編集命令、つまりマクロを自分で定義できるようになります。Murphy は2026年に83歳で亡くなりました。
1971年の秋、Carl Mikkelsen が TECO に Control-R という拡張を書きます。画面付きの端末が入ってきた時代で、Control-R を使うと編集した結果がその場で画面に映ります。それまでは一行ずつ打ち直して印字しないと、直した結果が見えませんでした。ただし画面に表示できるのは数行だけでした。

1976年、社会問題を解くために名前が付いた
1976年、MIT の AI 研究所にいた Richard Stallman は、スタンフォード大学の AI 研究所を訪ねて、E という全画面のエディターを見ます。戻った Stallman は Control-R に手を入れ、構造を大きく変えました。キーを押すたびに、そのキーに割り当てられたマクロが走るようにしたのです。これで誰でも好きなようにキーの働きを変えられるようになり、研究所のハッカーたちは競って命令を書き換え、足していきました。
これが、大学院生だった Guy L. Steele Jr. には困りごとでした。Steele は研究所のメンバーのプログラムのデバッグを手伝う立場で、各自が自分流に改造したエディターを使っていると、素の TECO を使っている人より手助けがずっと難しかったのです。そこで Steele は、全員が合意できる標準の Control-R 命令の一覧を取りまとめようとします。David Moon が手伝い、Stallman も加わって、やがて開発の主導権を引き取りました。
できあがった標準の命令群は、当時の研究所のキーボードにあった Meta キーを使うものでした。Meta-F で1語進み、Meta-B で1語戻る。この束に付けられた名前が「Editing MACroS」、EMACS です。Steele は MIT テクノロジーレビューに「よいエディターを作ろうとしたのではなく、社会問題を解こうとしていた」と語っています。
では「50年」はいつからか。The Register がたどったところ、Steele は1975年に最初の作業をしたとされますが、Steele 自身は「E と EMACS という名前は RMS(Stallman)によるもので、TECO のマクロの束を地上で最も強力なエディターにした功績の99.99%は RMS のものだ」と書いています。Stallman の1976年10月23日と31日のメールが残っていて、この月末に Stallman が開発の大半を引き受けたことが分かります。一方で Stallman は1981年の講演で「1974年に TECO の改良から EMACS の開発を始めた」とも言っている。つまり起点の取り方で、50年前にも52年前にもなるのです。MIT テクノロジーレビューと The Register は、1976年の秋を数えどころにしています。
磁気テープと返信用封筒の「共有コミューン」
Stallman は、磁気テープと切手を貼った返信用封筒を送ってきた人には誰にでも EMACS を配りました。1981年のマニュアルには「EMACS は無料だ。その代わり、あなたは EMACS ソフトウェア共有コミューンに加わることになる。加入の条件は、EMACS に加えた改良を送り返すことだ」とあります。
この条件は、長くは守られませんでした。Honeywell の Bernard Greenberg が Multics というシステム向けに自分の EMACS を書き、1980年の社内の会議で1位を取ると、Honeywell はそれを売り始めます。カーネギーメロン大学の James Gosling(のちに Java を作る人物)も自分の EMACS を書き、商品として売りました。無料で共有されていたものが有料のソフトになっていく。この経験が、Stallman に「利用者が自由に共有し改良できるオペレーティングシステム」を作る計画、GNU プロジェクトを始めさせました。GNU の最初の大きな応用ソフトが GNU Emacs です。GNU の OS 本体はまだ先の話で、GNU Emacs は当初 Unix の上で動きました。

50年目のいま
GNU Emacs はその後、Linux を含むさまざまな Unix 系のシステムで動くようになりました。Apple は2001年の Mac OS X の最初の版から GNU Emacs を同梱し、2019年に外しています。いまの macOS に残っているのは mg という小さな互換エディターで、EMACS の命令の多くが使えますが、内蔵のプログラミング言語を持たないので、本家とは別物です。それでも macOS の文字入力には EMACS 流のキー操作が隠れていて、Control-Option-B で1語戻り、Control-Option-F で1語進めます。
分岐もたくさんあります。Jamie Zawinski がかつて保守していた Lucid Emacs は XEmacs と名を変えて続き、The Register が調べたところ、2026年にも 21.5.37「lettuce」という版が出ていました。設定の複雑さから、Doom Emacs のようにあらかじめ組み上げた配布版もいくつもあります。The Register は、現代の用語との食い違いにも触れています。Emacs のマニュアルは「frame」でいまのウィンドウを、「window」でいまのペインを指し、Meta キーは、いまでは Alt か Option のことです。Meta キーが実際に付いていた Space Cadet キーボードは伝説的な希少品で、チェコで手作りされる復刻版は約3,000ユーロから7,000ユーロ近くします。
そして偶然ですが、Emacs の宿敵とされる vi も、同じ1976年に生まれています。vi は再実装の形で生き残り、Vim とその派生の Neovim、最近では AI の機能を入れない方針を掲げる Vim Classic があります。
Emacs の50年は、一つのプログラムの誕生日というより、「道具を共有し、改良を返す」という約束がどう生まれ、どう破られ、それがどう次の運動につながったか、という話でした。起点が1974年でも1976年でも、半世紀にわたって人の手で直され続けてきたテキストエディターが、いまも配布され、いまも新しい版が出ている。それ自体が、この話のいちばん分かりやすい部分かもしれません。
関連する商品
この記事に関連する本や商品は、Amazon で探せます。
上のリンクから購入されると、このブログに紹介料が入ることがあります。
画像について
この記事の画像は、ご自由にお使いいただけます。お使いになるときは、出典としてこの記事へのリンクを載せていただけるとうれしいです。
出典
- MIT Technology Review “EMACS turns 50″(2026年10月20日、Simson Garfinkel)https://www.technologyreview.com/2026/10/20/1145399/emacs-turns-50/
- The Register “‘Mother of all editors’ Emacs is 50″(2026年11月1日、Liam Proven)https://www.theregister.com/2026/11/01/mother-of-all-editors-emacs-is-50/5306727
- Jamie Zawinski “Emacs Timeline” https://www.jwz.org/doc/emacs-timeline.html
- GNU Project “EMACS: The Extensible, Customizable Display Editor”(Richard Stallman、1981年)https://www.gnu.org/software/emacs/emacs-paper.html


コメント