The real history of Java and Android, as told by Google

The real history of Java and Android, as told by Google

Summary: The ongoing legal battle between Google and Oracle is complicated. But Oracle has a strong case. Don't just take my word for it. Here's what Google's own lawyers have to say.


My ZDNet colleague Steven J. Vaughan-Nichols is eager to step up to Google’s defense in the company’s legal battle with Oracle.

To that end, he has written “A Google Android and Java history lesson” that attempts to debunk some of the issues I raised in my post last night about the latest documents filed in that case. (See Latest filings in Oracle patent case spell trouble for Google.)

Here’s the thing about history, though. In order to write it, you have to start with facts. And I hate to say it, but Steven just plain has his facts wrong.

Don’t take my word for it, either. I’ll let Google’s own defense attorneys dismantle Steven’s flawed history.

Here’s what Steven writes:

Recently, some people were shocked-shocked I tell you-to discover that Google had looked at Java to help create Android’s Dalvik

First, there’s the accusation that Android used Java code in creating its Dalvik virtual machine (VM). This is news? When Android first came out, Sun CEO Jonathan Schwartz, then Java’s owner, greeted the news of Android’s birth with “heartfelt congratulations.”

Oh, by the way, anyone could look, use, and, yes, copy Java’s code too. You see, Sun had open-sourced Java under the GPLv2 in November 2006. Sun wanted Google and anyone else to use and copy its code. That’s kind of the whole point of open-sourcing a program don’t you know.

Oh dear. If this is true, then how on earth did this lawsuit ever get past the first day?

Perhaps because virtually none of that history actually matches up with the facts. The following quotations are taken, verbatim, from Google Inc.’s Answer to Oracle’s Amended Complaint. (I’ve bold-faced the interesting parts.) If you want to follow along, please turn to pages 16 and 17. And remember, this is what Google’s lawyers said. This isn’t an accusation by Oracle or a loose summary by some blogger:

[I]n response to the urging of open-source advocates and in the hopes of increasing the number of Java users, Sun officially announced that Java would become open-source. In 2006 and 2007, Sun released some but not all of the source code for Java SE (as well as the other editions of the Java Platform) under the terms of the GNU Public License, version 2 (“GPLv2”) open source license. This open-source aspect of Java contributed to its widespread acceptance among software developers.

So, yes, Sun released some, but not all of the source code. That's not quite as clear-cut as the history Steven is using. Google’s lawyers even criticize Sun and its successor Oracle America for not being open enough:

Only two months later, in April of 2009, Oracle Corp. announced that it would be acquiring Sun (renamed Oracle America after the acquisition was completed in January of 2010). Since that time, and directly contrary to Oracle Corp.’s public actions and statements, as well as its own proposals as an executive member of the JCP, Oracle Corp. and Sun (now Oracle America) have ignored the open source community’s requests to fully open-source the Java platform.

If this were a simple matter of some code being open and some not, this wouldn't be a multi-billion-dollar lawsuit. But the precise details of how Sun chose to write its licensing terms are extremely important. Let’s continue:

Sun also released the specifications for Sun’s Java platform, including Sun’s Java virtual machine, under a free-of-charge license… [links here and here] The license allows developers to create “clean room” implementations of Sun’s Java specifications. If those implementations demonstrate compatibility with the Java specification, then Sun would provide a license for any of its intellectual property needed to practice the specification, including patent rights and copyrights.

So, no, that part about anyone being able to “look, use, and, yes, copy Java’s code too”? Not true. In fact, there’s the crux of the copyright case. If it were really permissible to simply copy the Sun/Oracle code, Google’s lawyers would be able to raise a big middle finger as their primary defense. Instead, this is what they argue on page 12 of their Answer:

The Android Platform, including the Android operating system, the Android Software Development Kit and the Dalvik Virtual Machine, was created independently and without reference to any works protected by the Asserted Copyrights.

They had to say that, of course. The definition of a “clean room” implementation is that the engineers writing the code have no direct exposure to the original, copyrighted material, incuding code, specifications, and other documentation. Here's the Wikipedia definition, which is consistent with the claims in this case:

Clean room design is useful as a defense against copyright and trade secret infringement because it relies on independent invention. However, because independent invention is not a defense against patents, clean room designs typically cannot be used to circumvent patent restrictions.

The term implies that the design team works in an environment that is 'clean', or demonstrably uncontaminated by any knowledge of the proprietary techniques used by the competitor.

That’s a problem for Google, as I noted in yesterday’s post, because there is substantial evidence that the engineers working on the project had direct access to the copyrighted material. A number of Google employees and contractors who worked on Android previously had access to Sun’s Java code. One, Joshua Bloch, “was an architect of the Java platform at Sun [and] now works for Google … his name appears in the source code of several Java library files.” The copyrighted documentation was available to the so-called “clean room” engineers. That spells trouble for Google.

