Government // Enterprise Architecture
01:14 PM
Connect Directly

Oracle, Google Struggle To Explain APIs To Jury


Oracle v. Google: The Evidence
Oracle v. Google: The Evidence
(click image for larger view and for slideshow)
Oracle and Google continued their legal battle in San Francisco federal court on Thursday, beginning the day with a tussle over the authenticity of Java code that Oracle claims to have downloaded from Google's website on March 12.

Oracle says the file shows that Google has not removed the allegedly infringing Android code from its public website as Google claims to have done. Google wants some assurance that the file really was downloaded then.

"Are you saying it has been forged?" Judge William Alsup asked skeptically.

Not at all, Google trial counsel Daniel Purcell answered. Google's interest in receiving formal verification of the file from Oracle arose out of having only received notice of this file several days ago, he suggested.

[ Learn more about the case. Read Google: Oracle Wants To Glom Onto Android's Success. ]

The judge settled the matter by stating that someone will be made available to attest to the legitimacy of the file at a later time. Then he scolded the two sides for their intransigence.

"This is something you should've figured out overnight, c'mon," he said, reinforcing accounts that have characterized him as a no-nonsense jurist.

Mark Reinhold, Oracle architect for the Java platform, returned to the witness stand to continue his explanation of the distinction between the Java language--freely available for use--and the Java APIs, which are the detailed specifications that describe valid uses of the Java language.

Oracle is seeking damages from Google for using a subset of its copyrighted APIs without authorization, and for alleged patent violations.

Cross-examination from Purcell blurred the clear lines that Reinhold had drawn under questioning from Oracle to distinguish between the Java language and the Java APIs. Purcell twice asked that video depositions of Reinhold be played in which his definitions of the boundaries of Java and its APIs differed from the definition he offered in court.

Purcell also had Reinhold acknowledge that some 10% to 20% of Java's API have been written by contributors outside of Sun or Oracle, contributors who were not paid by Sun or Oracle. The implication is that perhaps some of the Java API copyrights may not be valid.

It was enough that Oracle attorney Michael Jacobs asked the court to instruct the jury there's no ownership dispute about Oracle's copyrights in the case. But clearly Google is raising that question and the judge wasn't immediately ready to accede to Oracle's desire to take the question of ownership off the table.

In one of its filings Google asserted: "Computer programming languages are not copyrightable, and neither are Oracle's APIs." So this issue is sure to be raised again.

After Reinhold was excused, Oracle called Joshua Bloch, chief architect at Google, to question him about his views on the importance of good API design. Bloch affirmed that programming is creative, which helps support the notion that code should qualify for copyright protection.

"Writing a program is very much a creative process," Bloch said.

Under questioning from Jacobs, Bloch acknowledged that the Timsort.Java API he'd created for Android was virtually identical to a similar range checking API, Arrays.Java, that he'd written for Java while working for Sun.

Is that copyright infringement? That's what Oracle hopes to establish, but that point has yet to be settled, in part because the boundaries of where the open Java language ends and the proprietary Java APIs begin remain a matter of disagreement.

Bruce Baber, counsel for Google, countered the notion that Bloch had copied Java APIs by asking him whether he had any creative freedom when re-implementing an API, as Google did with Android.

1 of 2
Comment  | 
Print  | 
More Insights
Newest First  |  Oldest First  |  Threaded View
User Rank: Apprentice
4/21/2012 | 4:51:20 AM
re: Oracle, Google Struggle To Explain APIs To Jury
One more thing. The lawyers and the pundits keep bringing up the trivial examples like square-root. That's misleading, a trivial example. The 37 packages Google copied, legally or not contain hundreds of methods and take a thousand, dense pages to describe. Row, Row, Row Your Boat vs Beethoven's 9th. Both music but there's a world of difference.
User Rank: Apprentice
4/21/2012 | 4:42:58 AM
re: Oracle, Google Struggle To Explain APIs To Jury
"Java APIs, which are the detailed specifications that describe valid uses of the Java language."

No, not really. The Java API's are the interface descriptions of the many pre-made components available to the Java programmer. They range from the easy to understand math components like max to complex components like graphics objects. (Darn I was hoping to do this explanation without using the word object.).

The challenge for the Oracle lawyers is to show that these things are valuable, can be copyrighted, were copyrighted and weren't already given away free.

The challenge for the Google lawyers is to explain why it was OK to copy them especially in light of the email messages in which Googlers sound like they know they are stealing. Their evasive answers on the stand can't be helping either.

The challenge for the lawyers on both sides is to describe this to non-technical people when even the judge who is a bright guy and paying a lot of attention can't seem to get it. Everyone resorts to analogies, all of which fall short.
Register for InformationWeek Newsletters
White Papers
Current Issue
InformationWeek Tech Digest, Dec. 9, 2014
Twitter Feed
InformationWeek Radio
Archived InformationWeek Radio
Sponsored Live Streaming Video
Everything You've Been Told About Mobility Is Wrong