Emacs Has Been Violating the GPL Since 2009
Digana writes "Emacs, one of GNU's flagship products and the most famous software creation of Richard Stallman, has been discovered to be violating the GPL since 2009-09-28 by distributing binaries that were missing source. The CEDET package, a set of contributed files for giving certain IDE functionality related to static code analysis, has distributed files generated from bison grammars without distributing the grammar itself. This happened for Emacs versions 23.2 and 23.3, released during late 2009, and has just been discovered."
Doesn't anyone test the source tarball to ensure you can recreate the binary from it?
Give me Classic Slashdot or give me death!
...just hit Ctrl + R and Alt + Shift + P + OMG and they're right there!
On a more serious note, It was probably a goof on their part. The fact that no one noticed until now is pretty strange, though.
Quo usque tandem abutere, Nimbus, patientia nostra?
...there are people to whom this matters.
I saw them consorting with Lucifer in the fields--with mine own eyes, I did! They was compiling binaries with unreleased source and plotting against FOSS hippies, they was!
SJW: Someone who has run out of real oppression, and has to fake it.
That's the most important question.
Just because I can hook a shark from a boat, I do no offer to wrestle it in the water.
I was really under the impression that the GPL said you had to distribute the source to anyone you sent the binaries if they actually bothered to request it. I mean, usually that means you publish both, just as a matter of convenience, but not of necessity.
The World Wide Web is dying. Soon, we shall have only the Internet.
The source code is included. Just not the source for the source code.
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
This would *never* have happened with vi!
I don't think it is a violation of the GPL before the distributor of the binaries say "No, you can't have it" or fail to deliver within a reasonable timeframe.
- Baffle
is this the same as getting Richard Stallman to say his name backwards?
does this mean Emacs must now be ferried away back to the hell-mouth from which it came?
Good people go to bed earlier.
How can it be a false accusation if rms admits that it's a GPL violation himself?
Bison's output isn't binary, it's C (a somewhat contrived and difficult to understand C, but C nevertheless). It doesn't generate "compiled binaries", as the article points out.
It's still source code. Maybe not the original source code, but source code anyway. I don't think that violates the GPL intrinsically (maybe it violates its spirit, but not the license by itself).
Accept second place Emacs, hjkl is where it's at!
Just goes to show how few people really give a shit about this stuff.
If not, then it's not breaking GPL.
...that has violated the GPL, it's anyone who has _redistributed_ Emacs. The original distributors (FSF, I assume) have presumably had the source available and could have given it to anyone who asked for it, which is what the GPL requires. They just forgot to put it in the tarball.
But people who have redistributed the Emacs package, like for example GNU mirrors or every desktop Linux distribution in the world, could not have made the source available upon request, since they never had it.
From the mail linked to in the story: http://lists.gnu.org/archive/html/emacs-devel/2011-07/msg01155.html
Expert in software patents or patent law? Contribute to the ESP wiki!
You're wrong. See GPLv3, section 6. "By request" only applies when object code is distributed via physical media or in a physical product. If it's downloadable, you must also provide downloadable source, no request needed.
"National Security is the chief cause of national insecurity." - Celine's First Law
This is an outrage. Everyone should dump emacs and start using vi instead.
They would obviously have fixed it the moment somebody points it out. If somebody was daft enough to go to court over it. They'd basically say "yea, this was a mistake, we didn't notice it because nobody seems to have been bothered with it, so we don't think it really affected anybody. When we became aware of it we fixed it." If that kind of thing did not stand up in court you'd basically be liable every time you had a network problem. Now granted some countries have fucked up legal systems, but that is not the fault of the Emacs developers.
I'm waiting for the email from Defective By Design demanding that we boycott emacs and/or send large amounts of some token object to Stallman.
The FSF is the copyright holder of Emacs. All code that is integrated with Emacs is covered by a copyright assignment. They can't violate the GPL when they distribute Emacs, because they are not bound by it.
It's a good thing people gave Stallman that katana after the xkcd strip came out, because there's now only one option. Reclaim your honor, sir.
Dislike the Electoral College? Lobby your state to join the National Popular Vote Interstate Compact.
see RMS sue RMS :-)
No, it is not source code in the sense the GPL requires: "the preferred form of the work for making modifications to it". Just because something is in compilable ascii code doesn't make it the source code. You could no doubt convert a binary into some huge hex constant which would be valid C and would compile back to the binary, but nobody would accept that as the source code.
That said, the problem is trivial. It is obviously just a minor cock-up which no-one has noticed. Formally, they should either have included the bison source, which they have just realised they didn't. or have include a formal offer to provide it on demand, which they probably didn't do because they thought they were offering full source. But I think anybody would realise that such an offer was implicit in any software released by the FSF. To worry that the FSF would /not/ releas source should they have been found to have accidentally omitted something, as appears to have happened here, is frankly perverse.
Consciousness is an illusion caused by an excess of self consciousness.
I think it would take a panel of judges and a legion of lawyers to fight out how many angels would fit on the head of this particular pin, and afterward people would still disagree.
Better to err on the side of doing it right (admitting fault and correcting the issue) than to open up a gray area precedent that might be exploited by someone else.
WALSTIB!
The GPL doesn't require the source code to be provided together with the binaries, just that the source code be made available to the recipient of the binaries, possibly even charging him for the transportation costs. So unless someone requested the source code and didn't get it, no one violated the GPL.
: p
Brought to you by Carl's Junior.
The GPL license included with what they had is the offer.
If they have failed to provide it when requested, not "refused", and they have: the thing that is purported to be the complete source code that is available on request is not the complete "source code" as defined in the GPL, so insofar as everyone who has downloaded the thing purporting to be the complete source code has, in sending the download request, requested the source code and as the FSF has failed to deliver the source code in response to those requests, they have failed to provide the source code on request.
Now, because the whole thing builds fine, and its quite likely very few people were concerned about editing the grammar files, its quite likely that people didn't notice that they didn't have the "source code" as defined in the GPL, which is not merely "some files from which the executables can be built", but "the preferred form of the work for making modifications to it."
To comply via methods b) or c) where you only need to make the source available to those who request it, you do have to include an offer saying that this is the case with the object code.
But they aren't doing that because nearly everyone distributing emacs is complying with the GPL via methods d -- allowing an optional source download from the same place they downloaded the emacs binary -- or method a -- including the source itself along with the object files in a physical medium.
But because of the omission of the original bison files, they aren't complying with this method either, because they don't have the source and hence aren't making it available either on the source disks or the online source repositories.
That's ignoring the fact that if they were trying to comply via methods b) or c), they still couldn't because they don't have the source. It's immaterial though because that's not how Linux distros (or virtually anyone else) comply with the GPL.
That's why this is a GPL violation. They are not complying.
But it wasn't their fault, it was the fault of those upstream. Which is why the solution is to simply fix it by providing them with the original bison files. Of course "fix it" is the preferred resolution for all GPL compliance issues, but in this case in particular it's the obvious choice.
The enemies of Democracy are
Everyone who has clicked a link to download the thing that calls itself the source tarball has "actually bothered to request" the source code.
What they received was not the entirety of the "source code" as defined in the GPL, which is the whole basis for characterizing this as a GPL violation.
No, object code is included and the source is not (for the component at issue). The fact that the code is in a format that might be used for other source code (and which needs further compilation to make it executable) doesn't make it source code. The GPL defines "source code" as "the preferred form of the work for making modifications to it", and "object code" as " any non-source form of a work". So, under the GPL, what was distributed as if it was the source code was, in fact, object code.
It's also been a key hindrance. Just sayin'.
EMACS does everything, right?
You know, people make mistakes. Especially groups of people when they don't realize that something wasn't someone else's responsibility. I think that RMS's immediate response of "we have to fix this yesterday" (paraphrased) shows that he is NOT a hypocrite, but is rather working fast to rectify the situation.
Better tell RMS that he's wrong then, since he's the one who says Emacs is in violation of the GPL.
No, it's not. This incident is proving just how many Slashdotters don't even understand the GPL. The "by request" obligation is for physical media.
I just pictured somebody staring at the matrix for a few minutes and going... "OK, change row 6, column 11 from 6 to 2.
For those not aware, parser generators spit out C files that contain tables of numbers which are, AFAIK, used by a virtual machine implemented in C. Yeah, it's C and thus "source"; but it's obviously not the preferred form in which to work. If you have to change the grammar you're essentially screwed. Maybe there are a handful of people on the planet who could actually modify the matrix and/or count all the toothpicks that came out of the box.
Then again, if it's a Lisp grammar it's pretty easy to re-write... people just can't understand the code you write in it.
The reaction to an ongoing investigation based upon some suppositions made by those who don't understand the code, I can understand. But CEDET does distribute the grammar files (yes, the human-written sources) that have been mentioned. They are also all under GPL. Maybe Emacs didn't release the entire CEDET source tree when it should, but it's not as if the CEDET source doesn't indicate where the grammars are to be found.
Wow. Why does knee-jerk reaction come to mind?? Oh it must be a Friday.
This comment was written with the intention to opt out of advertising.
Legacy open-source. What is the point in offering source code if nobody even notices it's missing?
Wow. Why does knee-jerk reaction come to mind?? Oh it must be a Friday.
Someone has never heard of FOF then, or more likely has a job that they actually like and want to do well.
How can it be a false accusation if rms admits that it's a GPL violation himself?
Because he is not a lawyer. He needs to ask a lawyer what the license states. Licenses and contracts have to be explicit or they become unenforceable. All parties have to know what their obligations are upfront so they license cannot be open to interpretation after the fact. If RMS wants the GPL to mean something other than what is explicitly stated in the terms, he needs to release a revision of the license.
Jesus was a compassionate social conservative who called individuals to sin no more.
The output of Bison is not the preferred form for modifications, so technically they should have supplied the grammar.
(Finger hovering over the Sue Them All Now button)
Sent from my ENIAC
I'm no fan of RMS, but honestly people it's a minor technical issue. Move along, nothing to see here.
XML is a known as a key material required to create SMD: Software of Mass Destruction
The way some people talk about this, it's like a Jew or Muslim committing suicide after having accidentally eaten some pork they didn't know about. Give me a break.
I realize the FSF is trying to set a good example, but to refer to it as bad mistake and consider taking the programs offline over it? If that's the right thing to do, fine, but don't get so worked up about it. This is what I call an insignificant error, and it's corrected the way any GPL compliance issue is corrected: You go find the source (or the source of the source) and make it available. Fortunately, I'm not seeing anyone pointing fingers or telling people they were bad for making this mistake. I still think it's overblown. Not overblowing it would involve a minor blog post stating that some source is missing and it'll be uploaded soon.
The GPL is a good license. But it is not the Word of God. If you violate it, you will not go to hell.
If you want to look at this in moral terms, those who neglected to provide this small amount of source code MEANT to do the right thing, and moreover, there was no significant neglegence here, because no one was harmed by the omission.
Man, people really like to make a huge deal out of nothing.
(In retrospect, my post here is probably also making a big deal out of nothing. But this is a comment post on Slashdot, and most Slashdot comments are utterly useless, including most of my own.)
Doesn't the build process need the grammar sources? Or is it that nobody actually builds EMACS from source any more?
Does anyone other than RMS actually care about EMACS? Sounds snide, but it's a serious question. How many people are using emacs these days?
Don't take life too seriously; it isn't permanent.
The last time I checked, the GPL required you to give every customer (user/downloader) access to the source.
I would be pretty pissed if I want to download a binary distribution and it includes the source. Well, after all I come from a time when we in fact used 2400 baud modems.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Because the Bison output isn't the preferred form for editing. The Bison input is. Arguing you can just edit the Bison output is a bit like saying "You have the .a files to my C program! You can just edit .a files in place, you don't need the source!" (Only a bit, mind you.)
But really, this isn't a GPL violation. This is a simple blunder by the copyright owner. The copyright owner is incapable of violating the GPL, because he/they aren't held to it. So whatever: They'll fix it.
The story is interesting for the existence of the blunder itself, not for any kind of political or legal ramifications of the blunder.
But, any legal action by the FSF against the secondary distributors (why they would ever want to do that I don't know.) would be barred by promissory estopel, if they the distributed the "source" package provided to them by the FSF, that also included any modifications that they made. A reasonable reliance was made on the FSF's declaration about the tar file being the source, and no other person or group is in a better position to know what the source of Emacs actually is besides the FSF.
The hole in your argument is that this is Emacs. Anyone who contributes code to a GNU project automatically signs his copyright to the code over to the FSF, for precisely this reason, so that their legal team can enforce the GPL if needed.
Since it is the FSF who decides that it is a violation, and RMS is the president of the FSF, his word here has very substantial weight. He thinks there is a violation so they're correcting it.
At least "owning up to his own mistake", because you said it better than anyone has here in this quote from you:
"No PR bullshit, or excuses, just acknowledgment followed by a suggested solution. In this day it's not often you see that above-quoted sentence." - by Beelzebud (1361137) on Friday July 29, @12:22PM (#36922586)
Agreed, 110%! At least Mr. Stallman acknowledged a failure on his part, & offered simple solutions for a "fix"...
---
"Especially from know-it-alls on the internet who just shoot spitballs at people who get things done." - by Beelzebud (1361137) on Friday July 29, @12:22PM (#36922586)
Again, agreed, 110% - lot of "that 'illustrious ilk'" is out online, big talkers, but few actual "doers"... you're NOT alone in your sentiment either, another fellow said the same here a few days back also, here:
"In my opinion the slashdot community consists of a lot of wannabes and not a whole lot of doers." - by borgheron (172546) on Friday July 15, @02:36AM (#36772380) Homepage
I agreed with he as well. Why? See my "p.s." below...
APK
P.S.=> Any FOOL can be a "critic", but VERY FEW are cooks... They're the kind that would tell Jesus Christ to get a haircut if he showed up, & they're also the kind that could give an aspirin a headache - ungrateful wretches & useless leeches imo!
Mainly because they're just 'talkers", instead of doers & because of that, they know ZERO & haven't "walked a mile" in a devs shoes to know that software creation isn't "so easy", & never has been!
(Simply because it has to run on so many diff. kinds of setups, & flawlessly as possible, & has to face patches to the API's from the underlying OS & its libs/dlls it uses that MAY adversely affect it also - change is possible all the time... they had electricity "debugged" pretty much within a decade, for example. Software is STILL being improved vs. hacker/cracker types & improved upon "features-wise", which opens the doors sometimes to the aforementioned hacker/cracker types, & still happens, to this day, 50++ yrs. & going onwards still for example!)...
... apk
I still use it daily. Not much for actual editing, I'm running Gnus in it as my Usenet client...
Anyway, Emacs is absolutely great software. It may be arcane but it is great.