LWN.net Logo

Google should strip out unreferenced symbols... but it probably doesn't matter

Google should strip out unreferenced symbols... but it probably doesn't matter

Posted Mar 22, 2011 4:13 UTC (Tue) by dank (guest, #1865)
In reply to: Google should strip out unreferenced symbols... but it probably doesn't matter by wahern
Parent article: Has Bionic stepped over the GPL line?

One story is that most examples of 'foo' are specified by
POSIX, and are stable, whereas most examples of 'bar' are unstable
internal kernel interfaces.
POSIX interface documentation is also available under a free license, see
http://www.redhat.com/archives/fedora-legal-list/2007-Dec...

But that's not enough; what about the other 'foo's that are part of Linux's extensions to POSIX?

Linus wrote on 19 Oct 2001 (see http://linuxmafia.com/faq/Kernel/proprietary-kernel-modul...):
"If you use standard UNIX system calls (with accepted Linux extensions), your program obviously doesn't "derive" from the kernel itself."

So there y'go. It's different because Linus said it is.


(Log in to post comments)

Google should strip out unreferenced symbols... but it probably doesn't matter

Posted Mar 22, 2011 14:23 UTC (Tue) by wahern (subscriber, #37304) [Link]

Just peruse the Android git tree. We're not talking about syscall tables for POSIX interfaces. Those sorts of things constitute a mere fraction of the total of their tree. Most of the tree defines interfaces to Linux-original subsystems.

Yes, most of the unguarded sections are meant to be used in user-space. That's inconsequential. That's like saying all of your header files for your libfoo are not copyrightable. What does it matter what it's going to be used for? What makes something copyrightable is inherent in the content, not the authors' intentions for it.

And the question of how "thin" your copyright can be in headers doesn't amount to much, either. Can there be copyright in "struct foo"? "struct foo; struct bar;"? "struct foo; struct bar; struce t baz"? Google is saying it doesn't matter. No code in headers is copyrightable, period. Which amounts to saying that copyright can't subsist in the definition of your API. Which begs the question, if an API isn't copyrightable how can you prevent derivative use of that API? You can't. Not until your code is linked and loaded and running with the implementation would it be derivative. Which means there's no functional difference between the GPL and LGPL, if what they're doing is legal.

Google should strip out unreferenced symbols... but it probably doesn't matter

Posted Mar 22, 2011 14:59 UTC (Tue) by viro (subscriber, #7872) [Link]

Oh, for pity sake... Use of system calls is NOT MAKING YOUR CODE DERVATVE. POSIX or not, doesn't matter - just read the sodding license, already. Permission to use the definitions needed for use of said system calls follows from that.

And frankly, what you are trying to push is vile. On par with look-and-feel copyrights.

Incidentally, if libfoo provides only one function that takes no arguments and returns int, not adding any #include at all will *NOT* allow you to escape the need to comply with the license of libfoo. And no, it's not because the identifier "foo" in int n = foo(); is copyrightable.

Get a clue, get a life and piss off, already...

Google should strip out unreferenced symbols... but it probably doesn't matter

Posted Mar 22, 2011 16:42 UTC (Tue) by wahern (subscriber, #37304) [Link]

Not one thing you said in your comment disputes what I said, nor do I disagree with the specific points you made other than your slights against me. If only you would read English as closely as C.

And I will piss off. You can continue living in the dark. And you can continue thinking that you have to cling to an improper understanding of the issue because of some other consequence you can neither perceive nor articulate. You're inability to distinguish the legal argument from your commitment to supporting Google's otherwise laudable work is disappointing.

Good day, sir.

Google should strip out unreferenced symbols... but it probably doesn't matter

Posted Mar 22, 2011 16:53 UTC (Tue) by wahern (subscriber, #37304) [Link]

Actually, upon more careful reading I do disagree with what viro you said, because it's conflating copyright subject matter with licensing. What makes something derivative is a matter of law that can't be avoided by a license. Though I'm not disputing that mere use of a system call does not necessarily make something derivative (I'm not insinuating anything by being circumspect with my words, either); nor that a license can make derivative use okay.

I respond only to protect my name; what with archiving and all. I'm not returning to this thread for the foreseeable future.

Google should strip out unreferenced symbols... but it probably doesn't matter

Posted Mar 22, 2011 15:52 UTC (Tue) by sfeam (subscriber, #2841) [Link]

Bingo. Despite your implicit scepticism, this is the correct analysis. There is no functional difference between the GPLv2 and LGPLv2 in the case of an external library that is being linked. I limit that statement to v2 simply because I haven't examined v3 in enough detail to have a separate opinion. The FSF argues otherwise, but that does not make them correct on this point. You pointed that out yourself: "What makes something copyrightable is inherent in the content, not the authors' intentions for it." IANAL and all that.

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