Emacs
1978年にはハネウェルケンブリッジ情報システム研究所でBernard Greenberg(英語版)によりMultics Emacs(英語版)がほぼ全てをMultics MACLISPを用いて書かれ、その後Richard Soley(英語版)とBarry Margolinによりメンテナンスされた。GNU Emacsを含むEmacsのバージョンの多くは後に拡張言語としてLISPを採用することになる。UNIXで動作する最初のEmacs風エディタは、後にNeWSやJavaの開発で知られることになるジェームス・ゴスリングが1981年に書いたGosling Emacsであった。 これはCで書かれ、Mocklisp(英語版)というLISP風構文の拡張言語を使っていた。Mocklispにはシンボルもリストもなく、構文がLISP風なだけで本当のLISPではない。Gosling Emacsは、現在広く使われているフリーソフトウェアのGNU EmacsやMeadowとは異なりプロプライエタリソフトウェアであった。
Emacsは1970年代のMIT人工知能研究所(MIT AI研)で産声をあげた。 AI研で使われていたPDP-6やPDP-10のオペレーティングシステムはIncompatible Timesharing System (ITS) であり、そのデフォルトエディタはTECOというラインエディタであった。TECOは現在の一般的なテキストエディタとは違い、追加・編集・表示用にそれぞれ別々のモードが存在していた。そのため文字を入力しても即座に反映されるわけではなく、代わりにTECOコマンド言語の i 文字を入力して入力モードに切り替えてから必要な文字を入力し、最後に ESC 文字を入力してエディタをコマンドモードに再度切り替える必要があり(上書きが可能なため、同様のテクニックが使われた)、しかも入力モードで編集中の文字は画面に表示されなかった。なお、この振る舞いは現在も使われているedやviと同じである。
リチャード・ストールマンは、1972年と1974年にスタンフォード人工知能研究所を訪れ、Fred Wrightにより書かれたその研究所の「E」エディタを目にした。Eの振る舞いは今のエディタの大半で使われている直感的なWYSIWYGであり、ストールマンはその機能に触発されてMITに戻った。 AI研ハッカーの一人であるCarl Mikkelsenは、利用者がキー操作するたびに画面表示を更新するControl-Rという表示・編集を組み合わせたモードをTECOに追加していた。
Emacsの移植は理論上中核部のみを新しいプラットフォームへ移植すればよい。このため一度中核部が移植されれば、Cよりも高級な言語で実装された部分は最小限度の作業で済む。
GNU Emacsの開発は伽藍とバザールで伽藍式開発の例にあげられていたように、1999年まで比較的閉鎖的だったが、それ以降は公開された開発メーリングリストと匿名CVSアクセスを採用するようになった。GNU Emacsの開発は2008年までは単一のCVSトランクで行われていたが2009年末より分散型バージョン管理システムであるBazaarに切り替えられ、さらに2014年11月11日にGitへと移行した。
ストールマンは長らくGNU Emacsの主要な管理者を務めていたが、時代と共にその役目から退いていった。2008年から2015年まで管理はStephan MonnierとChong Yidongに引き継がれている。2015年にMITにおけるストールマンとの会合の後、John Wiegleyがメンテナとして指名された。2014年の時点で、GNU Emacsはその歴史を通じて579人によりコミットされてきた。
GNU Emacs のバージョンは 1985年のうちに 17 まであがったが、それ以降は更新は落ち着いた速度で行われている。
EmacsのLispベースの設計の欠点は、Lispコードの読込み、解釈 に伴う性能への負荷である。 Emacsが最初に実装されたシステムでは大抵、競合するテキストエディタよりかなり遅かった。このことをジョークにした、頭文字による略語がEMACSになる文がいくつか存在する(このようなジョークは他にも存在し、例えばユーザー・インターフェースをネタにした (Escape Meta Alt Control Shift) などがある)。
Eight Megabytes And Constantly Swapping(8MBでちょくちょくスワップ - 8MBのメモリーが広かった時代の話)
Emacs Makes A Computer Slow(Emacsはコンピュータを遅くする)
Eventually Mallocs All Computer Storage(結局コンピュータの全記憶装置をmallocする)
Eventually Makes All Computers Sick(結局全コンピュータをビョーキにする)
ただし、最近のコンピュータは十分速くなり、以前言われていたほどEmacsを遅いと感じることはめったになくなった。実際、Emacsは最近のワードプロセッサよりも素速く立ち上がる。
さらに、GNU Emacs 23以降はEmacsをサーバープログラムとして立ち上げておくデーモンモードが追加された。この場合、Emacs本体はOS起動時に自動的に一度起動するだけなので、速度は問題にならない。