Decisions about Java use debated in Oracle-Google trial

Decisions about Java use debated in Oracle-Google trial

Summary: The decision of why Java and its APIs were used for the development Android continues to come under fire during the Oracle-Google trial.


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.


Topics: Android, Google, Hardware, Mobile OS, Mobility, Oracle, Security, Smartphones

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • again, nothing to see

    source code was not copied and it was a clean room design!
    The Linux Geek
    • "...he did acknowledge that he did use Java documentation at some point."

      Not so clean.
      • You guys are missing the big picture here!

        Why did he walk away from $400 an hour! Obviously this guy is insane and needs to have his sanity questioned. :-D
      • Huh?

        So reading and referencing documentation means you copied code? Really? Microsoft would have a heyday with that one!
      • Reading java documentation is bad

        Working for a large IT firm I can state that we are banned from looking at the Java documentation on the Oracle site due to the license T&Cs

        The lawyers provided us with the docs hosted on an internal site after negotiating a different deal
      • @benched42

        Reading the Java documentation contaminates the 'clean room design.'
      • Reading public documentation is not bad.

        [quote]The lawyers provided us with the docs hosted on an internal site after negotiating a different deal.[/quote]
        Which means that reading documentation is [b]not[/b] bad. Your actual problem was reading them [i]on Oracle's site[/i].
      • Zogg

        Yeah you're right the license that you accept by visiting the docs on the oracle site is restrictive, but this looks like what some Android developers did and as soon as you do, you violate the clean room and accept a restrictive license as well on behalf of employer in this case google
      • @Zogg

        The entire concept of a clean room design is that the team have no firsthand knowledge of what they're attempting to reverse engineer. Once they've read the original documentation, the clean room no longer exists. It doesn't matter where they got the material.
      • But it's not "reverse engineering".

        It's "implementing from public documentation". You can't implement an API when you don't know what it does.
      • @zogg

        But by reading the docs on Suns (then Oracles) website they accept on behalf of google whatever click through license Sun and then Oracle attached to it. The one thing that was hammered into my head in my job was that under no circumstances was I to go anywhere near the java docs on the Sun/Oracle website or even the web site in general

        Everyone criticized Sun at the time of the partial open sourcing of the code because every other company had their lawyers look at it and conclude that all roads led back to them going to sun and negotiating different licensing terms

        I work for a competitor I don't want Oracle to win but I do expect them to
      • You can access the Java docs without clicking on any kind of agreement.

        [quote]But by reading the docs on Suns (then Oracles) website they accept on behalf of google whatever click through license Sun and then Oracle attached to it.[/quote]
        There is no such license. Try it for yourself:
        h-t-t-p: //

        They Are Public. Assuming that Google even went to Oracle's site for them in the first place. You say that [i]you[/i] didn't need to, after all.
      • @zogg

        "Use is subject to license terms" at the bottom should interest you as if you used that page to help with whatever program you wrote you just accepted those terms, nasty isn't it? you accept terms without even realising it

        Being on a public website does not mean no strings. I don't go to that public website at work becasue that would mean accepting a license on behalf of my company which they don't want me to, my employer hosts the docs on a private mirror after they negotiated far different licensing terms with Sun (and carried over to Oracle).

        Google would have to have accessed the website as you can't redistribute the docs without a license
  • Pirate

    Google = Pirate Ship
    • no, oracle = pirate ship and death star

      oracle is extorting high taxes from its customers.
      Now Elli$on wants money for java that was free and open from Sun!
      Google is altruistic and gives away the best tech.
      Of the two, Google is using the best practices for FOSS.
      The Linux Geek
  • Rachel, you are missing the point...still

    "he did have control over which APIs were selected to be implemented ??? including ones that weren???t intended for mobile platforms."
    1. They were Apache Harmony APIs not Java APIs
    2. Sun didn't intend (as in didn't want) for them to be available on mobile, and they enforced this by a field of use restrictive clause in the TCK.
    3. Apache never ran the TCK, so is not bound by the restriction (they also cannot call it Java).
    4. Since Google used Apache APIs (not GPL) and did not use the TCK and don't call it Java, they are perfectly within their right to put it on mobile platforms.
  • Why OpenOffice proves Google's case

    Probably everyone here has used the OpenOffice suite of tools. Certainly, every person who uses Linux as their primary work space!

    But who gave Sun (and now Oracle) the RIGHT to use the file structure of .doc files? Certainly not Microsoft! Sun whole purpose in implementing Open Office was to undermine Microsoft's control of the defacto universal standard for business documents. Microsoft and Sun were at war and Open Office was Sun's torpedo of choice. A free program which could replace (or submarine, to borrow a phrase from the trial) billions of dollars.

    So where did Sun get the right to this format, this interface for programs, developed by Microsoft? The answer is that the right was part of a much larger, implied, right of all users of Microsoft Word: The right of ordinary users to access the fruits of teir own labor, whether a notice for a PTA meeting, or a covert report on yellowcake written in the bowels of the CIA.

    Microsoft developed this file interface. But they coud never own it, for waning te format would mean that MS would in fact own the user generated work product.

    So it is with "the 37 APIs". Sun invented these program interfaces but could never own them, because such ownership would grant Sun control and ownership of all the many millions of lines of Java code that depend on access to these APIs. Not just Google. Not just the authors of Apache Harmony, but every student who has programmed her own tic-tac-toe game.

    And that is impermissible.
    • openoffice used MS docs with a license

      You said: "But who gave Sun (and now Oracle) the RIGHT to use the file structure of .doc files?"\

      First Sun/OOo reverse engineered parts of the format but later Sun/OOo used the official documents from Microsoft which MS licensed for free to everybody from the early 2000s onwards. First on a one to one signed license agreement but since 2008 trough a free for all licensed download
      • The very idea of reverse engineering is contrary Oracle's radical claims

        What Google did was make a compatible library. A java library which was functionally compatible with the core Java libraries.

        Note the word "functional", as works which are functional in nature are not copyrightable.

        Also note that if Oracle is allowed to use copyright to keep someone from writing their own, functionally compatible libraries, then reverse engineering is dead.

        And so is virtually every effort on the Linux platform. Perhaps even Linux itself, if only one can identify which Unix platform Linux is based on, and common library interfaces.