X
Tech

Decisions about Java use debated in Oracle-Google trial

The decision of why Java and its APIs were used for the development Android continues to come under fire during the Oracle-Google trial.
Written by Rachel King, Contributor

SAN FRANCISCO -- The decisions made by the Android team at Google -- going as far back as 2005 -- continue to come under question in the Oracle-Google trial.

During Wednesday's proceedings at the U.S. District Court, Oracle's legal team started to take the direction as to find out who was responsible for the implementation of 37 Java APIs in question during the copyright portion of the trial, and why they were used for Android.

Earlier on Wednesday, Andy Rubin, Google's senior vice president of mobile, explained that the Android team wrote the code themselves, assembling it from "various pieces." That included partnering with companies for different technologies, such as for decoding video files on smartphones, and paying them for contributions back into Android.

Nevertheless, while Rubin said that although Java APIs were implemented, he also asserted, "I didn't believe I needed a license because I wasn't using any of Sun's intellectual property."

To explain further why Google used the Java language, APIs and core libraries for the development of Android, it called former Google software engineer Dan Bornstein to the stand.

Bornstein worked at Danger, Rubin's former startup, from 2002 to 2005, followed up by his stint at Google through 2011.

Starting off as a software engineer, Bornstein became a tech lead on the Android team with a year at Google, mainly focusing on the platform layer. Approximately nine employees working on Android reported to Bornstein.

Bornstein explained that the center of his role was building the virtual machine and library code that worked with it.

When asked by Google counsel Christa Anderson, Bornstein acknowledged that he understood the "general thrust of Android," which he described as "to have a new take on a platform for mobile devices that was aiming to be an open source platform."

Bornstein affirmed to Anderson that it was his goal that the familiar APIs be available to Java language programmers when using the core libraries, and that he did have control over which APIs were selected to be implemented -- including ones that weren't intended for mobile platforms.

Just how much control became a sticking point during cross-examination, when Oracle counsel Michael Jacobs asked Bornstein if he was responsible for the inclusion of the 37 Java APIs in question in the case. Bornstein said he was "influential" in this matter.

"The point was to be a good mobile platform, and there are certain constraints that makes," Bornstein explained earlier in questioning. "You also know the sorts of thing that you would do as a mobile application are different from the things that you would do when sitting in a data center running a server."

Bornstein continued on to say that those are Java packages "we wouldn't really want to have an implementation for," affirming that the Android team did exclude many such APIs from the core libraries, but they never used the related source codes.

As a "typical" Java programmer, Bornstein commented that there are certain APIs "that you fundamentally think of as part of the system that you can just think of without having too much else to think about."

Bornstein explained that he and other Android leaders tried to emphasized to the Android team as to what they could and couldn't use. Some of what they could use to write their codes included Apache Harmony and SSL.

For anything that hadn't been pre-discussed, Bornstein said that the deal was to bring it up with team leaders and they would discuss it.

Although he said he was aware that Google engineers had read Java documentation, Bornstein said that he did not think that Google engineers copied the comments in plain English found in the Java code, nor would he condone such actions.

During cross-examination, Jacobs asked Bornstein if he ever used Java documentation when looking for an authoritative source to reference for the application programming interfaces.

Bornstein danced around giving an answer, but he did acknowledge that he did use Java documentation at some point.

Jacobs also tried to convey to the jury another possible theory as to why the Android team used the 37 packages: pressure to catch up with the competition.

Using the court's agreed-upon timeline for the development of Android, Jacobs highlighting the first half of 2007 for Apple's announcement and release of the iPhone.

Thus, Jacobs asked if Bornstein and his team were under pressure to release an SDK as soon as possible at that point, to which Bornstein described Android as "an intense project" even before the iPhone release.

Jacobs concluded his initial questioning of Bornstein how much he was being paid as an expert witness in this case. There is no truce in this suit over asking this question, thus it was fair game. Bornstein replied that he was being paid $400 per hour by Google.

Related:

Editorial standards