Gosling Emacs

Last updated

Gosling Emacs / Unipress Emacs
Original author(s) James Gosling
Developer(s) UniPress
Initial release1981;42 years ago (1981)
Written in C
Operating system Unix, VMS
Type Text editor

Gosling Emacs (often shortened to "Gosmacs" or "gmacs") is a discontinued Emacs implementation written in 1981 by James Gosling in C. [1]

Contents

Gosling initially allowed Gosling Emacs to be redistributed with no formal restrictions, as required by the "Emacs commune" since the 1970s, [2] only asking for a letter acknowledging his authorship. [3] Later, wishing to move on, he sold his version of Emacs to UniPress. The dispute between Richard Stallman and UniPress inspired the creation of the first formal license for Emacs, which later became the GPL, as Congress had introduced copyright for software in 1980. [4]

Features

Gosling Emacs was especially noteworthy because of the effective redisplay code, [5] which used a dynamic programming technique to solve the classical string-to-string correction problem. The algorithm was quite sophisticated; that section of the source was headed by a skull-and-crossbones in ASCII art, [6] warning any would-be improver that even if they thought they understood how the display code worked, they probably did not. [7]

Distribution

Since Gosling had permitted its unrestricted redistribution, Richard Stallman used some Gosling Emacs code in the initial version of GNU Emacs. [8] [9] Among other things, he rewrote part of the Gosling code headed by the skull-and-crossbones comment and made it "...shorter, faster, clearer and more extensible." [7]

In 1983 UniPress began selling Gosling Emacs on Unix for $395 and on VMS for $2,500, marketing it as "EMACS–multi-window text editor (Gosling version)". [10]

Controversially, Unipress asked Stallman to stop distributing his version of Emacs for Unix. [11] UniPress never took legal action against Stallman or his nascent Free Software Foundation,[ citation needed ] believing "hobbyists and academics could never produce an Emacs that could compete" with their product.[ citation needed ] All Gosling Emacs code was removed from GNU Emacs by version 16.56 (July 1985), [12] with the possible exception of a few particularly involved sections of the display code.[ citation needed ] The latest versions of GNU Emacs (since August 2004) do not feature the skull-and-crossbones warning.[ citation needed ]

Extension language

Its extension language, Mocklisp, has a syntax that appears similar to Lisp, but Mocklisp does not have lists, only strings and arrays. The Mocklisp interpreter, built by Gosling and a collaborator, was replaced by a full Lisp interpreter in GNU Emacs. [11]

Related Research Articles

The editor war is the rivalry between users of the Emacs and vi text editors. The rivalry has become an enduring part of hacker culture and the free software community.

<span class="mw-page-title-main">Emacs Lisp</span> Dialect of Lisp used as an Emacs scripting language

Emacs Lisp is a dialect of the Lisp programming language used as a scripting language by Emacs. It is used for implementing most of the editing functionality built into Emacs, the remainder being written in C, as is the Lisp interpreter. Emacs Lisp is also termed Elisp, although there are also older, unrelated Lisp dialects with that name.

<span class="mw-page-title-main">GNU</span> Free software collection

GNU is an extensive collection of free software, which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operating systems popularly known as Linux. Most of GNU is licensed under the GNU Project's own General Public License (GPL).

<span class="mw-page-title-main">Open-source license</span> Software license allowing source code to be used, modified, and shared

Open-source licenses facilitate free and open-source software (FOSS) development. Intellectual property (IP) laws restrict the modification and sharing of creative works. Free and open-source software licenses use these existing legal structures for the inverse purpose of granting freedoms that promote sharing and collaboration. They grant the recipient the rights to use the software, examine the source code, modify it, and distribute the modifications. These licenses target computer software where source code can be necessary to create modifications. They also cover situations where there is no difference between the source code and the executable program distributed to end users. Open-source licenses can cover hardware, infrastructure, drinks, books, and music.

<span class="mw-page-title-main">XEmacs</span>

XEmacs is a graphical- and console-based text editor which runs on almost any Unix-like operating system as well as Microsoft Windows. XEmacs is a fork, based on a version of GNU Emacs from the late 1980s. Any user can download, use, and modify XEmacs as free software available under the GNU General Public License version 2 or any later version.

<span class="mw-page-title-main">GNU Project</span> Free software project

The GNU Project is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and computing devices by collaboratively developing and publishing software that gives everyone the rights to freely run the software, copy and distribute it, study it, and modify it. GNU software grants these rights in its license.

<span class="mw-page-title-main">Texinfo</span> Markup language for documentation

Texinfo is a typesetting syntax used for generating documentation in both on-line and printed form with a single source file. It is implemented by a computer program released as free software of the same name, created and made available by the GNU Project from the Free Software Foundation.

Free as in Freedom: Richard Stallman's Crusade for Free Software (ISBN 0-596-00287-4) is a free book licensed under the GNU Free Documentation License about the life of Richard Stallman, written by Sam Williams and published by O'Reilly Media on March 1, 2002.

<span class="mw-page-title-main">CLISP</span> Version of programming language Common Lisp

In computing, CLISP is an implementation of the programming language Common Lisp originally developed by Bruno Haible and Michael Stoll for the Atari ST. Today it supports the Unix and Microsoft Windows operating systems.

<span class="mw-page-title-main">GNU Guile</span> Extension Language

GNU Ubiquitous Intelligent Language for Extensions is the preferred extension language system for the GNU Project and features an implementation of the programming language Scheme. Its first version was released in 1993. In addition to large parts of Scheme standards, Guile Scheme includes modularized extensions for many different programming tasks.

