A well-known open source advocate has accused Google of copying at least seven and up to as many as 43 Android files directly from Oracle's Java source code.
It's unclear whether the files were actually included with the shipping version of Android, but they were open-sourced by Google under an Apache license, and that alone could be legally problematic for the company. The search giant now faces an Oracle patent- and copyright-infringement lawsuit over the use of Java in Android.
"[The alleged copied code] is really about the Android's team's credibility, its approach to intellectual property issues," Florian Mueller, who spotted the files in question, told The Register. "This looks arrogant, reckless, aggressive. What does it imply about the team's overall approach?"
Last October, as part of its lawsuit, Oracle handed six pages of Android code to a federal court, claiming they were directly copied from Oracle Java code. This amounted to a single file, and in a court filing of its own, Google claimed Oracle's exhibit had been doctored by Larry Ellison and company.
But with a Friday post, FOSS Patents blogger Florian Mueller pointed to six additional Android files that "show the same pattern of direct copying" – apparently, Google used a decompiler – and he claimed that unlike the file in Oracle's exhibit, these files were part of the open source trees for the most recent Android releases: 2.2 (Froyo) and 2.3 (Ginderbread). He also turned up 37 other files tagged with "PROPRIETARY/CONFIDENTIAL" and "DO NOT DISTRIBUTE!" notices by Sun. "Unless Google obtained a license to that code (which is unlikely given the content and tone of those warnings), this constitutes another breach," said Mueller.
Google had also said that Oracle had removed headers from its exhibit, and according to Mueller, the missing headers also read "PROPRIETARY/CONFIDENTIAL". "I don't think that the missing parts are favorable to Google. Actually, the opposite is true," he wrote.
Google did not respond to a request for comment.
As Google points out in a court filing, Android's Dalvik virtual machine uses a subset of Project Harmony, Apache Foundation's open source Java incarnation. But Apache has said that the code in Oracle's exhibit is not from Harmony. And though we've asked Apache about the other files turned up by Mueller, the foundation has yet to respond.
Oracle's exhibit and the six files where Mueller discovered what he believes to be similar copying are in the "unit test" area of the Android open source code tree. Mueller tells The Register he found the files by looking in the general vicinity of the file pinpointed by Oracle. As ZDNet's Ed Burnette points out, unit test code isn't likely to ship with a final product, and the files in question have been deleted from the tree. But they were still open-sourced.
If Google lifted the code from Sun, this may be problematic – whether Sun eventually open-sourced the code or not. Java was open-sourced under a GPL license, whereas Android uses the incompatible Apache license. "GPL is a one-way street," Mueller points out. "As a third party, you can't just turn a GPL file into an Apache file. It doesn't matter whether the Sun code was proprietary or GPL, because either way there's no way it could be licensed under Apache."
The 37 other files Mueller spotted are part of a zip file and appear to involve native code audio drivers. But these too were open-sourced. ®