
Emacs violates GPL since 2009 - pk
http://lists.gnu.org/archive/html/emacs-devel/2011-07/msg01155.html
======
rbanffy
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.

~~~
ajross
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.

------
losvedir
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.

~~~
p4bl0
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.

~~~
Wilduck
> 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.

------
jimwise
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.

~~~
wbhart
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!

------
pyre
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).

------
codeup
"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?

~~~
julian37
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...](http://emacs-fu.blogspot.com/2009/08/interview-with-chong-yidong-and-
stefan.html)

~~~
codeup
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.

~~~
julian37
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!

------
cpg
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.

~~~
ithkuil
"[..]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."

~~~
wccrawford
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.

~~~
gthank
The post clearly says they have to add the source _or_ delete them.

------
onedognight
> 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.

~~~
Someone
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.

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

~~~
ezy
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).

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

------
skrebbel
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.

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

