What Google's actually doing and Kernel modules proper
Posted Mar 22, 2011 4:03 UTC (Tue) by jthill
In reply to: What Google's actually doing
Parent article: Has Bionic stepped over the GPL line?
Well, if I were going to try to make Linus's argument about kernel modules, I
wouldn't want to start out exasperated by a blinkered troll to the point of
getting all capslocky, as he was.
Before changing the subject, though, let me just say that I've seen
propagandists at work before. I'm seeing it again. Don't get sucked in by
their misdirection; they will adeptly point in any direction but the ones that
silence their alarms, and ignore or change the subject if you go that way
yourself. They didn't, for instance, point out what Jake did and vonbrand
highlighted, or any number of other obvious and relevant facts. Don't let
them choose what you look at. The metaphor of the palantír might be worth
One other thing needs addresssing. You say:
Sega v. Accolade said that the disassembly *was* copyright
but that it was a Fair Use
(emphasis mine.) Erm, . Really. The law says, flat out, that no matter what §106 says
the fair use of a copyrighted work  is not an infringement of copyright.
and the contradictory statement you attributed to the court appears nowhere in 977 F.2d 1510. I looked over it fairly carefully, looking for anything that might have led you to believe what you say. Where is it, please?
So let's change the subject, as you like. From here on, this is just conversation, not debate or argument. It hasn't had time to steep.
The first thing I notice is I'm not sure I agree with Linus, and I'm certain rms disagrees -- at least to the extent that merely including the header does it. (Slashdot pays off with a timely memory). To allege infringement, which is necessary to assert the right to dictate license terms, you have to pass the same test we've been discussing: show that copying occurred, and
whether, as a mixed issue of fact and law, those elements of the program that have been copied are protected expression and of such importance to the copied work that the appropriation is actionable
That, by the way, is not mine, it's the case cited in the IBM deposition I linked, Gates v. Bando,9 F.3d 823
. It's at least one of the rules that got the Judge to later caustically refer to "the vast disparity between SCO's public accusations and its actual evidence--or complete lack thereof". So I'm fond of the case anyway, but I like the phrasing because it seems to me it manages concisely stating the general criteria while simultaneously respecting fair use and de minimus.
Anyway, for outside-the-kernel code I agree completely with Stallman (and following Jake's logic, Linus does too; certainly other posters in that thread do): including header material, anything up to pedestrian macros/inlines, cannot bind you. A few structs and an inline, even if they're protectable at all, simply aren't of any actionable importance to the linux kernel. Anybody trying to claim actionable copying there is I think plainly living deep inside anybody-for-anything nutjob/agitator territory.
For in-kernel code it's not so plain, on any count. We have the extent of the copied protected material, the relative importance of the copied portions, and now the resulting harm to the copyright holder comes into play, where nothing reached it before.
Binaries are subject to copyright license terms, we all take that for granted yes? That brings the binaries into question when assessing what elements of the work have been copied, and that means that copying the entire kernel into memory in order to get any benefit of the kernel module is significant: without the full kernel, it isn't just that the source won't run, it's that this so clearly highlights that the work is incomplete without this particular kernel.
From that vantage, "those elements of the program that have been copied" no longer refers only to the portions of the kernel source that appear in the module source, it also refers to the portions of the kernel binary that have been copied into the kernel module -- which, without the kernel binary, is incomplete, so what's actually copied, soon or late, is (virtually) all of it.
That's the part I'm not sure I agree with. Code isn't album tracks isn't movies isn't books isn't blah blah blah. I think _this_ question is fully open to case law, up to any judges involved to decide on the merits of the arguments presented to them what constitutes the resulting "work" with modules necessarily built specifically for a particular kernel version. I also think it's pretty much moot: was the GPL'd-shim stunt invented after his post? Wouldn't surprise me, and it seems not to be drawing any fire from the people who have any standing to bring it.
But I'm not unsure about the objections you raise. They're wrong. I wish you hadn't just dropped them into the thread, I don't think what I find wrong with them is hard to see.
Much as I love the Dick reference. (It seems more apt, more tasty, more, erm, Perky, the longer I contemplate it), details matter. For literature, even two words can be immortal prose, a paragraph is enough to change lives. Binary kernel modules live by different rules, not only by their own nature, but by the kernel's: for starters, books aren't constantly amended by their authors; your writing your literary plugin doesn't seem likely to interfere. So your analogy is much too inexact. As with scènes à faire, I think the concepts still apply, but applying them needs to honor the differences along with the similarities.
I can see that Google's mass-edit offends you and as I think I said earlier it sure got my attention. But there's nothing to see here.
It seems what they're doing is ensnaring a relatively trifling amount of protected code, and as I think I said earlier, there isn't any copyright on just the headers portion of the kernel source any more than there is on any subset of any work: you have to identify the whole work that's being excerpted to properly assess how much was copied. Google's rendered headers do not resemble the kernel. Google's rendered ext2_fs.h does not resemble the kernel's ext2fs module.
The entire net effect that I can see from this is their customers will be very baffled when the alarmists start spewing tripe in their ears about how the GPL eats babies. We already agreed just including a header doesn't even remotely infringe, but that's not what you hear from the shills. So now their customers will have their lawyers look at it, and their lawyers will say "What license terms? There's nothing to license here." This isn't harm, this is a good thing.
What goes in headers isn't like what goes in source. The headers aren't all the source, and copying all the headers isn't the same as copying all of any code any more than copying all the names and descriptions of people mentioned in a newspaper is copying all the stories about them.
So your implicit-slippery-slope argument, that copying the headers is tantamaount to copying everything, just look to me like fearful and thoughtless nonsense. Google is in the clear because the two aren't the same. Leave aside any de minimus test, I'm having a hard time finding any actual harm in it at all -- since afaict no one is relieved of or ducking any actual obligations. But I'm out of patience with this, so if I've missed something please point it out kindly.
to post comments)