Hacker News new | past | comments | ask | show | jobs | submit login
Emacs violates GPL since 2009 (lists.gnu.org)
134 points by pk on July 29, 2011 | hide | past | favorite | 39 comments



for the tl,dr crowd:

It was noticed a couple parsers included in the source tarball are generated from grammar files that are not. This means they are distributing the compiled version without the corresponding sources (although the parsers are human readable) and that is unacceptable. The situation is analogous to distributing a compiled program without its source or, say, a merged-minified version of a JavaScript library without its original corresponding files.

The solution will be applied retroactively to source tarballs and previous tarballs that did not distribute these source files will be removed.

It's like the Emacs team just noticed the have been driving their car with a broken headlight for the past couple miles.

In the meantime, I seriously doubt many other teams would be so principled as that. Kudos for them.


Yeah. It's important to point out that the bison sources are (apparently) available under the GPL. They're just not distributed with emacs, thus the distribution is in violation. The broken headlight analogy is a very good one. This is a bad "oops" moment. It's fixable via some elbow grease, better organization, and probably a review of a process or two.


Cue GOB's "I've made a huge mistake."

As much as RMS gets on my nerves sometimes, I have to admire him here. I feel like his reactions are over the top sometimes, but this shows me that at least they're consistently so -- even when he's the one at fault.


It strikes me that each time there's link on HN or reddit pointing to something RMS said/wrote, there's someone saying this. Always something along the line of "Usually he is overreacting/a dangerous fanatic, but this time I like what he said and how he said it".

Once and for all let's admit that RMS is actually a quite reasonable guy and that when his reactions are "over the top" it is the exception and not the rule. Let's also realize that his "over the top" reactions are due to his role in the FSF and the GNU project. If he is not the one being obsessed by the definition of "free software" versus "open source" then who will be? It's a matter of drawing too hard in one direction so the "forces" compensate and the general direction is as close as possible to what is reasonable.


> Let's also realize that his "over the top" reactions are due to his role in the FSF and the GNU project.

I remember an interview with RMS where he basically said that, while this cause is very important to him, the amount of pressure he felt in his role as a free software leader was enormous. I think you're probably right, he seems to get a lot of scorn for being a radical, and not enough praise for his integrity and results.


My opinion of RMS's "over the top"-ness comes mainly from my time on the MIT CSAIL mailing list where his comments were routinely annoying and unhelpful.

Someone would email asking a question about Windows or Photoshop, and RMS would invariably chime in with something like, "you know, you shouldn't use that, it's like supporting a dictator."

So it is with that background that I was impressed with his comments here. On that mailing list I actually would say over the top reactions were the rule, rather than the exception. That said, maybe taken among all his public fora, he's quite reasonable. I haven't seen/heard him much elsewhere.


IMO, RMS' reactions are rarely "over the top"; in fact, if you look at them, they are almost always completely consistent with his beliefs surrounding free software.

We may see them as "over the top" because we aren't as principled as he is.


How is he the one at fault here?


RMS may not be directly responsible for this mishap, but it is his project so he is ultimately responsible for it. He's clearly taking responsibility so good on him I guess.


Cue GOB's "I've made a huge mistake."

Unfortunately I doubt we're going to see RMS on a Segway.


I wish I could tell whether the downvotes were for "that's not funny," "you are slandering RMS" (who is by the way far smarter than I am and has done far better things for the hacking community, I am a nobody), or "that is a cheap-shot comment that does not fit the tenor of the desired discussions on HN."


I didn't downvote, but I'm not laughing. Not because you're making fun of RMS, I just don't get it, and don't care to. Sorry.


In fairness, this is stretching the meaning of `binary blobs' a little, right?

I may be misreading, but the issue is that some of the elisp sources of CEDET were generated from bison input files automatically at some point -- but they're still elisp sources; a user can still modify them if needed, and if an asteroid hits the house of whoever did the original conversion, development can still continue that way.

That doesn't mean that _technically_ we wouldn't be a lot better off if the bison sources made it into the next emacs release, for completeness and ease of future development -- but I'm not sure I see the GPL violation here.


No, this is not stretching the definition at all. There is no way to recreate the source of the parser generator from the automatically generated parser and grammar files. And in fact it would be entirely non-trivial to recreate it.

The parser also likely contains large tables of values autogenerated by the parser generator (though I didn't check this). There is no way the average developer could modify the parser to suit their needs. This would be even more difficult than disassembling a binary and altering the assembly language.

In a way I am glad this happened. After a months long ordeal some years ago involving strongly worded letters with threatening legal language due to an accidental violation of the GPL (which I simply don't use for new projects any more) I now have an uncontentious example that I can point people to which shows that even developers with the best of intentions make "serious" accidental mistakes!


The language of the GPL says the source code is the "Preferred form for modification", it doesn't specifically mention binary blobs.


"In fairness, this is stretching the meaning of `binary blobs' a little, right?"

Stallman doesn't seem to think so, he labels it serious and calls for immediate correction.


I thought that you didn't have to distribute the source with the binary so long as you made the source available to anyone that go the binary from you. I.e. if I distribute a binary to someone and they email me looking for the source, I have to give it to them (also I think that you have to make it clear in the distribution that this is the case, though just mentioning that the software is GPL is probably enough).


