Does Android Have a Linux Copyright Problem?
An anonymous reader writes "TheRegister says Google's attempt to purge copyright from header files has put mobile developers at risk of being forced to reveal their own source code, according to legal experts. This time it's not patents or Android's reinterpretation of Java that's causing problems, but the Linux code that compiles down into Android itself. The discussion started with a Huffington Post article by IP lawyer Edward Naughton, who has serious doubts about Google's approach to the Linux kernel header files. He in turn links to copyright law professor Ray Nimmer's blog post on disclosure risks on copyleft platforms. And IP blogger Florian Mueller believes Google faces a serious Linux copyright issue."
No real risks, just header files which are not even copyrightable and things explicitly permitted by the lesser (lib) GPL licence anyway, noting to read here just Florian Mueller posting as anonymous for the FUD...
Nimmer is the real deal. He wrote the definitive treatise on copyright law. It is cited in more judicial opinions than any other scholarly work on the subject. That doesn't mean Google is necessarily screwed, but it certainly means this is a serious matter.
Despite the persistent belief that copyleft and the GPL are antithetical to copyright law, nothing could be further from the truth. The GPL relies on copyright law; without copyright there could be no GPL. Google's attitude seems to be that copyright is merely a hassle, an obstacle to be routed around. Even if they are not found to be legally in violation of the GPL, they obviously Bionic with the deliberate intent of routing around it.
If openness is a virtue, what is sort-of-openness?
Read the EFF's Fair Use FAQ
From TFA:
Google took a novel and quite aggressive approach to developing a key component of Android -- the Bionic Library. That library, a type of C Library, is used by all application developers who need to access the core functions of the Linux operating system. Google essentially copied hundreds of files of Linux code that were never meant to be used as is by application developers, "cleaned" those files using a non-standard and questionable technical process, and then declared that the code was no longer subject to the GPLv2
That "technical process" looks like it refers to an automated filter that it ran the standard Linux header files through, resulting in part of the API for the non-GPL Bionic Library used in application development. One reading of copyright law could determine that the Bionic Library is a direct derivative of the Linux Kernel and therefore must be GPLv2 and open source. This library is essential for Android application development, therefore it would become legally impossible to develop a closed-source Android app.
Personally, my reading of GPLv2 tells me that simply including GPLv2 header files does not mean that your application must also be GPLv2 (otherwise a large part of the embedded market simply wouldn't exist). So I'm marking this one down as FUD.
6th Street Radio @ddombrowsky
This won't play into a goddamn thing. It's headers. read the first post. Headers are not copyrighted. This seems to be about as blatant a lack of comprehension you can get.
You need to ask that in the "Geico guy" voice.
General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
"Google publishes that code under the Apache licence, but derives it from Linux source protected by the General Public Licence version 2 (GPLv2) claiming to remove all copyrighted components before changing the licence."
I don't follow this. They're saying that they take the GPL-ed Linux source, and strip out all copyrighted parts. Wouldn't that be all of it? The GPL only works because the code is copyrighted to the developers.
[Ray] Nimmer is the real deal. He wrote the definitive treatise on copyright law.
You're thinking of David Nimmer. Ray Nimmer has lots of credentials too, but he's a different guy.
Parity: What to do when the weekend comes.
Well, from the last article linked from the summary:
Now, I have no idea if Linus making this assertion is a fully valid legal opinion, but he's sure as hell under the impression that they're certainly copyrighted.
And, the second link in the summary says:
So, I'm not entirely convinced that your assertion that the header files aren't copyrighted is actually true.
Most of these articles seem to be saying that this quite likely is a violation of copyright.
Lost at C:>. Found at C.
Header files implement an interface. That interface is a fact, not subject to copyright.
The fact "strcpy takes as arguments two character pointers, and returns a character pointer", is not copyrightable. This does not change if I express it in C as "char *strcpy(char *d, const char *s);"
A minimal C or C++ header file is just a collection of such facts.
Tom Swiss | the infamous tms | my blog
You cannot wash away blood with blood
Most of these articles also cite Florian Mueller or a legal guy saying it's a legal analysis with a disclaimer that says "THIS IS NOT LEGAL ANALYSIS". It's not a coincidence.
As another commenter noted, Indeed, google "SCO linux headers" or "SCO errno.h".
you'll see what this is about, and the answer is zero.
Well you're obviously not a copyright genius, otherwise you'd know that header files usually only contain structural information about functions that doesn't contain the level of creativity required to clear the threshold for copyright protection.
The majority of the linux kernel headers ARE copyrighted. Look for yourself. Perhaps you are trying to make a claim that "headers are not copyrightable", but that would be crazy. Perhaps google is doing this with the idea that "although the headers are copyrightable and people are claiming copyright on them, after you strip all the comments from the files, what you are left with is no longer copyrightable". I'm sure you could find people on both sides of that argument.
So, I'm not entirely convinced that your assertion that the header files aren't copyrighted is actually true.
It's not an assertion. It's backed up by case law such as the rulings of SCO v IBM where one of IBM's central claims against SCO with respect to SystemV header files like ERRNO.H is that they aren't copyrightable.
Ah. Concise. To-the-point. Quite possibly completely wrong.
Read and learn.
Actual practitioners of the law, people who don't have to say "IANAL" like you obviously should have, say that the answer is unsettled. There is precedent that header files, in general, may be copyrightable. Header files that express APIs, perhaps less so, because the API itself is not copyrightable. (But again, the idea of a big white whale and and obsessive whaler hunting each other isn't copyrighted, but I'm pretty sure Moby Dick certainly was.
But let me put your central assertion to the most obvious test. I write the Great American Novel. It's an awesome novel. It's breathtaking, ground-breaking, and lots of other "aking" things. But I'm eccentric. So I write it entirely as a C++ comment block, and in a file called "GreatAmericanNovel.hpp".
Why isn't it copyrighted, again?
Welcome to the Panopticon. Used to be a prison, now it's your home.
Header files generally specify an interface, the libraries implement the interface.
However header files can implement some of the interface by use of inline functions and macros.
As has been hinted, these are more likely to be subject to copyright as they are more than a minimal specification required for interoperability.
blog.sam.liddicott.com
"If openness is a virtue, what is sort-of-openness?"
Virtuel?
Who says the headers are not copyrighted?
IBM did in SCO v IBM. The court apparently accepted that argument and thus established case law precedent. This is just one example.
Header files implement an interface. That interface is a fact, not subject to copyright.
The fact "strcpy takes as arguments two character pointers, and returns a character pointer", is not copyrightable. This does not change if I express it in C as "char *strcpy(char *d, const char *s);"
A minimal C or C++ header file is just a collection of such facts.
The point Nimmer, an acknowledged authority on IP law, makes is that when you aggregate such "facts" the resultant text, essentially becomes an expressive description of how a whole system works, and therefore is copyrightable. Otherwise one could argue that each individual word in a book is such a "fact," and that copying a book is just copying a series of facts and therefore not a copyright violation.
Whether a work is copyrightable is a matter of examining the whole work in the context of its use, not just determining that individual lines are not copyrightable and concluding that the whole work is therefore not copyrightable.
So no, it is not yet a settled matter of law that header files are not copyrightable.
Indeed, google "SCO linux headers" or "SCO errno.h".
So you conclude that because some headers are not subject to copyright, no headers are subject to copyright?
The phone book contains no copyrightable information. Does that mean no book is subjec to copyright?
Blasphemy is a human right. Blasphemophobia kills.
Problem, Google?
Seems like a good analogy.
[Intentionally left blank]
If all a header file does is describe an interface then no, I don't think it should be copyrighted. The interface is there to promote
interoperability and if headers were subject to copyright we might have Linux but it damn well would not work as a near perfect
drop in replacement for Unix.
If people are putting code in headers that are worthy of copyright my first reaction would be "they're doing it wrong".
All phone books are uninteresting. Some books are interesting. All header files (IMHO) should be uninteresting.
IANAL - I might be wrong but I trust my own knowledge over anything Florian has to say on the subject.
Creationist Textbook Stickers Declared Unconstitutional by CowboyNeal
IBM's claim, which was upheld, what that those specific headers were not copyrightable because they were in the public domain. IBM did not claim that header files in general are not copyrightable.
So you think IBM was also crazy to argue that back in SCO v IBM where that argument was held up by the court?
That ruling applied to the header files in question, which were not the same header files in the present case, as I understand it. While some header files may not be copyrightable, it does not follow that all are not.
Blasphemy is a human right. Blasphemophobia kills.
Nope, EULAs are use licenses, GPL is only impacts copying of the software. You can feel free to use GPL software in your private software and never give up your source so long as you never make copies of that software and distribute them.
Who cares what Google uses internally? I can modify all the GPL software I want at home and not release the changes, and so can all companies. There's nothing illegal or immoral about it.
I wish their major Android apps were open sourced, but that's a different matter.
This argument was not held up in court, because it was never made. IBM argued correctly, and the court agreed, that the specfic headers in question were not copyrightable because the were in the public domain. IBM did not argue, nor has any court ruled AFAIK that headers in general are not copyrightable. Hence the potential legal problems for android developers.
If the rest of "GreatAmericanNovel.hpp" describes an API and the comments are stripped, what creative work is left?
Analogies don't equal equalities, they are merely somewhat analogous.
OK, I am one of the IANAL guys spouting off about headers not being protected by copyright but you definitely raise a good point. So lets assume there are many comments in the header files in Linux, some useful, some funny, some coming close to the greatest written piece ever. I'll grant that those elements in the file are subject to copyright.
Now, back to your example, if the only thing in your header file is the comment itself which contains this fabulous piece of writing and the fact that you completed it on 3/18/2011* and I strip it out the writing, leaving only the date completed (a fact), is the header file still subject to copyright protection?
The point I'm trying to make is that Google claims (right or wrong, I don't know, I have not seen the files) that they stripped out everything but the sections of the header that describe the interface into the Linux kernel. Linux on the other hand copied some of this data from BSD and ATT SYSV header files claiming all along that this was needed for interoperability. A court of law held that IBM could do the same thing with regards to Linux and SCO could not claim protection over those files. I agreed with that then and I agree with it now; assuming Google did a thorough job of scrubbing anything out of the files that was worthy of copyright protection.
* Happy Saint Patrick's Day everyone!
Creationist Textbook Stickers Declared Unconstitutional by CowboyNeal
Which is why I'm amused every time software makes me agree to the GPL before I install it. The GPL is pretty easy to read and understand, and I can only imagine that someone would use it as a clickwrap license if they hadn't actually bothered to read the thing.
(Well, to be fair, some people are probably using braindead installers which require some clickwrap step. Ugh.)
Well taking them at face value Google claims to have stripped the comments and copyright worthy elements from the files. So, again giving them the benefit of the doubt, are the elements they copied worthy of copyright or simply a way to promote interoperability?
Creationist Textbook Stickers Declared Unconstitutional by CowboyNeal
Only when they run roughshod over the applicable laws to what they're doing.
People aren't slagging them because they came up with Street View or that they made Android ... they violated privacy laws (and some might say computer access laws by sniffing Wi Fi) in some places, and they may have violated copyright by taking stuff from Linux and stripping out the copyright.
Go ahead, be successful. But, don't cut corners and skirt around the law in the process. That's what people are concerned about.
Lost at C:>. Found at C.
Because of an addendum Torvalds added to the GPL v2 as it applies to the Linux kernel. I couldn't find it quickly on Google
You can find it in the COPYING file at the top level of the Linux kernel source tree:
which is followed by the text of the GPLv2.
Really? Is that why I have aftermarket firmware running on my Android phone, but you can't get the source to iOS or Windows to do the same?
My blog. Good stuff (when I remember to update it). Read it.
Everything Google does with Linux is perfectly legal. You can't DISTRIBUTE the modified binaries without providing the source, but really... you expect Google to give away the keys to it's kingdom because it used Linux as a base? Are you stupid?
Besides... Picasa isn't Linux or based on open source software, nor is Google Earth, nor is the Page Rank Algorithm, nor is their filesystem, nor gmail... well, pretty much nothing except the kernel fork. And their use is implicitly allowed by the GPL.
Go troll your stupidity elsewhere. There are plenty of reasons to not like Google, but this ain't one of 'em.
My blog. Good stuff (when I remember to update it). Read it.
But Google claims to have removed the interesting elements leaving only interface details that are needed to operate with the kernel.
Creationist Textbook Stickers Declared Unconstitutional by CowboyNeal
Read the RATIONALE section at the bottom.
After you've read it, if you still have a problem, to put this into perspective ... let's take a proprietary platform, Windows. There is nothing to prevent me
from creating a set of optimized headers that wrap around the windows api,
leaving out unnecessary parameters, constants, and code definitions that will
conflict with my userland application code, and defining new
"convienence" methods, functions, classes and structures.
If I then use the "cleaned up" headers to create an application, that application is no less my work because I used the "cleaned up" version as opposed to the original kernel source.
Proprietary applications can use these "cleaned up" header files without falling afoul of the GPL, the same as if they had used the original headers. Otherwise, the "binary blob" device driver problem would clearly not exist.
From the GPL v2:
An application distributed separately, just like a driver distributed separately, is not "derived" from the kernel source.
It's a tricky balance. The kernel is gpl, and the code is available, including the "cleaned up headers" code, as per the gpl.
Just remember, an application that calls kernel functions is not "derived from" the kernel any more than an application that calls the windows api is "derived from" windows.
I believe this is just more FUD on the part of certain parties ... ask yourself
"cui bono", then follow the money to the usual suspects.
So, I'm not entirely convinced that your assertion that the header files aren't copyrighted is actually true.
It's not an assertion. It's backed up by case law such as the rulings of SCO v IBM where one of IBM's central claims against SCO with respect to SystemV header files like ERRNO.H is that they aren't copyrightable.
Did the case establish that no header files are copyrightable, or just that some System V header files, such as errno.h, aren't copyrightable (assuming the judge ruled on that particular claim)?
Google's attitude seems to be that copyright is merely a hassle, an obstacle to be routed around. Even if they are not found to be legally in violation of the GPL, they obviously Bionic with the deliberate intent of routing around it.
If you read the rationale section of Bionic README.TXT it doesn't seem that Google's trying to claim these new headers are re-licensed. They're simply providing an (automatic) way to create cleaned headers that won't cause compilation errors due to a variety of reasons that the original headers can/will cause them. While I'm not a copyright expert, this doesn't sound anything like what these guys are claiming Google's doing.
Also, I've never heard of anyone having to release their source code because they used header files from Linux. You kinda have to use them to compile, and there's plenty of non-GPL software that compiles and runs on Linux that hasn't been forced to release its source code.
In other words, they're complying with the GPL by including the scripts necessary to generate the code. Florian Mueller is a liar and enemy of open source, has been for years. This is the guy who went around saying open source destroys value.
Except that pure aggregations of facts don't have legal protection in the US. They do in other locations, but not the US. Otherwise, there would be a lot of fights over sports scores, tv schedules and phone books, like we have in the UK, NZ and Australia.
Not necessarily. You cannot just remove the copyright notice from someone else's code and make believe that by removing the notice you have removed their legitimate copyright. BSD source has copyrights on it too. You can proceed to release the resulting product without source - true, but you cannot just make believe the copyright to go away. It seems as though google wants to. From the register article:
These fall under the GPLv2 which states that any work derived from them must also be published under the GPLv2, but Google uses scripts to take out all the comments and extraneous odds and sods, then claims that this removes the copyright.
At issue are the header files in the Linux kernel - a list of APIs and macros that are used during compilation. ... highlights cases which have come before the US courts and established that copyright can exist on an API thanks to its innovative structure and design, which would seem to give the lie to Google's claims.
750 files that Google derived from Linux kernel header files published under the GPLv2.
"but money is the God of Algiers & Mahomet their prophet." - Rich. O'Bryen June 8th 1786
Creative use of whitespace?
It's the 99% of lawyers that give the rest a bad name.
Naughton's trying to do a reverse SCO here... Oh noes, they copied the defines from errno.h! Completely dumb and a waste of time. There are lots of C libraries out there with Linux linkage. Saying A means 1, B means 2, and C means 3 is as copyrightable as Pi=3.1415. And nobody cares how you arrive at a preferred expression of that stuff, say by doing a dramatic reading of the POSIX standard into voice recognition software. Nobody cares except perhaps a FLOSS ambulance chaser.
Anybody want a peanut?
Here's the thread that comment was taken from:
http://kerneltrap.org/node/1735
The topic under discussion is the old controversy of Linux community regarding binary loadable kernel modules, and whether they can be provided under a non-GPL license. This is an entirely different ball of wax. The same thread also mentions that the LINUX COPYING file explicitly clarifies that user space programs that are compiled to work with the LINUX kernel DO NOT incur a GPL obligation. This is the foundation of the vast library of proprietary software that runs on regular Linux today.
As far an ISV using Android is concerned, if they write kernel modules (e.g. a device driver) or modify the kernel source itself, then yes, they'd have to disclose that source, but Android application programs (including those provided by manufacturers or vendors) can happily be as proprietary as they like.
So as far as I can tell, this is just FUD dressed up in a nice pinstripe suit.
You've written a lot of truly stupid things in this thread.
1) Copyright has no weight
2) Copyright infringement is theft
3) 90% of the world is third
4) Most people think stealing is a sacrament
5) No one is allowed to say something you've already said
It's obvious that you are suffering under a severe case of the Dunning Kruger effect. I suggest you educate yourself on the actual issues surrounding copyright and the world before you embarrass yourself further. Many of the "facts" that you believe are blatantly false, and repeating them in public makes you look ridiculous.
Fanatically anti-fanatical
Instead, we have statements like this in the original blog entry by Raymond Nimmer: "Not having examined the facts, I don’t know the actual truth of the matter." Indeed That pretty much describes all commentators in the entire mess.
From the original resume:
and this:
At least he seems to know which side his bread is buttered on.
> You're thinking of David Nimmer. Ray Nimmer has lots of credentials too, but he's a different guy.
William F. Patry, Senior Copyright Counsel at Google, is no slouch either.
The problem is with the dickhead who calls himself Google's "Open Source Programs Manager" and is an unabashed foe of GPL, and fan of the Apache licence. Start the cleanup by getting rid of him, he has accomplished nothing but create bad karma between Google and the community. In Google he was referred to him as Google's "Open Source Obstructer" by people who had to deal with him.
Still analyzing the actual issue. At this point it looks very much like a transparent attempt to game the GPL, but the devil is in the details.
Have you got your LWN subscription yet?