Day four of Oracle's copyright and patent lawsuit against Google's Android OS brings a lesson in API design and programming that even the judge declares 'confusing.'
"If you're re-implementing [an API] then there's no creativity involved anymore," Block said. In other words, any similarity in Google's Android and Oracle's Java API happened out of necessity rather than copying. The alternative would be code that wouldn't function properly.
Baber later returned to the issue of Timsort.Java and rangeCheck method within it, prompting Bloch to explain that Android's Timsort.Java is much faster than Arrays.Java and hails from a sorting routine in the open source Python language. This further muddies the copyrightability of the Java APIs.
Baber's questioning blurred the careful delineation between the Java language and the Java APIs that Oracle has tried to draw to make its case. Baber asked Bloch to explain the concept of API.
"When you're learning an API it's like learning a small, new language," Bloch said. If the free Java language and ostensibly protected APIs overlap, does that limit Oracle's infringement claims? Google certainly hopes so.
What followed was a lesson in programming terminology that touched on the definition of APIs, classes, methods, arguments, and other terms of art.
"You're confusing me now," Judge Alsup told Bloch at one point during a discussion of the peculiarities of Java declarations. Likely, he was not the only one in the courtroom with that thought.
Oracle counsel David Boies questioned Google software engineer Tim Lindholm, author of the email that Oracle has highlighted as the smoking gun in this case. Lindholm's 2010 email to Android head Andy Rubin argues the necessity of obtaining a license to use Java from Sun.
Asked about 2005 Android strategy documents that described the need to negotiate a license from Sun, Lindholm was at turns combative and forgetful. Boies sought to get Lindholm to acknowledge that email discussions to which he'd been a party were talking about obtaining a license from Sun.
Lindholm insisted that he had been talking about a license in the abstract. "It was not specifically a license from anybody," he said. Boies looked skeptical.
Google's counsel then took a turn questioning Lindholm and the tone turned decidedly more cordial. After some questions about his background, Google's counsel asked, "Based on your experience with Java over the years, have you held a view overall that the organization of API packages are freely available for use?"
Boies objected that the question was outside of allowable scope. Alsup denied the objection. Then Boies objected Lindholm lacked the legal experience to make that determination. Alsup nonetheless allowed Lindholm to answer based on his own experience.
"As a software engineer, it has always been my understanding that the organization of software APIs are free for use by people," Lindholm responded.
At the conclusion of the testimony, the judge said he wanted the two sides to clarify their positions on whether APIs can be patented. He also asked whether the copyright office investigated the structure, sequence, and organization of software submitted for copyright. He said he didn't think the Copyright Office did that and Baber confirmed his assumption. Finally, he asked for arguments about the standards for derivative works.
Google's position is that some of the similarity between Android and Java is necessary to achieve functional code.
"It would be copyright law to the extreme to say that any program that calculates a square root infringes," said Baber, comparing Oracle's claim to an attempt to copyright a simple math function.
Oracle's claim is more than that, the judge countered, noting that the structure, sequence, and organization of Android, as compared to Java, are at issue.
Baber insisted that's not copyrightable. "Once you give an API a name, that's the structure," he said.
And even if it is, Baber argued that Android is transformative, and thus qualifies for fair use under copyright law.
Oracle begs to differ.
Nominate your company for the 2012 InformationWeek 500--our 24th annual ranking of the nation's very best business technology innovators. Deadline is April 27. Organizations with $250 million or more in revenue may apply for the 2012 InformationWeek 500 now.