And even if Google followed those procedures, they were not guaranteed to succeed. Once again, I quote from Google’s own defense team:

The only way to demonstrate compatibility with the Java specification is by meeting all of the requirements of Sun’s Technology Compatibility Kit (“TCK”) for a particular edition of Sun’s Java. Importantly, however, TCKs were only available from Sun, initially were not available as open source, were provided solely at Sun’s discretion, and included several restrictions, such as additional licensing terms and fees. In essence, although developers were free to develop a competing Java virtual machine, they could not openly obtain an important component needed to freely benefit from Sun’s purported open-sourcing of Java.

Those were impossible restrictions for Google. As Professor John C. Mitchell noted in his expert report, filed under oath and made public earlier this week:

Developers creating compatible, independent implementations can obtain a license from Oracle on these or similar terms. Google could have entered into a license such as this, but chose not to. Google’s Android is not a complete implementation, without subsetting or supersetting. In addition, I understand that Android has not passed the relevant Java compatibility test suites that would check for and ensure total compatibility and Google has not attempted to complete this process. As Android founder and chief Andy Rubin wrote, “They [Sun] will never certify our VM, or put another way, I will not submit Dalvik for certification.” (GOOGLE-01-00026813.) Of course, there is no sense in submitting Android for certification — because it is intentionally incompatible, it would fail.

Lesson over. Any questions?