Lucid Incorporated was a Menlo Park, California-based computer software development company. Founded by Richard P. Gabriel in 1984, it went bankrupt in 1994.

<span class="mw-page-title-main">Richard Stallman</span> American free software activist and GNU Project founder (born 1953)

Richard Matthew Stallman, also known by his initials, rms, is an American free software movement activist and programmer. He campaigns for software to be distributed in such a manner that its users have the freedom to use, study, distribute, and modify that software. Software that ensures these freedoms is termed free software. Stallman launched the GNU Project, founded the Free Software Foundation (FSF) in October 1985, developed the GNU Compiler Collection and GNU Emacs, and wrote all versions of the GNU General Public License.

<span class="mw-page-title-main">Multics Emacs</span> Text editor for the Multics operating system

Multics Emacs is an early implementation of the Emacs text editor. It was written in Maclisp by Bernard Greenberg at Honeywell's Cambridge Information Systems Lab in 1978, as a successor to the original 1976 TECO implementation of Emacs and a precursor of later GNU Emacs.

<span class="mw-page-title-main">Leonard H. Tower Jr.</span> American activist

Leonard "Len" H. Tower Jr. is a free software activist and one of the founding board members of the Free Software Foundation, where he contributed to the initial releases of gcc and GNU diff. He left the Free Software Foundation in 1997.

Bernard S. Greenberg is a programmer and computer scientist, known for his work on Multics and the Lisp machine.

<span class="mw-page-title-main">GNU Emacs</span> GNU version of the Emacs text editor

GNU Emacs is a free software text editor. It was created by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship project of the free software movement. Its tag line is "the extensible self-documenting text editor."

Emacs, originally named EMACS, is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, self-documenting, real-time display editor". Development of the first Emacs began in the mid-1970s, and work on its direct descendant, GNU Emacs, is ongoing; its latest version is 29.1, released July 2023.

<span class="mw-page-title-main">OpenLisp</span>

OpenLisp is a programming language in the Lisp family developed by Christian Jullien from Eligis. It conforms to the international standard for ISLISP published jointly by the International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC), ISO/IEC 13816:1997(E), revised to ISO/IEC 13816:2007(E).

<span class="mw-page-title-main">David A. Moon</span> American computer scientist

David A. Moon is a programmer and computer scientist, known for his work on the Lisp programming language, as co-author of the Emacs text editor, as the inventor of ephemeral garbage collection, and as one of the designers of the Dylan programming language. Guy L. Steele Jr. and Richard P. Gabriel (1993) name him as a leader of the Common Lisp movement and describe him as "a seductively powerful thinker, quiet and often insulting, whose arguments are almost impossible to refute".

References

  1. Stallman, Richard (28 October 2002), My Lisp Experiences and the Development of GNU Emacs
  2. Sam Williams (2002). "6. The Emacs Commune". Free as in freedom. "O'Reilly Media, Inc.". ISBN   0-596-00287-4.
  3. Hansen Hsu and Marc Weber (10 October 2019). "Oral History of James Gosling, part 1 of 2". youtube. Computer History Museum. Retrieved 5 June 2023.
  4. Sam Williams (2002). "9. The GNU General Public License". Free as in freedom . "O'Reilly Media, Inc.". ISBN   0-596-00287-4.
  5. Gosling, James (June 1981), "A Redisplay Algorithm", ACM SIGPLAN Notices, Proceedings of the ACM SIGPLAN Symposium on Text Manipulation, 16 (6): 123–129, doi:10.1145/872730.806463
  6. "Ultra-hot screen management package". n.d. Retrieved 12 February 2022.
  7. 1 2 Stallman, Richard (7 January 2013), samzenpus (ed.), Richard Stallman Answers Your Questions, Slashdot, The last piece of Gosmacs code that I replaced was the serial terminal scrolling optimizer, a few pages of Gosling's code which was proceeded by a comment with a skull and crossbones, meaning that it was so hard to understand that it was poison. I had to replace it, but worried that the job would be hard. I found a simpler algorithm and got it to work in a few hours, producing code that was shorter, faster, clearer, and more extensible. Then I made it use the terminal commands to insert or delete multiple lines as a single operation, which made screen updating far more efficient.
  8. Christopher Kelty; Mario Biagioli; Peter Jaszi; Martha Woodmansee (2015). Making and Unmaking Intellectual Property. University of Chicago Press. ISBN   9780226172491. ...Stallman was using code from Gosling, based on permission that Gosling had given to Labalme, but Labalme had written code for Gosling that he had commercialized without telling Labalme.
  9. Oral History of James Gosling, part 1 of 2, archived from the original on 11 December 2021, retrieved 14 October 2019
  10. "Unix Spoken Here / and MS-DOS, and VMS too!". BYTE (advertisement). December 1983. p. 334. Retrieved 8 March 2016.
  11. 1 2 Sam Williams (2002). "7. A Stark Moral Choice". Free as in freedom . "O'Reilly Media, Inc.". ISBN   0-596-00287-4. According to the developer, Gosling, while a PhD student at Carnegie Mellon, had assured early collaborators that their work would remain accessible. When UniPress caught wind of Stallman's project, however, the company threatened to enforce the copyright...In the course of reverse-engineering Gosling's interpreter, Stallman would create a fully functional Lisp interpreter, rendering the need for Gosling's original interpreter moot.
  12. Jamie Zawinski (8 March 1999). "Emacs timeline".