SAN FRANCISCO -- Oracle's legal team is doing is hardest to prove the value of specifically Java APIs in its ongoing intellectual property trial against Google.
Oracle started off proceedings on Thursday morning at the U.S. District Court in San Francisco by bringing Mark Reinhold, chief architect of the Java platform group at Oracle, back to the stand to explain the complexities and relationships between Java APIs, class libraries and the Java language.
See also: APIs take center stage at Oracle-Google trial
While the technical intricacies are vital to this case, much of it could have easily gone over the heads of the jury and anyone else in the courtroom who is not a professional Java programmer.
To really strike a chord with the jury, Oracle might have better luck going after a concept that most people understand: creative value.
Oracle lawyers called up current Google software engineer Joshua Bloch to attempt to solidify this argument.
Bloch served as a senior staff engineer and a distinguished engineer at Sun from 1996 to 2004. Considered to be one of the architects of the Java platform, Bloch published a book about the technology, Effective Java, in 2001.
Bloch was hired by Google in July 2004, with the "courtesy title" of chief Java architect. Asked by Oracle attorney Michael Jacobs if he has been called a "Java guru," Bloch affirmed this, but clarified that this is not just by Google employees but rather "many people have called" him that.
When he arrived at Google, Bloch initially worked on Java infrastructure within Google, writing APIs and implementations for those APIs. He then joined the Android team around late 2008.
Prior to joining the Android team, Bloch asserted that he had no involvement with Android.
When asked by Jacobs if he "wrote APIs for many Java class libraries" while at Sun, Bloch affirmed this to some extent, replying "many but not most." Instead, Bloch said that he assisted a junior engineer and helped proof them.
Jacobs brought up a presentation that Bloch has offered at the JavaPolis conference in Belgium in 2005 called, How to Design a Good API and Why It Matters.
Essentially, Jacobs walked through Bloch's presentation, highlighting points that defend the creative (and therefore, monetary) value behind APIs.
The title slide declared that "APIs can be among a company's greatest assets," followed by adding that APIs "can also be among company's greatest liabilities."
"Writing a program is very much a creative process," Bloch said on the stand, explaining that if you have and use really good words, the program will read like English text.
"If you get the name right, all of a sudden it will suggest things that should and shouldn't be in the API," Bloch added. He also warned that if an API is designed badly, it can be impossible to build a good program around it.
Yet, Bloch pointed out that, at that time at least, typically only people who considered themselves to be API designers really cared about APIs.
Finally, Jacobs highlighted the conclusion on the final slide, reading "API design is a noble and rewarding craft" and that it "improves the lot of programmers, end-users, companies."
Bloch asserted without hesitation, "Yes, I certainly believe that."
This is where Jacobs led Bloch down a slightly hazy path for Bloch, calling into question his priorities regarding creative value and copyrights.
Jacobs asked if Bloch was accessing codes from Sun while working at Google -- specifically in reference to designing Timsort code, an algorithm used to sort arrays in both Java and Android.
On the stand, Bloch said he couldn't recall. But when Jacobs brought up a video of Bloch's deposition in July 2011, he did say he wasn't sure, but he added that he was "perfectly willing to believe that I did."
Bloch replied on the stand that he didn't write Timsort for Google, but rather wrote it while he was at Google, which Bloch described as "an important distinction."
Nevertheless, Jacobs questioned Bloch about whether or not he had copied signature codes from the time he worked at Sun to later at Google. Bloch affirmed that he could have.
Bloch also affirmed that he knew that Sun copyrighted code during the time when he worked there.
Nevertheless, when cross-examined by Google's counsel, Bruce Baber, Bloch explained that there is also room for creativity when reimplementing an existing API, and that the API does not limit nor does it tell the engineer how to write that code.
That last part possibly helps out Google's argument in the case that Google engineers had a fair use case when using Java technology when building Android, being creative and effectively repurposing the original products.