"We have made a very bad mistake."

While I agree with this conclusion and that it needs to be fixed: Wouldn't the irony in the mistake have been a good opportunity to show some sense of humor?


RMS doesn't strike me as a very cheerful person either, at least in email conversations, so it doesn't surprise me you're getting upvoted for this remark.

That said, it doesn't surprise me either that as a person known for sticking to his principles he'd take this situation very serious.

Also, I think I see what you mean by irony but calling it that would be more appropriate if Stallman himself would have made that particular commit or even if he would have been overseeing the project actively at the time the commit was made. But neither is the case: Chong Yidong committed it according to [1], and when the commit in question was made 2009-09-28 Stefan and Yidong had already taken over the maintainer role [2].

So really, not all too ironic from where I sit... hope this isn't spoiling a good joke :-)

[1] http://bzr.savannah.gnu.org/lh/emacs/trunk/revision/97804

[2] http://emacs-fu.blogspot.com/2009/08/interview-with-chong-yi...


> RMS doesn't strike me as a very cheerful person either, at least in email conversations...

Actually, in person, when he's not discussing serious things, he's a very jovial, laid-back chap.


I agree with most of your comment.

What I meant isn't that this is funny but ironic because Emacs is the FSF/GPL flagship. That said, I fully understand that RMS is taking this seriously because he wants to sort this out. Maybe he'll make a joke about this one day if it turns out to be a harmless oversight.


I didn't think you were trying to make fun of the issue, but I have to admit that I replied because it bugged me a little that the topmost comment (which your GP comment is as I'm writing this) was about RMS's lack of humour.

I'm not an RMS fanboy, nor a GPL or GNU fanboy for that matter, but I do admire him for being principled and taking a stand in spite of his position becoming less and less popular in the past few years, if I detect the prevailing sentiment correctly. And I'm getting a bit tired of seeing many people taking cracks at his beard, hygiene, lack of humor, etc. instead of taking him up on the specific issues he's raising.

But again, I didn't think you were trying to do that, your lighthearted comment in a prominent position just prompted me to reply.

Cheers!

EDIT: oh, I see now, it's because of the bit about "spoiling a good joke". Sorry, I mainly added that to make it sound a bit less dry and pedantic, nothing worse than that when replying to a comment about lack of humour!


That, uh, does not come naturally to him.


Stallman doesn't do irony very well.


OK, it seems like it may have been an oversight (as in, not to hide anything or subvert someone else). The (over-)reaction by RMS may be a bit too harsh, when a simple README or something might suffice.

Every church has to have its pope, though ...

Edit: a simple README to point the issue in older tarballs might suffice -- though the issue has to be fixed going forward, no question on that.


"[..]We are, in essence, distributing binary blobs with Emacs" (Chong Yidong)

Note the "in essence". They are not actually distributing binary blobs, they are distributing generated code made with a parser generator which they are not distributing, and they argue that this is equivalent of distributing binary code for all practical purposes, as the user "may neither fix nor extend the existing functionality."


The issue is not that they aren't distributing the parser generator, it's that they're not distributing the grammars that are the input to the generator.


That post says they have to delete the old versions, but... If what you've said it true, they could just distribute the parser generator, or something that does the same job.

It's not unfixable.


The post clearly says they have to add the source or delete them.


The problem here is not just that they are violating the GPL. The problem is that due to the GPL anyone who distributed or distributes one of the affected Emacs versions is violating the GPL.

A simple README doesn't solve this issue.


Technically, it's only everyone but GNU that (re)distributes emacs with the generated code that violate GPL, so you are correct in not calling that particular part a problem.


A README isn't source distribution (though I suppose it would constitute a "written offer to provide source", which is allowable under the GPL). And it can't be retroactively applied to versions of emacs that are already distributed.

The goof here isn't that emacs is somehow "polluted" going forward; everyone agrees that this is easy to fix. The problem is that existing versions of emacs were/are distributed in a form that is a violation of its own license.


> Anyone redistributing those versions is violating the GPL, through no fault of his own.

This is not correct and I would expect RMS to call him out on it. You can distribute binaries without the sources. You just have to make them available when someone asks for them in writing. It seem that this is the first time that someone has asked for them, and they are being provided.


I think this depends on why you call "ask for". I think going to gnu.org, clicking on a "download source code" link can easily be interpreted as "asking" for the source code (especially if a program or it's read me provide a URL near the place where it explains that one can get the source). If so, chances are that many people have asked for the source before, and got some (partly) intermediate product instead of the stuff the developers worked from.


Slightly related: For Stallman's views on JavaScript, read http://www.gnu.org/philosophy/javascript-trap.html


Actually, that does bring up a question, is there a plugin available now that allows you to completely substitute your js for their js? Ignoring the Free software issue, this would be quite useful to have in general...

(If there is, RMS should probably be made aware of it, because that addresses half of his concern).


I would guess you could probably get greasemonkey to do that sort of replacement, but I don't know much about how it works.


I love how the GPL lets people not have the features they want because of nonsense like this. It's a clear case for more liberal licenses.


A lot of people think "source code" is a desirable feature.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: