Much Ado About Android Licensing and Headers
Google and the many-tentacled beast that is open source licensing took the Linux spotlight this week as bloggers pondered whether Android has a bit of a copyright conundrum. "There has been a lot of hearsay about what Google may or may not have done to Android," consultant and Slashdot blogger Gerhard Mack told LinuxInsider. "Personally, I'm waiting for the facts to come out before I make any judgments."
03/24/11 5:00 AM PT
Those of us who have spent more than, say, five minutes in the Linux blogosphere know that there's pretty much never a dull moment around here.
In case any further proof was needed, however, the past week or so has surely afforded it, courtesy of the never-ending quagmire of legal licensing.
"Does Android have a copyright problem?" was the question that got posed on Slashdot last week, and it generated more than 200 comments itself, not even counting the 100 or that appeared on the original article in The Register.
'Developers at Risk'
"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," the Register article began.
"At issue are the header files in the Linux kernel -- a list of APIs and macros that are used during compilation," The Register explained. "These fall under the GPLv2, which states that any work derived from them must also be published under the GPLv2."
Google, however, "uses scripts to take out all the comments and extraneous odds and sods, then claims that this removes the copyright," it charged. "That enables Google to publish the resulting code under the (less open) Apache license as though it were an original work."
'Just Google Riding Roughshod'
Bloggers were soon performing something akin to a collective facepalm.
"Aaarrgh," exclaimed Register blogger ratfox, for example. "I still find it incredible that after all this time, we still have all this trouble with writing up licenses that mean what we want."
On the other hand: "No problem with the license," countered Simon Hobson. "It's just Google riding roughshod over it with their (yet again) rather unusual interpretation of it and copyright in general."
Microsoft, RMS and Linus, Oh My!
Of course, the story didn't end there -- not by a longshot. In fact, it wasn't long before blogger Brian Proffitt uncovered the old Microsoft ties of the lawyer making the allegations, among other complicating factors. The result? A whole new uproar.
Any heads not spinning yet? Good, because bloggers had plenty to say.
'A Whole Lot of FUD'
"There has been a lot of hearsay about what Google may or may not have done to Android," consultant and Slashdot blogger Gerhard Mack told LinuxInsider. "Personally, I'm waiting for the facts to come out before I make any judgments."
Even if the allegations are true, however, "it is hard to see how anything regarding Linux kernel headers could affect the status of third-party applications unless they are drivers or system libraries," Mack pointed out. "Most Android apps are written in Java and don't even use system libraries, let alone kernel headers, so they should be completely safe -- making this sound like a whole lot of FUD."
Indeed, "this is the same old FUD about copyright violation of header files," blogger Robert Pogson agreed. "How on Earth do these fools think anyone is going to build software without headers pointing to Linux? A lot of it is POSIX standard stuff just like SCO v. World."
'Not Copyrightable Anyway'
It would have been simpler if Google had made everything GPL, Pogson conceded, "but it imported a bunch of BSD stuff and Apache stuff, so life is complicated."
Meanwhile, "the Linux folks want Linux to be used," he pointed out. "They want people to use the symbols in the headers. That's why they make them available.
"'This=that' is not copyrightable anyway, especially when 'that' is essentially some numerical data," Pogson added. "That's a list of phone numbers or other stuff lacking any creativity."
'We Don't Really Know'
The question is "a legal minefield," asserted Chris Travers, a Slashdot blogger who works on the LedgerSMB project.
"My own view is that mere use of a header file is not sufficient to create a derivative work," Travers opined. "Moreover, removing copyright notices themselves is more likely an issue than the downstream issues."
Copyright regarding header files "raises a number of relatively unsettled issues involving how closely tied functionality and expression can be before it prevents copyright enforcement (at least in the U.S.) and the like," he pointed out.
The regrettable fact of the matter, though, is that "we don't really know when a copyright license is required when linking to another program," Travers concluded. "The FSF has an almost RIAA-like view of copyright, seeing their rights as extremely expansive."
"I don't think their view holds -- but I don't know, and I don't think anyone knows, where the lines actually are," Travers said.
'They Know They Have Infringing Code'
Slashdot blogger hairyfeet, on the other hand, felt very sure. ,p> "I can guarantee you 100 percent that Android is under copyright, or Google would be willing to indemnify their customers -- which they are not," hairyfeet told LinuxInsider.
Indeed, "there are plenty of shops like RH and MSFT that indemnify, but Google doesn't," hairyfeet pointed out. "Why? I believe it is because they KNOW they have infringing code in there, and by handing it off to some Google-controlled 'open handset alliance' they think they can have their cake and eat it too."
For that matter, "notice Google doesn't indemnify ANY of their 'FOSS' code -- not VP8, aka "WebM," not Android, none of it," he added. "Google is simply gonna milk Android as far as they can and if it gets burned it gets burned."
'The License Gives You Permission'
If anything's clear, it's that "the open source world is certainly not boring," noted Barbara Hudson, a blogger on Slashdot who goes by "Tom" on the site.
According to Richard Stallman's comments on the matter from 2003, including a header file does not always make a derivative work, Hudson noted. Rather, "our view is that just using structure definitions, typedefs, enumeration constants, macros with simple bodies, etc., is NOT enough to make a derivative work," RMS wrote back then in an email.
Of course, since the kernel headers are open source, there's an answer in the code as well, Hudson pointed out.
"The license -- a modified GPL v2 -- is found in the COPYING file," she explained. "Here's the very first lines at the top of /usr/src/linux-18.104.22.168-1..2/COPYING:
"'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.'"
In other words, "the license gives you permission to use the kernel headers to write non-GPL code," Hudson said.
'Some Desperate Cry for Attention'
So why the tempest in a teapot, as it may well be?
For an explanation, Hudson cited a theory put forth by Torvalds.
"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," Torvalds reportedly told ITworld. "If it's some desperate cry for attention by somebody, I just wish those people would release their own sex tapes or something, rather than drag the Linux kernel into their sordid world."