[1] Fue desarrollado por Richard Stallman y la Free Software Foundation como parte del proyecto GNU.Permanece en desarrollo gracias a una activa comunidad de usuarios y programadores.Este comportamiento es similar al del programa ed, que todavía se utiliza hoy en día.Otra característica de E, que no tenía TECO, era corregir el acceso aleatorio.Se ha comentado también que "Emack & Bolio's" era el nombre de una heladería popular en Boston, a poca distancia del MIT.No obstante, a Stallman no le gustaba ese helado, y ni siquiera lo conocía cuando eligió el nombre "Emacs"; esta ignorancia es la base de un Hacker koan, Emacs and Bolio).Otros colaboradores en versiones tempranas de Emacs fueron Kent Pitman, Earl Killian y Eugene Ciccarelli.Durante los siguientes años, se escribieron muchos editores similares a Emacs para otros sistemas operativos.En 1978, Bernard Greenberg escribió Multics Emacs en el Cambridge Information Systems Lab de Honeywell.El desarrollo tiene lugar en una única rama de CVS, que está actualmente en la versión 23.4.1.[3] Tanto GNU Emacs como XEmacs soportan interfaces gráficas y terminales de texto.No obstante, se hizo una excepción a esta política para el código de MULE (MULtilingual Extension, extensión multilingüe que maneja Unicode y métodos más avanzados de tratar con otros lenguajes), ya que el titular del copyright es el gobierno japonés y la transferencia de copyright no era posible.En este entorno Lisp, variables e incluso funciones enteras pueden ser modificadas al vuelo, sin tener que recompilar o ni siquiera reiniciar el editor.Como resultado, el comportamiento de Emacs puede ser modificado casi sin límite, bien directamente por el usuario, o (más habitualmente) cargando fragmentos de código Emacs Lisp.Emacs se puede usar como un entorno de desarrollo integrado (IDE), que permite a los programadores editar, compilar y depurar su código con una única interfaz.En los sistemas donde fue implementado en primer lugar, Emacs era a menudo mucho más lento que otros editores de texto.Algunos acrónimos bromistas aluden a este hecho: Eight Megabytes And Constantly Swapping (de los días en que ocho megabytes era mucha memoria), Emacs Makes A Computer Slow, Eventually Mallocs All Computer Storage, y Eventually Makes All Computers Sick.No obstante, los ordenadores modernos son suficientemente rápidos, de manera que Emacs raramente se nota lento.Esta práctica se extendió posteriormente a varios lenguajes de programación, como Lisp y Java.Si la documentación para una función o variable no es suficiente, el sistema de ayuda puede ser utilizado para navegar entre el código fuente de Emacs Lisp, tanto para bibliotecas predefinidas como para bibliotecas externas instaladas.Además de la documentación incluida en el programa, Emacs tiene un manual especialmente largo, detallado y bien escrito.Cuando Emacs se inicia sin especificar ningún fichero para editar, muestra instrucciones para ejecutar comandos simples de edición y para invocar el tutorial.Hay soporte para muchos alfabetos, guiones, sistemas de escritura y convenciones culturales.Emacs proporciona revisión ortográfica para muchos lenguajes mediante la llamada a programas externos como ispell.Todos estos esfuerzos para soportar Unicode utilizan una codificación interna específica de Emacs, con lo cual se necesita una conversión para cargar y guardar.El código fuente del programa, que incluye tanto los componentes en lenguaje C como en Emacs Lisp, está disponible libremente para su examen, modificación y redistribución, bajo los términos de la Licencia pública general de GNU (GNU GPL).La manera de sacarle partido completamente a Emacs es abrir todos los ficheros desde una única instancia del programa.Desde entonces ha sido una característica, inclusive hasta en redactores modernos de código como Visual Studio.Cuando es aplicable, es posible utilizar el completado mediante la tecla del tabulador (tab completion).Los buffers se usan también para almacenar texto temporal, como las cadenas de documentación mostradas por la biblioteca help.