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.
that greedy corporatist pig!
oh wait, we're not in a MS thread are we?
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.
Subject says it all.
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!
There is no obligation to distribute source, or to publish source. The obligation is to give people source when they ask. If you said to the GNU people: "this doesn't have the grammars, please give me the grammars" and they refused, that would be a violation.
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.
As this asinne excuse for a post gets modded up to +5 by pimple-faced teenagers within 10 minutes. Nevermind that the GPL has been a key driving force (along with BSD, Apache, and others) behind the open source movement for about 30 years.
While the intensity of the revelation may be amusing, consider the legal angle. FSF is in some sense the spiritual custodian of the GPL - and if they don't have their house in order, a lawyer could point to it in a case where the GPL is contested and make some claim along the lines of "GPL is a joke since even the people who promote it are violating it". I'm not saying a court would necessarily buy this, but it opens up the door, and I can understand how Stallman could be worried about it - an awful lot of running code hangs on the GPL. That's not a foundation you want being called into question.
Now we know why vi is more commonly distributed and thus more used.
Nuff said.
No, it's who cares about Emacs?
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).
At least they're rectifying the problem free of charge.
Hippies never actually stand for anything. They're all talk.
Disgusting.
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!
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.
Nit picking is why GNU blows chunks as a license. Seriously maybe the grammar sucks and should not be resent. Lets not shoot ourselves with crappy code or excessive junk when we could clean it up and republish. It would be one thing if they tried to resell it as their own, but including only a portion of something is not a reason to go to war. This is why I hate much of the open source community, they have a great idea, but get so fanatical about it. Instead of being a progressive group dedicated to improving life for the future they turn into a politically weighed down propaganda machine that cries about a broken nail.
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.
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.
You still have sub-2M UIDs as sleeper accounts? Impressive.
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.
EMACS does everything, right?
Simply include the very link that's in the article summary and the text that's in it and somehow get +4, Informative.
So we have 4 mods who haven't even bothered reading the article. Well done.
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?
http://stallman.org/
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.
the best kind of correct.
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.)
From the reports, this was an honest mistake in leaving out a few pieces of a large source tarball. What makes this different from so many other GPL violations is that the responsible party (RMS) simply stepped up and said we goofed and we will fix it immediately, instead of stonewalling, weaseling and calling in the lawyers.
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.
I do not fully understand the problem. If I understand correctly Bison is a parser generater. It creates source code from a grammar file. What they distributed was the generated code (output of Bison) but not the grammar code (input of Bison). Why is this a GPL violation? Isn't that like saying if you compile your code with GCC you need to distribute the source because GCC is under the GPL (which is not true to my knowledge, or am I wrong there too)?
The FSF owns the copyrights to all of Emacs. They thus have rights to make copies that are not limited by the terms of the GPL. However, anyone who downloaded and redistributed Emacs would be in violation, because they only can do so by following the GPL.
This is obviously a simple oversight, and has no significance beyond making some entertaining Friday afternoon reading.
damn, must be a lot of muslims accidentally eating pork.
Bison generates a parser based on the grammar it is given. If the Emacs tar-ball has the generated parser, it can be inspected as well as compiled without any problem and that in my opinion Emacs satisfies GPL requirement. Asking for the grammar here is equivalent to asking for white-board drawings from which people generate their GPL C-code in other s/w distributions.
Moreover, Bison permits using the generated parsers in non-free programs too.
From Bison's manuals, "Conditions for using Bison" page, (http://www.gnu.org/software/bison/manual/html_node/Conditions.html):
"The distribution terms for Bison-generated parsers permit using the parsers in non-free programs. . . . This exception applies when Bison is generating code for a parser. You can tell whether the exception applies to a Bison output file by inspecting the file for text beginning with “As a special exception...”. The text spells out the exact terms of the exception."
Bueller?
I do you insensitive clod! :-)
I think the reason this only now came to light is that the intermediate files were not deleted by the "make clean" target. If they had been, then the build would have failed after a clean, and it would have been obvious the first step was overlooked in the build process. I am kind of a nut about make clean deleting every last generatible file and make building everything including the doc and the gtags. I have experienced the lack of bison sources before and it often happens when the author makes the assumption that the users would "never need to mess with that". Which of course is an invalid assumption because inquiring minds want to do just that.
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.