5 ms·
From a 2002 Stallman lecture: There was no free software Emacs editor that ran on Unix. I did, however, have a friend who had participated in developing Goslin
by tjr 7y ago
From a 2002 Stallman lecture:
There was no free software Emacs editor that ran on Unix. I did, however, have a friend who had participated in developing Gosling's Emacs. Gosling had given him, by email, permission to distribute his own version. He proposed to me that I use that version. Then I discovered that Gosling's Emacs did not have a real Lisp. It had a programming language that was known as ‘mocklisp’, which looks syntactically like Lisp, but didn't have the data structures of Lisp. So programs were not data, and vital elements of Lisp were missing. Its data structures were strings, numbers and a few other specialized things.
I concluded I couldn't use it and had to replace it all, the first step of which was to write an actual Lisp interpreter. I gradually adapted every part of the editor based on real Lisp data structures, rather than ad hoc data structures, making the data structures of the internals of the editor exposable and manipulable by the user's Lisp programs.
The one exception was redisplay. For a long time, redisplay was sort of an alternate world. The editor would enter the world of redisplay and things would go on with very special data structures that were not safe for garbage collection, not safe for interruption, and you couldn't run any Lisp programs during that. We've changed that since — it's now possible to run Lisp code during redisplay. It's quite a convenient thing.
https://www.gnu.org/gnu/rms-lisp.en.html https://www.gnu.org/gnu/rms-lisp.en.html
- lliamander 7y ago> Gosling had given him, by email, permission to distribute his own version. He proposed to me that I use that version. It's important here to note that Stallman does not claim it was his own brainchild, and did give Gosling credit. However, from I understand, the email that Stallman claims gave said permissions does not exist (or at least could not be found) and I'm not sure that Stallman's friend confirmed Stallman's claim.
- kragen 7y agoFen Labalme did confirm Stallman's claim, but could not find the email; remember this is in the days of backups on 9-track tapes, and he was looking for an email he had presumably deleted several years earlier. > It's important here to note that Stallman does not claim it was his own brainchild, and did give Gosling credit. This is true in a very limited way, but by itself it is a very misleading partial truth. Stallman gave Gosling credit for Gosmacs, not for EMACS. Stallman had been working on EMACS on ITS on the PDP-10 for years before Gosling started writing his version, but the inception of EMACS was, as I understand it, a collaboration between Stallman, Steele, and Moon — a set of macros for ITS TECO, which was maintained by Stallman https://github.com/PDP-10/its/issues/1633 https://github.com/PDP-10/its/issues/1633. Gosling's Emacs wasn't even the second Emacs; Multics Emacs was Bernie Greenberg's reimplementation of the PDP-10 EMACS Stallman was the maintainer of, and it was the first (corrected by trn: second) Emacs to use Lisp as its scripting language, which is where Gosling got the idea. EINE (the first version of Lisp-Machine Emacs, as trn corrected me below) and ZWEI also preceded Gosmacs. From the Emacs FAQ https://www.gnu.org/software/emacs/manual/html_node/efaq/Origin-of-the-term-Emacs.html https://www.gnu.org/software/emacs/manual/html_node/efaq/Ori...: > Emacs originally was an acronym for Editor MACroS. RMS says he “picked the name Emacs because E was not in use as an abbreviation on ITS at the time.” The first Emacs was a set of macros written in 1976 at MIT by RMS for the editor TECO (Text Editor and COrrector, originally Tape Editor and COrrector) under ITS (the Incompatible Timesharing System) on a PDP-10. RMS had already extended TECO with a “real-time” full-screen mode with reprogrammable keys. Emacs was started by Guy Steele as a project to unify the many divergent TECO command sets and key bindings at MIT, and completed by RMS. Gosling wrote Gosmacs in 1981, five years later, as a copy of Stallman's work; Stallman published a widely-cited paper that year describing many features of EMACS which were unusual or unique at the time, but are now the standard way to design text editors: https://dspace.mit.edu/bitstream/handle/1721.1/5736/AIM-519A.pdf https://dspace.mit.edu/bitstream/handle/1721.1/5736/AIM-519A.... Gosling sold his Unix clone of Stallman's Emacs to UniPress in 1983, after Stallman had spent seven years writing the editor Gosling had copied; Stallman's version had perhaps a thousand users before Gosling wrote a line of Gosmacs. Stallman tells the story in 2002 in the lecture linked above. Other people like Bernie Greenberg confirm Stallman's version. I find it quite dispiriting that 34 years after The Great Emacs Copyright Debate was conclusively settled (by Stallman replacing the disputed redisplay code with a better algorithm, three months after the initial release of the first version of GNU Emacs and the ensuing hue and cry) we are still having to rebut Gosling's baseless slander of the man whose work Gosling copied to get rich.
- lliamander 7y ago> Fen Labalme did confirm Stallman's claim, but could not find the email; remember this is in the days of backups on 9-track tapes. Ah, good to know, thanks! > This is true in a very limited way, but by itself it is a very misleading partial truth. Stallman gave Gosling credit for Gosmacs, not for EMACS. > Stallman had been working on EMACS on ITS on the PDP-10 for years before Gosling started writing his version, but the inception of EMACS was, as I understand it, a collaboration between Stallman and Steele. Gosling's Emacs wasn't even the second Emacs; Multics Emacs was Bernie Greenberg's reimplementation of the PDP-10 EMACS Stallman was the maintainer of, and it was the first Emacs to use Lisp as its scripting language, which is where Gosling got the idea. EINE, ZWEI, and Lisp-Machine Emacs also preceded Gosmacs. I'd forgotten about the PDP-10 and Guy Steele.
- trn 7y agoMultics Emacs was the second Emacs to be implemented in Lisp, not the first. The first was Lisp Machine Emacs, known as EINE, (EINE Is Not Emacs) from 1977, while Multics Emacs is from 1978. (See also rms’ acknowledgement in the footnotes of the transcript of his speech to the International Lisp Conference of 28-OCT-2002.)
- trn 7y agoAlso see https://lobste.rs/s/uwvpl1/110_days_early_multics_emacs_history#c_bvqlgp https://lobste.rs/s/uwvpl1/110_days_early_multics_emacs_hist... if you'd like an easy way to use Multics Emacs.
- Isamu 7y ago>I concluded I couldn't use it and had to replace it all Which happened over time. He used it as a starting point, replaced some important parts first and gradually rewrote everything. This took some time. Meanwhile the partial rewrite was being distributed. It's not a black-and-white story of theft versus clean rewrite. Also I don't recall Gosling Emacs having any license terms included with the code ... and I studied it at the time (before GNU Emacs.) [edit] this emacs timeline is helpful: https://www.jwz.org/doc/emacs-timeline.html https://www.jwz.org/doc/emacs-timeline.html
- AlexCoventry 7y agoGoogle Cache, since jwz is re-directing that link, now. :-) https://webcache.googleusercontent.com/search?q=cache:G9nZNdD9w5QJ:https://www.jwz.org/doc/emacs-timeline.html+&cd=1&hl=en&ct=clnk&gl=us https://webcache.googleusercontent.com/search?q=cache:G9nZNd...
- Sniffnoy 7y agoIt's not him redirecting that link; he redirects all links from HN by checking the Referer. If you copy and paste the URL it works fine.
- e40 7y agoI was at UCB from 1980-4 and this lines up with what I knew at the time. RMS was a frequent visitor to the group I was in, and I was a user of Gosling's Emacs and switched to the RMS version very early on.
- dekhn 7y ago(aside: I'm always curious to hear what was going on with UNIX at Berkeley at that time. I sat in Evans hall in the early 2000s and would randomly find hardware that was from CSRG in the drop ceilings).
- e40 7y agoI was an undergrad when, in 1981(?), Bill Joy and Bob (forget his last name) had loaded the BBN mag tape that contained the TCP/IP implementation, and they were integrating it into BSD (4.1?). It was in the shared terminal room in Evans on the 5th floor. After about 30 minutes I decided not to even try to pretend I wasn't listening to them and just watch. That was fun.