Brian Proffitt has the goods, utterly torpedoing the recent claims that Google misused GPL'd header files with Bionic leading to wild predictions of disaster. Proffitt did what Edward Naughton and Florian Mueller could have done prior to making the claims and asked Linus about it directly. Linus told him "it seems totally bogus". The details are fascinating.
Here's the part from Proffitt's article where Linus speaks, but the whole article is worth reading:
Naughton raised serious concerns in his report that what Google has done with Bionic (essentially creating a library analogous to glibc for Android) and then licensing Bionic under the Apache license violates the GPL. If that's the case, he argued, then Bionic could be considered a derived work under the GPL and therefore any application that touched Bionic would also be subject to the GPL. So there you have it. Also, check out
LWN's coverage if you have a subscription, and if you don't I recommend it, but the link has the opening paragraphs, including this significant piece:
But when I put the question to Linus Torvalds last week, he wasn't nearly as concerned. Torvalds responded to my inquiry just this afternoon and had this to say about the so-called problem:
"It seems totally bogus. We've always made it very clear that the kernel system call interfaces do not in any way result in a derived work as per the GPL, and the kernel details are exported through the kernel headers to all the normal glibc interfaces too.
"The kernel headers contain various definitions for the interfaces to user space, and we even actively try to make sure that the headers can be used by user space (and try to mark which of the headers are expected to be usable in such a way). Exactly because we know user space needs those details in order to interact with the kernel.
"So I haven't looked at exactly what Google does with the kernel headers, but I can't see that they'd want to do anything fundamentally different from glibc in this respect," Torvalds wrote.
Torvalds seems to be at best bemused about the issue and perhaps a tad irritated.
"Of course, we do have our own 'internal' headers too, and we have stuff that is meant to be relevant only for the kernel. But there would be no point for Google to even use those, since they are useless outside of the kernel, so I don't see what the whole brouhaha would be all about. Except if it's somebody politically motivated (or motivated by some need of attention)," he continued.
Way back in the early days of Linux, shortly after Linus Torvalds switched the kernel from his own "non-commercial" license to the GPL, he also added an important clarification to the kernel's license. In the COPYING file at the top of the kernel tree since mid-1993, there has been a clear statement that Torvalds, at least, does not consider user-space programs to be derived from the kernel, and thus are not subject to the kernel's license: So, even without talking to Linus, anyone could have known that the claims were over the top. There's an astute comment on that article as well here, that you can read without a sub.
This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work".
What? You thought if Florian Mueller or some lawyer who has worked for Microsoft pitched an anti-Google/Android claim of doom, it must be so this time? How many times will this happen before journalists stop repeating the FUD and ask the people who know, as Proffitt just did? It's what journalism is about.
Richard Stallman had something to say about header files back in 2003. It's relevant to the FUD that has been making the rounds. Here's what he said:
Someone recently made the claim that including a header file always
makes a derivative work. So. There you have it.
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.
Just because someone makes a speculative claim that Android or Google might be in legal trouble, it doesn't make it true.
And without casting aspersions, I don't care if the person is a lawyer, unless he's a FOSS lawyer. Here's why I say that: from covering the SCO saga, I learned that lawyers who are not FOSS lawyers do not understand the GPL. It works in a way opposite to what they are used to, so it's a supreme puzzlement to them. Remember SCO's "The GPL is Unconstitutional" gambit?
People laughed so hard at them for that, they
dropped it. I'm smiling just remembering it. But real lawyers from a famous law firm came up with that. That didn't make it so.
The header files story was just the latest example of a recent flood of "The Google/Android Sky Is Falling" nonsense. Somebody reeeeally wants us to stop using Android, and it's driving them crazy because the market has simply fallen in love with Android, despite their tireless FUD.
So, here's my advice to journalists and everyone when confronted with plausible-sounding anti-Android/anti-Google propaganda:
- Consider the source. Is there a track record of reliability? Or the opposite? What happened the last time this source made a pronouncement? Did it turn out to be true?
- Consider agendas. Are there discoverable links to Android competitors? Does the person have clear connections to Microsoft? Google is your friend.
- Then, before you print, ask the folks who actually understand the GPL and how it works to tell you if there is any substance to the claims.
So when anyone provides an opinion about the GPL, whether a lawyer or just the usual anti-Google windbags, ask yourself, does this person know what he is talking about? I think it's happened now often enough, we should be able to figure it out, if we follow the above steps.
The lawyer who wrote about the header files, Edward Naughton, has a bio page at his law firm. Today it looks like this. But he recently changed it, stripping out the name Microsoft from his bio and replacing it with "a Fortune 50 software company". Now why might that happen? Here's how it used to look, as you can verify in Google cache for a little while longer (just go to Google, search for
http://www.brownrudnick.com/bio/bio.asp?ID=512&ForwdName=Edward+J.+Naughton and then click on cache), in the part where he lists his successes for clients:
Why so modest? Might it be possible that he or the firm decided it would be prudent to remove that connecting link once his article claiming Google might be in legal trouble over the GPL appeared on Huffington Post?
- 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.
I'll let you be the judge. But shades of Get the Facts, y'all.
Update: For the record, a friend downloaded the kernel source code today and looked at the COPYING file (and you can do it too, if you'd like to confirm it for yourself) and it says in part:
NOTE! This copyright does *not* cover user programs that use kernel
services by normal system calls - this is merely considered normal use
of the kernel, and does *not* fall under the heading of "derived work".
Also note that the GPL below is copyrighted by the Free Software
Foundation, but the instance of code that it refers to (the Linux
kernel) is copyrighted by me and others who actually wrote it.
The rest of the file is the GNU GENERAL PUBLIC LICENSE Version 2, June 1991
Also note that the only valid version of the GPL as far as the kernel
is concerned is _this_ particular version of the license (ie v2, not
v2.2 or v3.x or whatever), unless explicitly otherwise stated.
Update 2: Steven J. Vaughan-Nichols has more:
Sean Hogle, a technology attorney, agrees. Hogle wrote, “The most objectionable aspect to the Mueller and Naughton blog entries are the wildly exaggerated claims that Android applications will be forced to be licensed under the terms of the GPL in open source code form.”
And Jon Brodkin has now posted a new article, incorporating the information that Linus [and pretty much everyone in the FOSS world] is calling the claims bogus.
Hogle continued, “With all due respect, I don’t believe that developers are taking any risks, let alone significant risks, in this context, and I don’t believe there’s any possibility that Angry Birds will have to be GPL’d against their will. Application developers have done nothing to subject themselves to the copyleft obligations of the GPL. Linking to kernel APIs [application programming interfaces] directly wouldn’t create a derived work according to the stewards of the Linux kernel.”