Earlier today, Florian Mueller, founder of the NoSoftwarePatents campaign, presented new evidence of copyright infringement in Android’s source code. His accusation focused on two sets of files found in separate locations within the Android source code tree. The first set is comprised of seven files (PolicyNodeImpl.java, AclEntryImpl.java, AclImpl.java, GroupImpl.java, OwnerImpl.java, PermissionImpl.java, and PrincipalImpl.java) that are included in the unit test area and are used internally to test software before shipping. These files are used for debugging and testing code only and are not distributed on Android handsets.
As Ed Burnette of ZDNet points out these files are openly published by Sun on its website for use by developers. The presence of these unit test files would not a sign of copyright infringement, except that somewhere along the way these files were modified by an Android or Harmony developer. Rather than use the original Sun files, the files were decompiled and rebuilt. They were also tagged with an Apache license, which, Burnette points out, may have been done by mistake using an automated script.
Though thee files were decompiled and contained an Apache license, it appears as if this may have been a mistake on Google’s part. According to Burnette, Google only needs to replace the files with the original Sun files or remove them entirely since they do not ship with Android. An update to the ZDNet post confirms that Google did removes these files prior to Mueller’s accusatory post. One of these files was removed on October 30, 2010 and the remaining files were deleted on January 14, 2011 with the note “Remove pointless tests.”
The other set of 37 files were much more obscure. They were found in a zip file provided by SONiVOX, formerly known as Sonic, that was published in the AOSP code repository back in 2008. SONiVOX develops the EAS (Embedded Audio Synthesis) framework used by Android handsets. This MMAPI.zip was included in a directory named “misc” and contained the MMAPI wrapper for EAS and tools for testing this code.
Some of these files contain code from Sun that can be downloaded freely but not redistributed. SONiVOX’s documentation clearly states which sections cannot be redistributed, but, for some unknown reason, these files accidentally landed in the AOSP. Similar to the unit test files above, this MMAPI wrapper is not used by Android in any way. According to Ars Technica, it appears that these files were mistakenly uploaded to AOSP by a third-party and are not evidence that Google copied source code from Sun.
In the end, these files should have not been included in Google’s source code repository but it is hardly a clear cut case of copyright infringement on Google’s part. Despite Mueller’s assertions to the contrary, these findings are also not evidence that Google is using stolen code on its Froyo and Gingerbread-powered Android handsets.