UPDATE - Florian Mueller: Copyright-infringing material in Android codebase

Intellectual property activist Florian Mueller has been trawling through the Android codebase and discovered a number of examples of what appears to be copyright infringement.
Written by Adrian Kingsley-Hughes, Senior Contributing Editor

Intellectual property activist Florian Mueller has been trawling through the Android codebase and discovered a number of examples of what appears to be copyright infringements.

- Two months ago I took a close look at Exhibit J to Oracle's amended complaint, which contained a synopsis of source code shipped by Google and Sun's original Java code. I have since found six more files in an adjacent directory that show the same pattern of direct copying. All of them were apparently derived with the help of a decompiler tool. Those files form part of Froyo (Android version 2.2) as well as Gingerbread (version 2.3), unlike the file presented by Oracle.

- In addition, I have identified 37 files marked as "PROPRIETARY/CONFIDENTIAL" by Sun and a copyright notice file that says: "DO NOT DISTRIBUTE!" Those files appear to relate to the Mobile Media API of the Sun Java Wireless Toolkit. Unless Google obtained a license to that code (which is unlikely given the content and tone of those warnings), this constitutes another breach.

Mueller has documented his findings in nine separate PDF files, seven of which (1, 2, 3, 4, 5, 6, 7) compares the decompiled version of a file from Java 2 Standard Edition (J2SE) version 5.0 to the corresponding file in the Android source code tree. The differences, as Mueller states, as small and insignificant:

In those synopsis files, lines with differences (in content, not just layout) are marked up in red. The amount of differences is minuscule. In most of the files, those differences are limited to comments or to a few lines having a different position without any impact on program logic. In OwnerImpl, a small code segment has a slightly enhanced logic in the Android version (for which there could be different explanations), and in PermissionImpl, a small hash code function is outcommented (and therefore inactive) in the Android version. But for most of the code, there's no difference whatsoever between the two columns.

Not looking good for Android on this score.

[IMPORTANT UPDATE: Or maybe not ... This in from the guys at AndroidCentral:

All the fuss, all the hysteria, and most importantly all the cries against Google proclaiming them as thieves aren't what they seem.  There are two sets of files in question -- a series of seven (PolicyNodeImpl.java, AclEntryImpl.java, AclImpl.java, GroupImpl.java, OwnerImpl.java, PermissionImpl.java, and PrincipalImpl.java) that contain proprietary code from Sun, and do exist, but they are in the unit test area of the AOSP source tree.  This means they are only used to test software after it's built, and before it's shipped.  To be clear -- these files are not used to build Android, nor are the shipped with Android.  To take things a step further, these files were published by Sun on their own website to assist developers to test and debug -- exactly what Google is using them for.

Seems like Android dodges the bullet. I'm curious as to what the response will be from Mueller now ...]

[UPDATE 2: Nilay Patel on Engadget thinks differently:

"From a legal perspective, it seems very likely that these files create increased copyright liability for Google."

Interesting stuff!]

Editorial standards