In a landmark IT court case that began on April 16, a federal judge ruled May 31 that Java application programming interfaces used by Google in building the Android mobile device operating system are not protected by copyright.
Oracle, the plaintiff in the case and maintainer of the Java programming language as well as organizer of its open-source community, said it will “vigorously” appeal the verdict. (See the official statement at the end of this story.) The company had asked for nearly $1 billion in restitution and an injunction against Google for using the Android OS.
“This order does not hold that Java API packages are free for all to use without license,” Judge William Alsup wrote in an order filed May 31 in U.S. District Court for the Northern District of California.
‘Free for all to use’
“It does not hold that the structure, sequence, and organization of all computer programs may be stolen. Rather, it holds on the specific facts of this case, the particular elements replicated by Google were free for all to use under the Copyright Act.”
Because the APIs contain techniques, and since techniques by definition are not copyrightable, the decision was not a surprise to many IT professionals. But Oracle was determined to prove that Google’s use of the open-source Java and its APIs was beyond fair use.
In the end, the court determined that Google had only copied nine lines of code into Android from Java and that the APIs were non-copyrightable.
In building its popular Android OS and using its own techniques, Google deployed the Java APIs to create its own, or “forked,” version of Java, which is code used to activate and run applications on many devices at once over the Internet. Because the Google developers custom-coded their version of Java for proprietary use inside their own system, the Android version of Java is not sanctioned by the Java community and therefore not eligible for updates and support from Oracle’s Java maintainers.
Google created its own version of Java
Google contended, and Alsup agreed, that because it created its own version of Java using the standard, non-copyrightable APIs, it did not require a license from Oracle.
One of the pivotal witnesses in the case was former Sun Microsystems CEO Jonathan Schwartz. During his testimony, Schwartz contradicted his former boss, Sun co-founder and former CEO Scott McNealy, by saying that companies could use Java without buying a license so long as they didn’t claim to be Java-compatible and use the Java logo. Android does not contend that it uses so-called “Pure Java.”
Users of Java must subscribe to the open standards Java requires. During his testimony Schwartz was asked: “Was there ever a time during your tenure at Sun where Java APIs were considered proprietary or protected?” His answer: “No. To the extent that anybody made that claim, we would have worked hard to say, ‘No, that’s not true.’ We didn’t think they [Google] were doing anything wrong.”
Forking forgoes ‘Pure Java’
When Java gets changed for a specific purpose, it then forgoes the label “Pure Java” and is disowned by Oracle’s Java franchise. No support, no updates, no nothingyou’re on your own. But it’s still Java, it delivers code across the Internet, and it gets the job done most of the time.
That was the whole idea back in the early ’90s, when Dr. James Gosling and his Sun Microsystems band of developers created the now-ubiquitous programming language. Gosling and his gang designed Java as a key link to connect what he called “Big Hunk” servers to desktops, to cars, to mobile devices, to TVsto any Internet-connectable device.
When Sun released Java to the open-source community in 2006, it was not only a gift to the world, but it also was a nod to the fact that Java had already been copied and forked probably thousands of times in 11 years.
Java is so everywhere in the Internet, moving code from place to place and activating applications, that it has became an integral part of the infrastructure background, like XML or TCP/IP. It’s just there, it works and it keeps on working day and night.
Java is easy to take for granted, and Oracle knows it. It was simply trying to protect what it owns, but the genie is out of the bottle. It’s very difficult to prove negligence against a competitor when it comes to open source and APIs.
Google also won patent dispute
Oracle learned firsthand and the hard way by spending millions on lawyeringthat it isn’t such a simple proposition to nail a forker of open-source software to the legal cross. On May 23, Google and the open-source community won their initial legal victory when the 12-person jury in San Francisco unanimously found Google not guilty of infringing on two of Oracle’s Java patents.
The jury found that Google did not infringe on the two Java patents that Oracle had asserted in the caseU.S. Patent No. RE38,104 and U.S. Patent No. 6,061,520.
Oracle originally brought the lawsuit against Google in August 2010, alleging that the Android OS infringed both patents and copyrights for Java that Oracle acquired when it bought Sun Microsystems in January 2010.
In only four years, Android has become the most popular mobile operating system for smartphones and other mobile devices in the world. Android, released in 2008 by Google to partners such as Samsung, HTC and other manufacturers for smartphones and tablet PCs, now runs on more than 300 million mobile devices. Google said it believed that Oracle was using the litigation to unjustly horn in on the profits from the OS.
On May 31, Oracle emailed the following statement to eWEEK:
“Oracle is committed to the protection of Java as both a valuable development platform and a valuable intellectual property asset. It will vigorously pursue an appeal of this decision in order to maintain that protection and to continue to support the broader Java community of over 9 million developers and countless law-abiding enterprises. Google’s implementation of the accused APIs is not a free pass, since a license has always been required for an implementation of the Java Specification. And the court’s reliance on ‘interoperability’ ignores the undisputed fact that Google deliberately eliminated interoperability between Android and all other Java platforms. Google’s implementation intentionally fragmented Java and broke the ‘write once, run anywhere/’ promise. This ruling, if permitted to stand, would undermine the protection for innovation and invention in the United States and make it far more difficult to defend intellectual property rights against companies anywhere in the world that simply takes them as their own.”
Chris Preimesberger is eWEEK Editor of Features and Analysis. Twitter: @editingwhiz