Emacs
Emacs on tekstieditorien perhe, jonka keskeinen piirre on ohjelmoitava laajennettavuus. Ensimmäisen Emacsin kehitystyö alkoi 1970-luvun puolessavälissä ja on yhä aktiivisesti kehitetty. Emacs on yhdessä Vim:n kanssa kaksi suosittua klassista tekstieditoria, joita monet ohjelmoijat edelleen käyttävät.
Aivan ydintä lukuun ottamatta Emacs on kirjoitettu Lisp-ohjelmointikielellä, ja sitä voi muokata ja laajentaa henkilökohtaisiin tarpeisiin samaisella Lispillä (sen Emacs Lisp -murteella) pitkälle.
Emacs toimii useassa moodissa. Emacs soveltuu minkä tahansa ohjelmointikielen editoriksi ja siinä on kutakin kieltä varten koodin väritys sekä useita lähdekoodikohtaisia menutoimintoja. Emacsille on toteutettu myös muun muassa verkkoselainten kaltaisia lisäosia, tilastotieteellisiä paketteja jne. Emacsissa on myös monipuolinen kalenteri (esimerkiksi mayojen ja juutalaisten kalenterit, päivittäiset Auringon nousut ja laskut, henkilökohtaiset muistiinpanot kalenterissa ja niin edelleen), kaksi laskinta, useita pelejä ynnä muuta.
Emacs oli alkujaan TECO-editorin makrokokoelma (Editor MACroS), joka kirjoitettiin vuonna 1976 ITS-käyttöjärjestelmälle. Nykyisin suosituimmat Emacs-variantit ovat vuonna 1984 aloitettu "GNU Emacs" ja siitä vuonna 1991 eriytynyt "XEmacs". Emacsin tunnetuin kehittäjä on GNU-projektin alullepanija Richard M. Stallman.
Stallman lisäsi TECO-editoriin ensin perin mahdollisuuden määritellä uusia kahden näppäimen yhdistelmiä ("makroja") viittaamaan tiettyihin komentoriveihin sekä mahdollisuuden tallentaa nämä makrot tiedostoon myös jatkossa käytettäviksi. Tästä seurasi ongelma, että jokainen käyttäjä teki omat makronsa niin, etteivät muut voineet käyttää samaa ohjelmaa opettelematta ensin hyvän aikaa komentoja. Kaksi vuotta myöhemmin AI Labin työntekijä Guy Steele sai idean alkaa koota yhteenvetoa neljästä eri makropaketista. Stallman innostui tästä ja otti homman tehtäväkseen. Tässä vaiheessa projektin nimeksi tuli Emacs (lyhenne sanoista "editing macros"). Nimenvalintaan vaikutti, ettei ITS:ssä (PDP-tietokoneen käyttöjärjestelmä) ollut muita e-kirjaimella alkavia ohjelmia, joten ohjelmaan voitiin viitata pelkällä alkukirjaimella. Jotta ohjelman idea käyttäjän itsensä ohjelmoitavana sovelluksena ei kärsisi, vakiomakrot päätettiin rajoittaa perustason editointikomentoihin.
Lähdekoodiin lisättiin vaatimus, että muutettava koodi on palautettava ohjelmaa muokkaavaan yhteisöön, jotta eriytymisonglema ei palaisi. Tämä ei estänyt forkkausten (erillisten jatkokehitettyjen ohjelmien) syntymistä. Emacsista tuli varhainen malliesimerkki sen tyyppiselle projektille mitä vapaiden ohjelmistojen parissa nähtiin usein myöhemmin: käyttäjät eri puolelta maailmaa kontribuoivat lisäyksiä samaan ohjelmaan jonkinlaisena yhteisönä.
Aloitettuaan GNU-projektin Stallman pyrki ensin tekemään C kääntäjän, mutta lopulta GNU Emacs oli GNU-projektin ensimmäinen valmistunut ohjelma ja se julkaistiin vuonna 1985. Alun perin sen koodin piti pohjautua aiempiin Emacseihin, mutta tekijänoikeusongelmiin törmäämisen jälkeen se kirjoitettiin lopulta kokonaan uusiksi Lisp-tulkkeineen päivineen. GNU Emacs oli myös ensimmäinen ohjelma, jossa Stallman kokeili omaa lisenssiään, joka myöhemmin johti GPL-lisenssin syntyyn. Lisenssi oli aluksi Emacsin mukaan nimetty ja siihen sisältyi vaatimus, että kaikki muutokset lähetetään ohjelman kehittäjälle tarkastettavaksi. Tätä vaatimusta Stallman piti kuitenkin virheenä, joka pakottaa keskitettyyn kehitysmalliin ja liialliseen valvontaan, joten hän poisti sen myöhemmistä versioista.
Myöhemmin Stallman on luonut humoristisen "The Church of Emacs" -meemin. Hän saattaa joskus puheita antaessaan pukeutua "Pyhäksi Ignuciukseksi", joka on Chruch of Emacsin saarnamies. Ignuciuksen opetuksiin kuuluu, että joskus Emacsin kilpailijana nähdyn Vim -editorin käyttö ei ole syntiä (sehän on Stallmanin ajatusten mukaisesti vapaa ohjelma) vaan katumusharjoitus.