James Gosling on Richard Stallman [video]
youtube.com
youtube.com
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.
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.
> 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. 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/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.... 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.
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.
(See also rms’ acknowledgement in the footnotes of the transcript of his speech to the International Lisp Conference of 28-OCT-2002.)
Emacs (TECO)
EINE, ZWEI, Zmacs (Lisp Machine Lisp)
SINE (PL/1, Lisp)
Multics Emacs (Maclisp)
VINE (Fortran)
FINE (BLISS)
BTL Emacs (C)
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://webcache.googleusercontent.com/search?q=cache:G9nZNd...
If you want to copy someone's application you have to do it separately, and not only that, you can't look at the old code. That's where the whole idea of Clean Room implementation came from. One party had to 'taint' themselves by reading the code and converting it into a requirements document, and another party implements the requirements without ever reading the code.
Things get a bit fuzzier around compilation units. If you write your code as an add-on or a DLL you might be able to walk away from it. Might.
Gosling sold them Gosling emacs. Before that he apparently "distributed it freely with no copyright notice."
Although Gosling wrote Gosling Emacs, it was based on the plans he and Richard Stallman had developed for a new, widely portable Emacs.
> And, you know, I realize I'm a radical. I like to actually have a bed to sleep in and food and I will occasionally sleep in my office, but not as a regular thing.
Gosling made millions at Sun Microsystems. That's a little more than needing "food on the table" and "a roof over one's head". Stallman also could have made similar money, but didn't because he thought other things were more important. That's everyone's choice to make, but putting down others because they approached something differently is just bad form.
(edit: spelling name)
Then IBM and DEC used RMS Emacs with their machines to which the two guys sued and won but they didn't kill RMS Emacs so it was a "Pyrric victory." In court the source code for both was the same and RMS had even forgotten to replace a few of the original copyright headers.
> Gosling: But then <pause> then there was at one point <pause> I kinda realized at one point <pause> um <pause> I was ither <pause> I was ither going to be Mr. Emacs for the rest of my life or graduate. I couldn't actually do both <pause> um <pause> so I decided I wanted to graduate.
> Interviewer: So then but your display algorithm got incorporated by Richard Stallman into GNU Emacs?
> Gosling: Well <pause> Actually it was more than that. He just took all the source code.
> Interviewer: oh ok
> Gosling: Right? It was.. It started out as all of the source code and he just edited the copyright notices.
> Interviewer: Really? So he just essentially stole your program?
> Gosling: Yeah <pause> so <sigh> um
> Interviewer: And claimed it as his own?
> Gosling: Yeah <pause>
At this point Gosling reiterates his revelation about either graduating or remaining "Mr. Emacs" and the explains how he went around to "all the usual suspects" at MIT and UCLA asking if anyone wanted to take up maintenance of Emacs. Everyone turned him down, including Stallman who Gosling said responded with a "frothing hell no" and explained that Stallman's position was that Unix was the spawn of the devil.
Gosling then discusses University licenses, litigation, IP, and opensource as reasons why he decided to license Emacs and ask for letters acknowledging the license from people he distributed the source code to.
Gosling then explains how the license for Emacs ended up with two guys in a garage but never actually says that he sold it to them, just that Emacs should remain free for universities. He explained how when Stallman found out about the license transfer, Stallman freaked out. Gosling then expresses some remorse he felt for the two guys in a garage because Stallman proceeded to release GNU Emacs and, despite legal victories against DEC and IBM, the two guys were force to abandon Emacs because they had no legal recourse against Stallman.
The interviewer then asked why no one went after Stallman and Gosling explained that Stallman was essentially homeless and you gain nothing from suing a homeless man. Gosling was trying to explain delicately and uncomfortably that Stallman had different views on economic models when the interviewer then took a jib at Stallman's hygiene. Gosling, who is already visibly uncomfortable discussing the topic, deflected by saying that they had different opinions and that Gosling preferred to have food on the table and a roof over his head.
If there's no license attached, or no agreement somewhere, then you do not have legal right to redistribute someone else's work, even if they gave it to you freely.
Gosling was perfectly within his rights to sell gosemacs to Unipress (though note that Gosling never explicitly says in the interview that he sold it to them; he may have given it to them for free). RMS was not within his rights to grab Gosling's sources and change the copyright notices to suit his fancy.
You are quoting Gosling in a selective manner in order to paint him in a bad light. Please don't do that. The bit about a bed to sleep in was a direct response to the conversation veering into how RMS at the time didn't have his own residence, and slept in his office, so there was little legal recourse against RMS since RMS had nothing to lose in a suit.
Nor is your comment even relevant: Gosling had not yet made millions at Sun back in the 80s. He was a grad student, and, presumably, like most grad students I know, was not exactly flush with cash.
I really don't get how you're coming at Gosling so hard; after listening to the interview, he's clearly uncomfortable talking about the topic, tries to avoid pointing the finger at anyone unless appropriate, and it was the interviewer who makes a quip about RMS's hygiene, not Gosling.
If nothing else, Gosling had a valid copyright. Mind you, there were no license terms on any file and it was distributed as source code.
[1] https://law.freeadvice.com/intellectual_property/copyright_l...
Guy Steele, David Moon, Dan Weinreb (RIP) and (later) Stallman were the originators and major forces and that's where credit should be given for Emacs-the-Lisp-virtual-machine that has stood the test of time.
Origins of Emacs from Guy Steele himself: https://github.com/PDP-10/its/issues/1633
Gosling is not even mentioned, once.
This did not become law until 1989. https://www.sunsteinlaw.com/copyright-flowchart (Stallman started work with Steele on EMACS in 1976, and the dispute happened in 1985.) Until that point, US copyright law protected the public from copyright abuse with strict notice, registration, and renewal requirements, which were eliminated in order to join the Berne Convention. [This paragraph has been edited to correct egregious errors]
Moreover, until 1980, it wasn't clear that software was copyrightable at all — the analogy to printed books is rather weak. Congress updated the law in 1980, although unfortunately did not require the publication of source code to gain the monopolies granted by copyright, an omission which is likely to cost us much of the intellectual history of the late 20th and early 21st centuries, as source code is lost long before it passes into the public domain. Passage into the public domain is the essential step that fulfills the copyright bargain with the public: a limited-time monopoly in exchange for the promotion of progress in "science" (theoretical knowledge) and the "useful arts" (practical knowledge), as the US Constitution explains. So, much of the current practice of software copyright is a fraud — the public suffers the cost of the copyright holders' limited-time monopoly, but then are cheated out of the benefit of an expanded public domain.
Consider, too, that we're talking about events that happened in 1981–5, in communities that were struggling to accommodate the impact of these radical new intellectual enclosures that destroyed the rights they had traditionally enjoyed, comparable to the enclosure laws that eliminated common grazing grounds in England before the Industrial Revolution.
> Gosling was perfectly within his rights to sell gosemacs to Unipress
This is not clear; quite aside from the question of whether Gosmacs was a derivative work of PDP-10 EMACS (it was not, under current caselaw, but that caselaw didn't exist in 1985), Gosmacs of course included contributions from other people, who presumably did not assign copyright to Gosling; they may not even have been aware there was anything to assign.
> I really don't get how you're coming at Gosling so hard...he's clearly uncomfortable talking about the topic
Entirely independent from the question of copyright notices, Gosling's account is false and defamatory, and omits the crucial background fact that the program he sold to Unipress was an imitation of a program Stallman had devoted the last seven years of his life to, and the subsequent fact that three months after the initial release of GNU Emacs, Stallman had removed the disputed code. It's unsurprising that he would be uncomfortable lying. Most people are.
So, was Gosling's program an imitation or a copy of Stallman's work? I'm unfamiliar with the actual history, but isn't that a relevant distinction in this case?
> ...and the subsequent fact that three months after the initial release of GNU Emacs, Stallman had removed the disputed code.
Is there a you-can-use-it-for-3-months exemption for copied works? Also, why remove it at all if it was an "imitation" of his original work?
It has copyright notices everywhere (not that this matters). And following notice in Installation:
Please remember that Emacs is copyrighted. You are free to use Emacs
internally, but you are not free to redistribute it. If someone is
interested in obtaining a copy of Emacs, refer them to me:
So you are not allowed to redistribute it without written permission from the author. I also think back then redistributing source code was the "portable" way if redistributing programs and redistributing binaries wasn't feasible.It wouldn't be surprising if Gosling had at some point added copyright notices to the source code, and certainly the version Stallman was using had Gosling's copyright notices. There's a separate question of whether there was a version released without copyright notices.
Look where that got him. Homeless, disgraced and without a penny to show for it. Let this be a cautionary tale about martyrdom.
Edit: I suspect the professor mentioned there is Mike Shamos and the transcript misspelled his name. http://euro.ecom.cmu.edu/shamos.html
> And then Stallman freaks and he gets a copy of my source code, does a whole lot of editing. He doesn't actually-- You know, he edits, like, almost all of the copyright headers, but he doesn't edit all of them and he only kind of thinly edits it and then he re-releases it as GNU Emacs. And then IBM and Digital Equipment pick that up and start distributing it. So these, so the two guys in the garage who had been doing okay suddenly find that IBM and DEC are distributing their thing for free and they're dying. So they decided to sue DEC and IBM and they got a, you know, and that turned into a big, big court case. They won. It was kind of a pyrrhic victory. You know, so IBM and DEC paid them some damages, but that didn't stop GNU Emacs. .. ..he hadn't actually changed all of the copyright notices. So it was like, duh. But then it sort of took on its own life and it's become the GNU Emacs that everybody uses.
I find it hard to believe that RMS was simply removing copyright from other listings. In his description found in [0], he was replacing a lot of it while using the display portion. Presumably that's all replaced after the lawsuit.
The history of EMACS and TECO predate Gosmacs, this all seems rather silly.
"EMACS is available for distribution to sites running the DEC Twenex operating system. It is distributed on a basis of communal sharing, which means that all improvements must be given back to me to be incorporated and distributed." [1]
[0] https://www.gnu.org/gnu/rms-lisp.en.html
[1] http://dspace.mit.edu/bitstream/handle/1721.1/5736/AIM-519A....
I don't think we would have Emacs around anymore if the Gosling Emacs would have continued as a business.
Not that I liked the way it happened, as a daily Emacs user it's hard to resent the results.
Gosling and Stallman have always been rivals. One of the reasons it took so long for Java to be open sourced was because Gosling was so adamantly against it - in part because of his hatred of Stallman.
Stallman started the whole open source movement in part because he thought it was wrong that Gosling could put restrictions on distribution of Emacs.
May I ask to those who know more to share their knowledge instead of acting as trigger happy cowboys? Thanks.
https://www.fsf.org/blogs/community/201cthe-printer-story201...
I think Gosling is claiming that some of his own code was still in there, regardless of what RMS said he rewrote. Just from casually poking the source code I can scrounge up [1], it doesn't look like there's any Gosling code in GNU 16.56 or later versions. But there's a lot of code in there so who knows.
As a side note, as late as 1995 [2] Unipress was still trying to sell its Gosling derivative starting at $395 a seat. It had a nice list of features, including "Demonstrably better than vi", but I bet it didn't let you psychoanalyze Zippy.
[1]: https://github.com/larsbrinkhoff/emacs-history [2]: http://web.archive.org/web/19961125071933/http://www.unipres...
> As described above, Emacs began life in the mid-1970’s as a series of editor macros for TECO, an early editor on the PDP-10. In the early 1980’s it was rewritten in C as a collaboration between Richard M. Stallman (RMS) and James Gosling (the creator of Java); its extension language was known as Mocklisp. This version of Emacs-in-C formed the basis for the early versions of GNU Emacs and also for Gosling’s Unipress Emacs, a commercial product. Because of bad blood between the two over the issue of commercialism, RMS pretty much disowned this collaboration, referring to it as “Gosling Emacs”.
My impression is that "Gosling Emacs" is misunderstood as "Gosling wrote all of it", even though it just meant "the dirty commercial version of Gosling and RMS Emacs".
Tools, or libraries? The distinction I'm making here is between code that gets distributed with the final product, and code that only runs on your machine or just internally in the corporate network.
I can understand a company not wanting to intermix GPL code with proprietary code that is shipped to customers, but not being able to use GPL software internally is a different matter and would be very strange.
PS Why don't you check which version of GCC is currently used in Brazil? It was years out of date when I was there for the reasons I described.
PPS I was wrong about Linux being licensed under GPLv3: it is GPLv2. I apologize for not checking that before I posted.
PS 'green' users can't downvote.
My sympathies. I've been able to use Emacs in every corporate setting I've worked in.
The GPL does not control use, it controls distribution. So, using Emacs and GCC as one’s toolchain does not require a company’s code being made open source.
However, using a GPL licensed library “taints” any and all code which touches it. With the complex mazes of dependencies modern NPM/Node, Java/Maven, Python/Pip, and what not have, there’s a non-zero chance that some dependency of a dependency of a dependency is GPL code without the company knowing about it, which puts the company at risk of being sued if they make the code depend on that GPL library, no matter how indirectly.
Anything a GPL library touches in a bundled executable taints the entire code, forcing it all to be open source.
This is a serious problems for companies selling software (including hardware that uses embedded software). There are commercial products which exist to make sure code is not GPL-tainted.
Many companies selling hardware that uses embedded software find it easier to simply comply with the GPL, thus protecting the users' rights to some extent. The cost of compliance is far smaller than the benefits available from drawing on the world of free software. If we can get more free-software developers to change the licenses of new versions of their software to the GPL, we can increase those benefits and influence more companies to choose GPL compliance instead of GPL avoidance. Even some companies that sell software choose GPL compliance.
Unfortunately, the GPLv2 is not strong enough to prevent "Tivoization", in which the users can obtain copies of the source code but cannot install modified versions on their own devices, even though theoretically they own those devices — in these cases the benefits of free software become impossible for the users to obtain in practice. This is a major reason why the GPLv3 was written.
>>> This is a serious problems for companies selling software
No. It is a serious problem for companies trying to make proprietary software. That's quite different. The monetary aspect of the question is independent of that. That is, you can perfectly sell GPL programs. What you can't do is prevent competitors and users of reusing it the way they want to.
GPL is a stance against proprietary software, not commercial software.
(now, I'll readily admit that this seriously undermines many commercial prospects, but that's just a consequence)
Nowadays Notepad++ is OK by me.
Hundreds of thousands, perhaps half a million.
I'd imagine it's fewer than that, but still, that really is a big deal.
Dunno why people who were against RMS didn't try to argument with this instead innocuous Epstein comments.
If the purpose was to discredit RMS in order to get rid of him and affect negatively all Free Software principles, that was the way to go. Had someone used the Emacs argument, he could have replied either with details in his defense (if he had any) or alternatively tell about the number of GPL violations a lot of companies commit when they literally steal software written by volunteers for their profit without giving nothing in return, violations he and others at GNU/FSF contributed for decades to fight against, making the whole accusation of stealing Emacs code, even if proved true, next to ridicule in comparison.
I'm not saying he is being attacked on purpose by people with a hidden agenda, however the timing and the number of simultaneous attacks by multiple directions doesn't sound normal.