James Martin/CNET

Among the highlights emanating from U.S. District Court in San Francisco courtroom 8 today was Oracle CEO Larry Ellison's response to a question regarding the status of the Java programming language, which his company acquired when it bought Sun Microsystems in 2010.

Asked by Google's lead attorney, Robert Van Nest, if the Java language is free, Ellison was slow to respond. Judge William Alsup pushed Ellison to answer with a yes or no. As ZDNet reporter Rachel King observed in the courtroom, Ellison resisted and huffed, "I don't know."

In other words, it's complicated.

Java is free, but it also has a set of licenses that are required for specific use cases. Google's defense is that the 15 million lines of code in its Android smartphone software contains only the parts of Java that are freely available and not restricted by licensing or copyright. Google's strategy, in part, was to fork from the standard Java implementation to ensure that Android provided a differentiated platform for app developers.

The Java programming language is in the public domain and free, but some aspects of Java require a specific license from Oracle. The complexities, such as different licensing schemes and their applications, will make it difficult for the jury to get a black-and-white view of this central issue.

Sun, acquired by Oracle in a deal valued at more than $7 billion, developed Java and the Java Community Process, which allowed Sun to maintain standards for the programming language to ensure the "write once, run anywhere" compatibility across operating systems.

A license to Java is required when class libraries based on Java API designs are used and when Java software components are download. Oracle disputes Google's claim that Android doesn't use any Java code, and it asserts that the company also used documentation and developer tools that would legally require a license from Oracle (see the slideshow below with Oracle's case against Google).

Google asserts that Android doesn't use any Java code or documentation not in the public domain, and it says the 37 APIs in Android that Oracle has identified as infringing on its intellectual property are not subject to copyright. Therefore, Google says, it doesn't need to pay Oracle licensing fees.

There is also the smoking-gun e-mail from Google software engineer Tim Lindholm, a former Sun distinguished engineer, to Android chief Andy Rubin in 2010:

What we've actually been asked to do (by Larry and Sergei) is to investigate what technical alternatives exist to Java for Android and Chrome. We've been over a bunch of these, and think they all suck. We conclude that we need to negotiate a license for Java under the terms we need.

Google contends that the e-mail was written in the context that Oracle was threatening to sue Google and potentially put Android in jeopardy.

In 2006, Lindholm copied Rubin on an e-mail regarding negotiating with Sun for a Java license:

As you might vaguely be aware, I have been helping Andy Rubin with some issues associated with his Android platform. This has mostly taken the form of helping negotiate with my old team at Sun for a critical license.

Google's lawyers will have a tough time convincing a jury that a Java license wasn't a major consideration during the development of Android. But the ultimate question will be whether Google's use of Java software in any way infringed on code or related material that was not in the public domain, and whether APIs that describe how a task is performed can be copyrighted.

Last updated: 5:30 PM PT