Topics: Android, Google, Open Source, Oracle, Software Development

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
  • RE: The real history of Java and Android, as told by Google

    So, it all boils down to this bit: "Google could have entered into a license such as this, but chose not to." I see...
    Tony Barbarella
    • clean room

      @aemarques@... the whole concept of a clean room is flawed, in that if you develop independently you may come up with the same solution that is patented. If your engineers are familiar with the way the software operates, then the patented method is EXCLUDED from the method you develop. It's a catch 22, since you can't come up with independent solution without someone telling you that you infringed at some point, in which case you now know what is patented. Even if you didn't know what the patented material was at the beginning, you would by the end of the process, unless you handed it off to another team every time something infringed. It's impossible to write in a vacuum.
      sparkle farkle
      • You're correct, but off-target

        @sparkle farkle - patents aren't the issue in this case, copyrights are. And a clean-room approach is very much accepted as an appropriate way to not violate copyright.

        And being familiar with - even being an author OF - software doesn't mean you can't participate in a clean-room implementation of alternatives. That's been shown in court - to say that Joshua Bloch couldn't participate in a clean-room implementation of a JavaME alternative would run into civil liberty issues.
      • same also goes for copyrighted code

        @sparkle farkle Even if you write in a vacuum, the same person writing another implementation of his original work would proabaly look much the same, and in fact would more than likely have to use some of the same functions (for a=1;a<100;++a) and variables and classes(void) as the original. So how could you tell if it is infringing or not??
        sparkle farkle
      • Nope.

        Not impossible, but hard. Compaq had to do the same thing back in the 80's to build an IBM compatible machine by reverse engineering the IBM PC BIOS.
        Clean room requirements if done properly -- unlike the sleazy Google way -- are very stringent.
        First the engineers must have no familiarity with the technology they are working on, the engineers are usually vetted and questioned by lawyers, usually recorded, notarized the whole nine that they have no knowledge of anything related to the tech, can't do a web search to find the answers, can't ask friends for help, so on. So it is hard, because non-familiarity with the tech that is being reverse engineered makes it so.

        If one of the Android engineers worked for Sun on Java, then Google obviously didn't attempt proper "clean room" reverse engineering, even if they say they did. But Google says a lot of untruthful things people should take with a grain of salt.
    • They chose not to and there was nothing wrong with it it turns out.


      A lot has happened since September 2011... I wasn't around the discussion last year but I would have pointed out as a few others here did that your hand picked facts from Google's own filings were picked with an obvious bias to try to counter and prove wrong SJVN's assertions that Google has a good case here. I'm certain that the facts you point out were deliberately presented by you in a manner inconsistent with Google's own interpretation of those very same facts. I'm sure you are as familiar with the term "out of context" as you are its use.

      Now that the findings of fact have been evaluated by the courts and Google has been exonerated, it is interesting to look back on all the "Related Articles" links and see all the noise created by biased editors and their pundits and compare it to how relatively quiet they are now that the courts have invalidated their arguments.
  • RE: The real history of Java and Android, as told by Google

    +1 to Ed Bott and big Boo to SJVN.
    Nice rebuttal Ed, BTW. Very nice.
    Ram U
    • You and Ed Bott should do well writing fantasy novels.....


      You and Ed may even sell a story or with the fiction you both write.

      Good job Steven!
      linux for me
    • RE: The real history of Java and Android, as told by Google

      @Rama.NET I agree, that was well written and cited...not conjecture.

      The real problem for Google is that they are defending a platform that provides little or no income for them. It must be especially troubling to see Microsoft profiting more from Android than Google is. Additionally, in spite of the popularity of Android, Apple is raking in the cash while Google is getting....well, nothing.

      Google must see this and realize that besides defending itself, it needs to devise a real business plan to monetize their efforts. The aquisition of Motorola could be their attempt to "be like Apple". Whether that will work or not remains to be seen.

      Whether they win or lose this litigation, I don't know. It does, however, demonstrate their lack of experience in the "OS" and "devices" world. Their inability to create a business plan for monetizing their efforts outside of their core advertising business is their biggest challenge.
      • Take the first article

        That was some time ago also an element in a blog article on this site, I think also from Ed Bott, in their long and persistent quest for problems that can in some way be associated with Google and Android. Android's success really created enemy's.
        This article is a reply on an other article that itself was a reply on an article of Ed Bott. Take that first one and find an explanation by Google about that theme.
  • Master Joe Says...Pretty Clear

    It seems pretty clear to me. Google basically decided it wasn't going to strike a licensing deal with Sun (now Oracle). Fine. But, if you do that, you have to pay the price. Otherwise, why would anyone get involved in licensing deals? You'd be completely stupid to pay the licensing fees and associated taxes and other fees to some company, if not doing so still meant you could use their software and nto get in to any kind of trouble over it. The fact that Google didn't want certain pieces of code included in the lawsuit in the first place should be a red flag. Why would you care what code is or is not included, if you claim not to have copied any of the code you weren't allowed to? Google is in an uphill battle and is clearly on the defensive right now. I'm not saying this is a guaranteed win for Oracle, but Google would have to do something pretty drastic at this point. Its own arguments have only further backed it into a corner (see final comment from Google in the article itself for example).

    --Master Joe
    • Not at all!

      Sun open sourced java and now Oracle is taking it back!
      That's the crux of the problem!
      Larry Eli$on should be ashamed of himself and drop this frivolous lawsuit immediately.
      The Linux Geek
      • RE: The real history of Java and Android, as told by Google

        @The Linux Geek <br><br>They didn't they open sourced SOME of the source code, namely the stuff they could never hope to profit from like the desktop (J2SE) version Java, they kept mobile (J2ME) and enterprise (J2EE) closed to try and profit from.<br><br>This case has similarities to Sun vs Microsoft and Microsoft had to pay up
      • Do you think @The Linux Geek was consistent?


        If you looked at the old archive footage, do you think we would find @The Linux Geek condemning Sun for suing Microsoft? After all, anything else would be hypocritical.
        Your Non Advocate
      • RE: The real history of Java and Android, as told by Google

        @the.nameless.drifter yeah and Microsoft essentially turned it into C# and now there's nothing Oracle can do about it but compete with it.

        Also, MS tried to take control of Java and Hijack it. Google was trying to do nothing of the sort.
      • RE: The real history of Java and Android, as told by Google

        @Peter Perry

        MS and google may have different intentions but there actions were similar and if MS had to pay up so will Google
      • Nice try but.......

        @Peter Perry

        Your comparison of Microsoft and Sun doesn't wash.....

        When Sun filed suit against Microsoft, Sun DID NOT open Java to GPL at that time, so that suit was merited. Sun released Java in 2007 I believe and Jave is now free to use.

        Any comparison of the Sun vs. Microsoft suit HAS NO BEARING on the current Oracle vs. Google suit.

        These are the simple, plain facts....Microsoft stole closed propietary software, Google used open GPL'ed software with Sun's CEO's blessing!

        You lose...try again...thanks for playing.
        linux for me
      • RE: The real history of Java and Android, as told by Google

        @linux for me

        Sun only GPL'd some of its code it kept mobile and enterprise closed.

        So the analogy holds
      • RE: The real history of Java and Android, as told by Google

        @The Linux Geek errr, you're a linux geek? Ever hear of MySQL dual licensing? That's all this is, just writ large. Google could've obtained any number of licenses, but chose not to. By ignoring the GPL, it's just straight up copyright infringement.

        Surely Google knew this, I would be amazed that no one considered this at all. Maybe they'll end up suing their lawyers?
    • RE: The real history of Java and Android, as told by Google

      just abandon the java platform wholesale and re-start anew. remember the ram debacle, when one lousy company stuck a carrot in front of everybody and made their proprietary system the ram standard. and then start suing. well, the ram industry survived with a better standard. ruby/rails and other not invented yet software infrastructure can be created, to supplant java. we have linux instead of unix, what more do we need for a proof of concept?