LWN.net Logo

What Google's actually doing

What Google's actually doing

Posted Mar 21, 2011 14:29 UTC (Mon) by wahern (subscriber, #37304)
In reply to: What Google's actually doing by jthill
Parent article: Has Bionic stepped over the GPL line?

If that is indeed the case (and you may very well be right), than how can copyright prevent distribution of binary modules built against those headers? If the actual header code itself describing a particular interface of the kernel isn't copyrightable (as the same expression or as derivative of the expression), then how can anything be derived from it?

If you say, "well, it's deriving from the interface, not the header code" then how is the header code likewise not also equally implicating this abstract interface? Certainly the header code often describes this interface in more exacting detail than the binary module. Some of the material you cited is predicated on the notion that the interface being described isn't copyrightable for very specific reasons relevant to the particular interfaces at issue--an extremely fact-centric analysis not likely to apply to Google's largely indiscriminate copying, __KERNEL__ guards notwithstanding.

Further more, your substantial similarity argument applies equally well--both quantitatively and qualitatively--to the binary modules' proposed infringement. Clearly, how we slice and dice the scope of the infringement is critical.

For something to be derivative, it must create a sufficient impression in one's mind of identifiable, copy-protected elements of the derived work. If a header file cannot do this, how can a binary module do this? It hardly matters that the binary module doesn't work without the Linux kernel. I can write a story in such a manner that every third page seques into a substantial Phillip K. Dick paragraph. And I can distribute that story, sans those paragraphs, if without those paragraphs you couldn't identify specific copy-protectable elements of Dick's stories. That when you put them together it becomes a derived work hardly matters by itself.

I'm not challenging the soundness of the cases you cite. I'm merely suggesting that those aren't necessarily applicable to Google's wholesale copying of huge portions of Linux kernel header code. And if Google is legally in the clear (which IMHO is doubtful with such a huge collection of code, no matter how thin the copyright), then there are tremendous, potentially undesirable consequences for copyleft enforcement. (Though a BSD-style license proponent might not care, and even might welcome it, as strict license enforcement is of lesser consequence and often creates more confusion than clarity.)

It would be interesting to read your reply, but this shall be my last. I don't mind if you get the last word; in fact I would prefer it ;)


(Log in to post comments)

What Google's actually doing

Posted Mar 21, 2011 18:51 UTC (Mon) by butlerm (subscriber, #13312) [Link]

If that is indeed the case[...], than how can copyright prevent distribution of binary modules built against those headers?

It can't. That is wishful thinking at this point, at least under current legal precedents (notably Baystate v. Bentley Systems (1996)). At best the license could be used to regulate joint distribution, and it is difficult to write a general purpose license that can clearly distinguish between joint distribution of copyleft and proprietary stuff which is allowed and joint distribution of copyleft and proprietary stuff which isn't allowed.

What Google's actually doing and Kernel modules proper

Posted Mar 22, 2011 4:03 UTC (Tue) by jthill (guest, #56558) [Link]

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

One other thing needs addresssing. You say:

Sega v. Accolade said that the disassembly *was* copyright infringement, but that it was a Fair Use
(emphasis mine.) Erm, [citation needed]. 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.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds