Emacs, 50. yaşını geride bırakırken yalnızca uzun ömürlü bir metin editörü olarak değil, özgür yazılım kültürünün şekillenmesinde önemli rol oynamış bir proje olarak yeniden gündemde. Kökeni MIT AI Lab’e uzanan Emacs, tek parça ve değişmeden kalmış bir uygulamadan ziyade, onlarca yıl boyunca evrilmiş, çatallanmış ve farklı topluluklarca yeniden yorumlanmış geniş bir ekosistem olarak öne çıkıyor.
İsmi “Editing MACroS” ifadesinin kısaltması olan Emacs, başlangıçta TECO adlı düzenleyici için geliştirilen makrolara dayanıyordu. TECO, “Text Editor and COrrector” açılımıyla 1962’de Dan Murphy tarafından yazılmıştı. Emacs’ın tam olarak hangi tarihte ve kim tarafından hangi aşamada oluşturulduğuna dair birden fazla zaman çizelgesi ve anlatı bulunuyor. Buna rağmen yaygın çerçeve, 1970’lerin ortasında Guy L. Steele Jr. ve Richard Stallman başta olmak üzere birkaç ismin katkılarıyla şekillenen ortak bir geliştirme sürecine işaret ediyor.
Erken dönem anlatımlarda Guy L. Steele Jr.’a ilk çalışmalarda önemli rol verilirken, Richard Stallman’ın Emacs’ı TECO makrolarından çok daha güçlü bir editöre dönüştüren ana isim olduğu kabul ediliyor. Stallman’ın kendi anlatımında da Emacs geliştirmesinin 1974’e kadar gittiği belirtiliyor. Öte yandan 1976 sonbaharı, projenin gelişiminde belirgin bir dönüm noktası olarak anılıyor; bu dönemde Stallman’ın geliştirme yükünü büyük ölçüde üstlendiği ifade ediliyor. Bu tarafıyla Emacs, daha en başından bireysel bir araçtan çok kolektif bir FOSS çalışması görünümü taşıyordu.
Yarım asırlık tarihinde Emacs sayısız kez çatallandı. Bu çatalların bir bölümü artık tarihsel önem taşısa da bazıları yaşamaya devam ediyor. Örneğin XEmacs uzun süredir niş bir konumda olmasına rağmen yeni bir sürüm aldı: XEmacs 21.5.37 “lettuce” geçen ay yayımlandı. XEmacs’ın kendi içinden türeyen SXEmacs ise en son 2020’de güncellendi. Zaman içinde bu kolların getirdiği yeniliklerin önemli kısmı yeniden ana hatta, yani GNU Emacs tarafına geri taşındı.
Bugün aktif geliştirme esas olarak GNU Emacs üzerinde sürüyor. Richard Stallman artık birincil bakım sorumlusu olmasa da proje yaşamını güçlü biçimde sürdürüyor. GNU Emacs 31.1 sürümü ağustosta yayımlandı. Bu da Emacs’ın yalnızca nostaljik bir yazılım olmadığını, hâlâ yeni özellikler alan ve kullanıcı tabanını koruyan bir araç olduğunu gösteriyor. İlginç biçimde, Linux konsolunda fare kullanım desteği gibi daha çağdaş beklentilere hitap eden yenilikler de artık GNU Emacs’ın yeni sürümlerinde yer buluyor.
Buna karşın Emacs’ın yaşı, kullanım deneyiminde açık şekilde hissediliyor. Yazılım son derece kapsamlı, güçlü ve aynı ölçüde karmaşık. Geçmişte “Eight Megs And Constantly Swapping” esprisiyle anılması boşuna değil. Yerleşik öğretici ve kapsamlı belgelerine rağmen öğrenmesi kolay bir editör sayılmıyor. Terminolojisi de bugünün kullanıcıları için alışılmadık olabiliyor; çünkü birçok kavram kişisel bilgisayar öncesi dönemin dilini koruyor.

Örneğin Emacs belgelerinde “frame” ve “window” sözcükleri güncel masaüstü arayüzlerindekinden farklı anlamlarda kullanılıyor. Tuşlar bölümünde ise Control ve Meta’dan söz ediliyor. Buradaki sorun, modern klavyelerde gerçek bir Meta tuşunun fiilen bulunmaması. Emacs dünyasında Meta çoğu zaman Alt’e, macOS tarafında ise Opt’a karşılık geliyor. Ancak KDE belgelerinde “Meta” genellikle Windows tuşu ya da Mac’te Command anlamında kullanılıyor. GNOME tarafında ise aynı tuş çoğunlukla Super olarak adlandırılıyor. Bu da tarihsel kavramların zaman içinde ne kadar kaydığını gösteren iyi bir örnek.
Elbette bu eski dil ve kullanım modelini modernleştirmeye yönelik girişimler de oldu. macOS odaklı yerel arayüz yaklaşımıyla Aquamacs bunlardan biriydi, ancak artık aktif olarak sürdürülmüyor. ErgoEmacs ise kısayolları ve arayüzü Windows ve birçok Linux masaüstünde tanıdık olan IBM Common User Access düzenine yaklaştırmayı denedi. Ancak yaygın kabul görmedi; ayrıca kurulumu ve bölgesel klavye düzenlerine uyarlanması da yine belirli bir Emacs bilgisi gerektiriyor.
Emacs’ın yapılandırma derinliği öyle bir noktaya varmış durumda ki, birçok kullanıcı doğrudan önceden hazırlanmış dağıtımlara yöneliyor. Doom Emacs ve daha sade çizgideki Emacs Solo bu yaklaşımın bilinen örnekleri arasında. Bu paketler, çıplak Emacs kurulumuna kıyasla daha hızlı başlangıç sunarken, editörün modüler ama karmaşık doğasını da ortaya koyuyor. Aslında Emacs çevresindeki bu “hazır yapılandırma” kültürü, yazılımın gücü kadar giriş eşiğinin yüksekliğini de yansıtıyor.
Emacs’ın tarihini anlamak için büyük rakibi Vi’yi de anmak gerekiyor. Vi de 1976’ya uzanan köklü bir Unix editörü ve iki araç arasındaki rekabet yazılım dünyasının en eski tartışmalarından biri. GNU Emacs özgün kaynak çizgisini sürdürürken, Vi tarafı daha çok yeniden uygulamalar üzerinden bugüne taşındı. Elvis ve nvi gibi kollar bunun örnekleri. En bilinen temsilci ise uzun yıllar Bram Moolenaar’ın bakımını üstlendiği Vim oldu. 2023’te Moolenaar’ın ölümünün ardından Vim dünyası da Neovim ve daha yakın dönemde duyurulan Vim Classic gibi çatallarla çeşitlenmeyi sürdürüyor.
Sonuç olarak Emacs, 50 yıl sonra yalnızca yaşayan bir yazılım değil; Unix, GNU ve özgür yazılım tarihinin merkezinde yer alan bir kültürel katman olarak varlığını koruyor. Eski terminolojisi, dik öğrenme eğrisi ve alışılmadık çalışma biçimi nedeniyle herkes için uygun olmayabilir. Ancak editör yazılımlarının, kullanıcı arayüzlerinin ve açık kaynak topluluklarının bugün aldığı biçimi anlamak isteyenler için Emacs hâlâ eşsiz bir referans noktası olmayı sürdürüyor.

