Just one more day for Free AppleCare with 13" MacBook Pros : Apple Price Guides updated July 31st

Google found distributing Oracle's Java code within Android project

Files originating in Oracle's Java have been discovered within the Android open source project managed by Google, emboldening Oracle's copyright infringement claims against the company.

Florian Mueller, an "intellectual property activist" who writes a blog on the subject of software patents and how they relate to free and open source software, posted a description of dozens of files that "Oracle might present to the court as examples of copyright-infringing material in the Android codebase."

Mueller wrote that the examples include 37 code files "marked as 'PROPRIETARY/CONFIDENTIAL' by Sun and a copyright notice file that says: 'DO NOT DISTRIBUTE!'," setting off new discussions about the case. Oracle, which acquired Sun last year, has brought suit against Google claiming that Android illegally infringes upon its Java intellectual property.

Oracle appears intent to charge Google a licensing fee for distributing Android if it prevails in the case. Android has largely replaced Oracle's Java ME as the target platform for mobile manufacturers who lack their own software platform, in part because licensing Oracle's Java costs money, while Google is offering Android for free.

By forcing Google to pay licensing fees to distribute Android, Oracle will at least benefit from its newly acquired Java indirectly, and may also be able to continue to sell Java as a mobile platform if it is not forced to compete against Google's free alternative, which Oracle maintains is only free because it is not original work but rather an infringement of its own intellectual property.

In defense of Google

Following the discovery, a report by Ars Technica detailed that most the discovered files were part of a third party component's audio software that does indeed include code from Oracle, but which was never distributed as part of the Android OS on actual devices.

The report notes that the file archive in question is "hosted in the Android code repository, but its contents are not part of the Android codebase itself. These finds demonstrate a need for more rigorous code auditing to avoid such cases of incidental infringement, but don't support the contention that Android itself, in the form that is shipped on devices, is cribbing from J2ME."

A more scathingly-worded defense was posted by ZDNet, which similarly described some of the files in question as being internal unit test tools that would not ship on Android devices.

The other 37 files were dismissed under the explanation, "somebody uploaded it by mistake and it should simply be deleted."

Doesn't look good for Google

Responding to those defense arguments, Engadget wrote that, "from a technical perspective, these objections are completely valid," but that, "from a legal perspective, it seems very likely that these files create increased copyright liability for Google."

That report concluded, "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."

This all happened before

If Android is found to have improperly distributed code that belonged to Oracle, whether or not it actually was used on handsets, it could be found liable for damages related to Google benefitting from using Oracle's code against the terms of the license(s) it was originally distributed under. That may force Google to pay Oracle licensing fees, royalties or a lump sum settlement, and would likely force Google to remove all infringing code in order to continue to offer a non-infringing version of Android for free.

A similar copyright case between Unix System Labs and BSDi in the early 90s resulted in the creation of a non-infringing version of BSD Unix, which was later incorporated by Apple in the development of Mac OS X in order to avoid needing to license the commercial version of Unix.

At the same time, the original USL vs. BSD trial and the removal of infringing Unix code from took so long to complete that development of BSD as a free version of Unix was surpassed by Linux, a parallel free workalike operating system that began just as BSDi was getting sued. The same could potentially happen to Android, were it held back by legal disruptions that gave an advantage to competing platforms that aren't encumbered with legal issues.

A similar case for WebM

While Google's Android case continues, the issues being raised also suggest similar potential problems for WebM, the VP8 codec Google acquired and released as royalty free software as an alternative to the open, but not free, H.264 specification backed by Apple, Nokia, and other hardware makers.

The company delivered WebM almost immediately after obtaining it, raising questions about how thoroughly the company reviewed its new code for possible intellectual property issues.

Regardless of how well Android and WebM hold up to scrutiny, the cases may likely change how companies, in particular Google, manage the distribution of their free and open software projects. Other companies, including Sun, Apple, Mozilla and others, have spent years reviewing code before making it available as open source, in order to avoid such problems.

The need for a clean room

Compaq, one of the first modern tech companies to create a copy of existing intellectual property (in its creation of a non-infringing, yet compatible version of IBM's original PC), similarly went through great pains to set up a "clean room" environment intended to replicate the functions of IBM's embedded software without incorporating any actual code or in any way "contaminating" those creating the copy with knowledge of how IBM's own original implementation worked.

In contrast, Google's development of Android occurred after hiring Sun's chief technology officer, Eric Schmidt, to serve as its chief executive in 2001. According to Google's own bio, Schmidt let the development of Java at Sun through 1997; Google has subsequently hired large numbers of former Sun employees, many of whom worked on Java.

Android itself originated from Danger (below), a licensed Java platform. After acquiring Android, Google decided to design Androids's virtual machine to run apps written in the Java language using the Java SE class library (take from Apache Harmony) using a modification of Sun's Java VM that the company believed would free it from having to pay Sun for a Java license in order to distribute it legally.

It appears there is considerable room for criticizing how Google has managed Android's source code, a problem that may complicate the future of the company's free platform just as it strives to take on competitors in the fast moving smartphone and tablet markets.

History of Android