So it's been a fun day of armchair code forensics and legal analysis on the web after Florian Mueller published a piece this morning alleging Google directly copied somewhere between 37 and 44 Java source files in Android. That's of course a major accusation, seeing as Oracle is currently suing Google for patent and copyright infringement related to Java, and it prompted some extremely harsh technical rebuttals, like this one from ZDNet and this one from Ars Technica. The objections in short: the files in question are test files, aren't important, probably don't ship with Android, and everyone is making a hullabaloo over nothing.
We'll just say this straight out: from a technical perspective, these objections are completely valid. The files in question do appear to be test files, some of them were removed, and there's simply no way of knowing if any of them ended up in a shipping Android handset. But -- and this is a big but -- that's just the technical story. From a legal perspective, it seems very likely that these files create increased copyright liability for Google, because the state of our current copyright law doesn't make exceptions for how source code trees work, or whether or not a script pasted in a different license, or whether these files made it into handsets. The single most relevant legal question is whether or not copying and distributing these files was authorized by Oracle, and the answer clearly appears to be "nope" -- even if Oracle licensed the code under the GPL. Why? Because somewhere along the line, Google took Oracle's code, replaced the GPL language with the incompatible Apache Open Source License, and distributed the code under that license publicly. That's all it takes -- if Google violated the GPL by changing the license, it also infringed Oracle's underlying copyright. It doesn't matter if a Google employee, a script, a robot, or Eric Schmidt's cat made the change -- once you've created or distributed an unauthorized copy, you're liable for infringement.*
Why does this matter? Because we're hearing that Oracle is dead-set on winning this case and eventually extracting a per-handset royalty on every Android handset shipped. In that context, "those files aren't important!" isn't a winning or persuasive argument -- and the more these little infringements add up, the worse things look for Google. Whether or not these files are a "smoking gun" isn't the issue -- it's whether Android infringes Oracle's patents and copyrights, since the consequences either way will be monumental and far-reaching. Ultimately, though, the only person who can resolve all of this for certain is a judge -- and it's going to take a lot more time and research to get there.