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."
Would have saved them a lot of this trouble.
Alternatively, they could just release the source for the core...
Of course, netcraft would confirm it to be a dead platform...
GOATSE TROLL. DO NOT CLICK!
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...
And this just goes to show just how hard it is for even the best minds in the industry to grasp.
jaymz
But...but...they use Linux!!! That makes them a FOSS company. Disregard that they internally use a proprietary fork of the kernel! Disregard their proprietary fork of Ubuntu!! Disregard the fact that their file system, page rank algorithm, and almost all of their software such as Gmail, Google Earth, Picassa, etc are proprietary!!! THEY USE LINUX!!!!!!!!!!eleventyone
Google should know very well by this point that you can't just copy GPL code and change the license on it.
The list of licenses compatible with the GPL is just that: A list of licenses of which have terms compatible with the GPL terms, so you can use code licensed under those licenses in your GPL projects.
The GPL is compatible with no other licenses, even its own later versions, unless explicitly named by the copyright holder. The LGPL is almost the same, but also allows you to use LGPL code in GPL projects (in addition to the linking permission).
GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
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
does this mean nvidia has to open source its graphics drivers? or better ati has to do it too?
I really would like up to date drivers for my old now unsupported ati graphics card.
If you don't want people looking at your code, don't contribute to an open source project.
So, take a bunch of copyrighted (or, copylefted) code, stripping out the comments, and then claim there's no copyrightable information???
Seriously? How can they even attempt to claim this. This seems to be about as blatant as you can get.
I'll be curious to see how this plays out, and if this might lead to the GPL being upheld in a court.
Lost at C:>. Found at C.
This is Google we are talking about, not Apple.
GPL causing problems you didn't anticipate?
Isn't Linux covered by the GPL? Also, doesn't the GPL require that you keep the copyright information in the source code? Maybe I'm just slightly confused, but at any rate, Google should not be scared to show the source code.
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
If openness is a virtue, what is sort-of-openness?
Pure self interest?
Creationist Textbook Stickers Declared Unconstitutional by CowboyNeal
On the other hand, nobody gives a shit what Florian thinks.
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.
I thought he worked in the sewer.
The GPL relies on copyright law; without copyright there would be no need for GPL.
FTFY
A cesspool of CEO and anti-vaccine wingnuttery quotes anti-FOSS troll Mueller. No news here.
obviously Bionic? I don't get it
>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.
GPL uses a "judo" approach using copyright against itself. Google does a GPL-based "end run". Both work to hasten the collapse of copyright under its own weight.
Set your phasers on "funky"!
There are few precedents in this area, and really headers that contain just macros/prototypes/etc aren't copyrightable.
Curiously, companies like MicroChip disagree with you on this: they use a gcc-based toolchain for their chips, but claim their copyright interest in their header files allows them to distribute it with a license that forbids you from using their header files with any other compiler, including a modified version of their own compiler.
So there are companies out there basing a significant part of their software revenue on precisely the opposite of the claim you are making. They may be wrong, but the claim is not on the face of it implausible.
Blasphemy is a human right. Blasphemophobia kills.
Stupid shit like this is exactly why I avoid open source code in my projects.
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, but it was language to the effect that applications that only use Linux via standard system calls are not considered derivative works with respect to the GPL.
Stallman later remarked that he wished Torvalds hadn't added that clarification.
That's really not true. Without copyright there would be no need for the BSD family of licenses.
But in a copyright-free world how do you make people distribute the source to their derivative works?
I would have thought Edward Naughton's first rule about header files is don't talk about Linux kernel header files .
Not so. The whole point of the GPL is to implement Richard Stallman's "coined" ethical maxim, that it's immoral to give someone a program but keep the source code from them. That's why the GPL doesn't say you have to give the source code to everyone; you only have to give the source code to those to whom you have distributed a binary. (Of course, they may give it to everyone, so you might as well do it yourself.)
Without copyright, you'd just have Public Domain -- anyone could just take the code, improve it, then sell it as a proprietary product; but no one would be forced to give back to the community, or even give credit where it's due (as is required by BSD licenses).
TCP: Why the Internet is full of SYN.
Uh.... Different Nimmer. This is Ray Nimmer. The guy who wrote the treatise was Melville Nimmer (now deceased) and the treatise is maintained by his son, David Nimmer.
"If openness is a virtue, what is sort-of-openness?"
Virtuel?
Seems like a good analogy.
[Intentionally left blank]
As several of you have noticed, I was thinking of the wrong Nimmer. Sorry, folks! Please mod my original post down -1 Stupid.
Read the EFF's Fair Use FAQ
But everyone would be free to copy, modify and disassemble the proprietary product as well.
Analogies don't equal equalities, they are merely somewhat analogous.
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.
No author can be legally required to reveal the source code to something that they hold the copyright on, even if it is a derivative work of something that they do not.
They can, however, be forced to cease distribution of the application if they do not. They can also, depending on the exact license on the original work (particularly if it was dual licensed), possibly be held liable for damages.
The GPL does not and cannot force a copyright holder to do something with his or her own code that they are unprepared to do... it can only force particular actions with respect to code that the copyright holder did not author, which, in turn, can severely legally limit who the code can be distributed to without complying with its terms.
File under 'M' for 'Manic ranting'
Noticed something interesting about the Huffingpost's blogger and IP lawyer Edward Naughton's bio on his law firm's site Brown Rudnick The current page doesn't mention that Mr. Naughton represented Microsoft in different lawsuits. However googlecache reveals something different:
cached version
"This is Google's cache of http://www.brownrudnick.com/bio/bio.asp?ID=512&ForwdName=Edward+J.+Naughton. It is a snapshot of the page as it appeared on Mar 8, 2011 07:27:15 GMT. The current page could have changed in the meantime. Learn more"
What does the cached version say?
Just this:
"Co-counsel defending Microsoft against a putative consumer class action alleging that it had violated wiretapping statutes and common law privacy rights by designing Windows to permit third parties to place cookies on computers. Obtained dismissal of complaint."
and this:
" Represented Microsoft in several dozen lawsuits against resellers and corporate end-users of counterfeit, infringing, and unlicensed software."
I wonder why that information was removed from his bio?
Also, he mentions and links to "prominent" blogger Florian Müller. HAHAHAHAHAHAHAHA!!!!
"Nimmer is the real deal. He wrote the definitive treatise on copyright law."
So, Nimmer is the guy that needs to be publicly executed for the F**ked up copyright laws?
I'm sure Apple and M$ are behind most of this nonsense - both are scared $hitless of Google. Unfortunately, for them, most of the strongest Android advocates are those that write software and recognize these types of tactics as being the same they've fired at Linux for years..
It's getting comical reading how everyone is going after google every time they have a product that ends up being successful.... search.. street view.. android... probably others. Not that the same thing doesn't happen to other companies when they have smash hits.. Facebook.. crapple...etc.
Except by this logic all Linux applications must either be GPLv2, or never make any syscalls.
Are interface specifications copyrightable in general?
Is WINE breaking Microsoft's copyright by implementing the same APIs? (Leave aside patents, they are irrelevant to this discussion). Many other examples could be given, where one must hope that copyright is not broken by someone writing a different implementation of the same API.
Header files are the low level interface specification mechanism for the C programming (the higher level mechanism is the semantics explained in English: see the DESCRIPTION section of any manpage in section 3 for an example). Snippets of header files appear in the SYNOPSIS of the section 3 manpages. If plain C function prototypes in header files become copyrightable, so do Java Interfaces; so do the command-line option names and exit codes of Unix programs; so does any definition of any interface anywhere. And say good-bye to free reimplementations of proprietary software.
Be very careful what you wish for.
By the way, I realise that header files can contain more than the public interface. In particular, macro implementations can appear there, which are likely to be as covered by copyright as any other implementation code.
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.
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.
I know only a minimal amount about Android, but why does Google insist on walking on the very edge of legality in regards to all of the software involved here? Licensing costs? That explains Java, but why all the incompatible custom changes, copyright header removals, and general open source shadiness.
They may be within that law, but are outside the bounds of being upstanding (apologize before hand for the term) 'FOSS netizens'.
Can they really not get Android to work *and* play nice?
FUNK!
So the problem is...that they distribute those headers without GPL2 header. Big deal. Google, please put back GPL header into those files. Just because this kind of zealotry wants to harm Android OS. Then everything is legal - GPL2 forbids linking (although, technically, you are not in violation if you use a shared library), but doesn't tell anything about including headers, as far as my naive interpretation goes, otherwise all non-GPL2 software on Linux which uses kernel headers, directly or indirectly, is illegal.
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.
How is that a GPL copyright violation? The GPL requires that you include any intermediary scripts that do this, which is what google did.
It's abundantly clear that Florian Mueller is a troll. Anybody remember when he accused Google of infringement because of unit tests in the source tree. This guy is full of shit and that's about all.
If you RTFA (and the full legal opinion it links to), you might begin to suspect that they're illegally distributing GPL2 code as "uncopyrightable".
Linux proponents should have learned from Microsoft. You have to wait until the copyright offender has reached critical mass before you threaten to sue for copyright infringement. The settlements are much larger that way.
The problem for developers is that the GPLv2 applies itself to any application that makes use of covered code, which could arguably apply to any native Android application as the kernel headers are so universally applied.
This is the only sentence that actually "addressed" the "issue" that Android developers face. And it is utterly unexplained. What does this have to do with Google messing with those header files?
What could be cuter than a Penguin dancing with a 'Droid robot while your cell phone boots?
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?
I would imagine that Google is giving the middle finger to F/OSS because they feel, in their estimation, that none (or pretty much none) of the various F/OSS projects they have ripped-off have the financial wherewithal to mount an effective legal defense. Yes, I know about the EFF; but they have been, historically, pretty much ineffective at getting legal decisions in THEIR favor, and in fact, have actually made some pretty bad caselaw.
I mean, really? Do you think YOU could successfully sue Google if they ripped off YOUR F/OSS project? Unless you were the maintainer of something like Ubuntu or Apache, you'd be broke after fighting their first Motion To Dismiss or Summary Judgment motion.
Nope. This is the Golden Rule: They who have the Gold, make the Rules.
Sure, there may be some grey areas as to exactly when copyright applies and the GPL comes into effect. But the real risk Android takes by operating in this area is that the copyright holders themselves will feel violated enough by their actions that they will spend the time and money to sue you with no clear-cut probability of winning. Are any Linux copyright holders feeling that violated by the Apache-licensed Android? Do they have enough resources to take on Google over a legal grey area?
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.
"Anonymous Reader writes..." + any citation of Florian Mueller = no need to read any further.
'Nuff said.
Il n'y a pas de Planet B.
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.
I have this mental image of Florian as a rooster attempting to pass an unspeakably large egg.
There are tons of GPL violations on the Android app store. Recently reported was "n64oid" which is a direct ripoff of mupen64plus. Google doesn't seem to want to do anything about it.
http://lkml.indiana.edu/hypermail/linux/kernel/0301.1/0362.html
"I'm not sure what your project is designed to do, so I don't have an
opinion about how it stands regarding the GPL. However, I've talked
with our lawyer about one specific issue that you raised: that of
using simple material from header files.
Someone recently made the claim that including a header file always
makes a derivative work.
That's not the FSF's view. Our view is that just using structure
definitions, typedefs, enumeration constants, macros with simple
bodies, etc., is NOT enough to make a derivative work. It would take
a substantial amount of code (coming from inline functions or macros
with substantial bodies) to do that."
As usual, Florian Mueller shows he's a troll.
But in a copyright-free world how do you make people distribute the source to their derivative works?
You don't; you just legally reverse engineer the binaries and publish the results.
Interfaces are not copyrightable. An implementation of them may be, but you can't stop someone from rewriting them. Only a patent could do that.
> 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.
I think they're in the clear so long as they follow the GPL when distributing gcc. As long as their header files are not derivative works of GPL code they can be placed under any license they want. It is not a violation of the GPL for some third party software's license agreement to require use of a specific version of GPL software. Just imagine this whole situation as if they didn't ship gcc at all; it's just a silly EULA for their header files like any other software EULA, only as enforceable as your local thugs have been bribed into thinking it should be.
You're thinking of David Nimmer [wikipedia.org]. Ray Nimmer has lots of credentials too,
Among them seems to be a penchant for bashing free software.
Searching his blog for "GPL" yields about 5 posts, none of them flattering and one particularly egregious that begins with: "With the noise about the likely to fail GPL 3.0..." and then ends with that trite bit of misdirection that anyone with more than a passing interest in intellectual property issues, much less a professional lawyer specialising in them, would know better than to say: "Why does a movement that refers to itself as free and open, try to impose restrictions on others to act freely or openly?"
Except by this logic all Linux applications must either be GPLv2, or never make any syscalls.
No, the license for the Linux kernel has an extra bit at the top, put there by somebody named "Linus", that starts out saying
Why is it every time Florian Mueller is quoted in the summary, it's submitted by someone anonymous?
This is FUD pure and simple and Oracle and or Microsoft probably paid the writer for it.
It's simple really is Linus or the kernel hackers making a copyright claim here? Is the free software foundation or EFF leading a challenge against this Bionic library? No of course not. However Oracle is making a patent claim against Google and Microsoft wouldn't mind if they got tied up in court. So chances are that is exactly where these claims come from.
Same dirty tricks from the same scurrilous players nothing to see here.
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.
Except that, according to said README.TXT, said headers also include "a couple static inline functions used for performance reason (e.g. optimized CPU-specific byte-swapping routines)".
If any of the big stakeholders in OSS or Free Software start claiming that their interfaces are copyrighted, then they are blowing away most of the legs they have stood on for a quarter century or more.
A large part of the free software movement has been the cloning of proprietary systems by copying their interfaces.
If a bunch of kernel developers come forward to assert that Google can't clone some kernel interfaces, then in the same breath they would have to admit that they have no right to implement Unix (tm) system calls or library functions.
Florian Mueller reacts to some blog by Edward. J Naughton, who is an IP litigator. Of course IP litigators believe in the strictest possible interpretations of copyright.
But if the likes of Naughton were right, free software would have been killed off decades ago.
(It's been tried: e.g. Novell goons trying to kill off projects cloning Novell protocols and services.)
That may be. But that's a different issue than the one I was responding to.
My blog. Good stuff (when I remember to update it). Read it.
mltechnosoft offers many softwareservices.
softwareservices
http://www.auraria.edu/services/reserves/exemptions
El Reg has had form for this for decades. Especially their bestest friend, Andrew Orlowski. Two things will always see him in attack mode:
1) FOSS especially GPL
2) Global Warming
both are an anathema to that blithering pompous idiot.
Because the author of the header says so. See the file COPYING included with GPL applications. Others have linked.
Also, there is no expressive content in the header delcarations. The knowledge that strcmp takes a char * and a char * and returns an int must be included to be C API compatible. This doesn't make EVERY SINGLE C PROGRAM a derivative of USL code.
[PJ: Edward J. Naughton, the attorney Huffington Post just published claiming Android may be in violation of the GPL has done work for Microsoft. Surprised much?
His article states this at the end: "The views expressed are my own individual views and should not be attributed to any clients." Nevertheless, at least one of them may be delighted.
His bio has changed recently. The link above is to its current state, where you will not find any mention of Microsoft. It's been changed to a "Fortune 50 software company". Here's what used to be on it, still in Google cache, a snapshot taken recently, on March 8]:
- Co-counsel defending Microsoft against a putative consumer class action alleging that it had violated wiretapping statutes and common law privacy rights by designing Windows to permit third parties to place cookies on computers. Obtained dismissal of complaint....
- Represented Microsoft in several dozen lawsuits against resellers and corporate end-users of counterfeit, infringing, and unlicensed software. -
Brown Rudnick bio page for Naughton
of much more serious concern - to google - is the fact that they are *knowingly* not pursuing GPL Copyright Infringement cases against Android-Linux GPL violators. if you fail to pursue a Copyright violation, it can be argued that you have "no interest" in protecting the Copyrighted material. as it is not in google's interests to pursue copyright violations because that would reduce the number of google android systems in the world, thus affecting their bottom line by reducing advertising income, they're in a bit of shit.