Dear Oracle, Google's Innocent!

Anybody following the hoopla in the tech landscape has probably at least heard of Oracle's (NYSE: ORCL  ) suit against Google (NASDAQ: GOOGL  ) . In particular, Oracle sued Google for "copying" a number of its application programming interface, or API, definitions for use in the programming model for the now incredibly popular Android operating system.

The case was initially largely dismissed. In fact, Oracle ended up having to reimburse Google for a million bucks in legal fees. Now, it seems that Oracle is being rather aggressive in appealing this decision and extracting what it feels it's due from Google. But the question is, does Oracle really have a case here?

What's going on here?
The tricky thing about this lawsuit is that Google didn't actually copy any code. What it did was copy a set of Java API definitions. What exactly is an API? Well, think of it this way: When a programmer sits down to write code in a given programming language, he or she doesn't have to start from scratch -- many programming environments usually have a lot of functionality already built-in, which means the code is already written and ready to be invoked by the programmer building a new application.

So, for example, a very popular API for graphics programming is known as OpenGL. What this particular API does is abstract away all of the intricacies of talking to a computer's graphics hardware in order to draw images and graphics to the screen. Without a standardized API like OpenGL, programmers would need to write specific code for just about every graphics chip on the planet -- nobody would be able to get any real work done and the game industry would be much less vibrant. Instead, a common set of functionality is exposed to the programmers and it is up to the graphics chip vendors to actually implement these APIs in their graphics drivers.

That's exactly what's going on here. Oracle specified a number of quite useful APIs that make the lives of Java programmers easier. Google, when it designed Android, decided that Java would be the language of choice and augmented with its own APIs and functionality specific to the Android OS. However, a number of the APIs that ship with "standard" Java were also deemed to be useful, so Google included them as part of the "Java for Android" specification.

Google did the legwork
While Google may have copied the specification for these APIs (i.e. exposed that same functionality), Google did the work in actually implementing those APIs in its own version of Java and accompanying virtual machine. If Google had simply copied the actual code and implementation from Oracle, then this wouldn't even be a question -- Google would probably have to pay up. But that's not what happened here. Google took the definition of what functionality should be included for Android programmers to use and implemented that functionality itself. Google did the legwork.

Foolish bottom line
While Oracle may well win this lawsuit, it won't be on much of a technical basis. Google may have borrowed some definitions, but it did all of the right things and provided its own implementations of these APIs as well as its own virtual machine implementation. There's nothing to suggest that Google couldn't have developed its own programming language from scratch for Android, nor is there anything to suggest that it couldn't have developed its own APIs to cover the same basic functionality exposed with the original Oracle ones.

What Google did was out of convenience for the programmers that would need to develop on the Android platform. Java is a very popular programming language that is the language of choice in both academia and industry, and it would have been foolish for Google -- especially in trying to introduce a brand new mobile platform -- to use anything else. But, more importantly, Google didn't seem to do anything wrong here.

Oracle is a great, highly innovative company with a broad swath of technologies that should indeed be covered by patents, but API definitions, in this Fool's view, don't fit the bill.

Want to get in on the smartphone phenomenon?
Truth be told, one company sits at the crossroads of smartphone technology as we know it. It's not your typical household name, either. In fact, you've probably never even heard of it! But it stands to reap massive profits NO MATTER WHO ultimately wins the smartphone war. To find out what it is, click here to access the "One Stock You Must Buy Before the iPhone-Android War Escalates Any Further..."


Read/Post Comments (8) | Recommend This Article (1)

Comments from our Foolish Readers

Help us keep this a respectfully Foolish area! This is a place for our readers to discuss, debate, and learn more about the Foolish investing topic you read about above. Help us keep it clean and safe. If you believe a comment is abusive or otherwise violates our Fool's Rules, please report it via the Report this Comment Report this Comment icon found on every comment.

  • Report this Comment On December 09, 2013, at 1:40 PM, Ssmokes wrote:

    Ashraf, it's woefully apparent that you are a Google "fan-boy". The judge in the original trial decided that the code was not copyrightable. This was obviously a bad decision that will be overturned. If you really want to be informed, listen to last weeks Appellate hearing (http://oralarguments.cafc.uscourts.gov/default.aspx?fl=2013-.... It is quite clear from the three judge panel that there was great concern in the conclusion reached by judge Alsop. As one of them stated, how can any computer code not have functionality, the reason used by judge Alsop to remove copyrightability from these API's.

    Major question in my mind, and stated by the appellate judges, was why Google didn't create their own API's? One very simple reason, Google wanted a ready-built group of developers to program Android apps, namely all of the Java app developers. Sun/Oracle spent a fortune, and many years training folks in developing apps using Java. Google just skirted this enormous investment in resources and time for their supposed "new" language.

  • Report this Comment On December 09, 2013, at 3:01 PM, Ssmokes wrote:

    The link above doesn't appear to work. Here's a working link to the Appeals Court recording of the hearing held last week. Hope it still works after posting.

    http://oralarguments.cafc.uscourts.gov/Audiomp3/2013-1021.mp...

  • Report this Comment On December 10, 2013, at 2:40 AM, THUFIRH wrote:

    did you read page 13?

    "Sun Develops A Licensing Regime To Foster A Community And

    Ensure Compatibility

    Although Oracle owns the copyright on Java SE and the

    corresponding packages, Oracle encourages their use by others—both a

    vast community of programmers writing clever apps and businesses

    developing proprietary and competing products. To accommodate all

    comers, Sun/Oracle offers three different licenses:

    (1) The General Public License (“GPL”) is free of charge..."

    OPENING BRIEF

    Case: 13-1021 Document: 43 Filed: 02/11/2013

    I would be fascinated to know why Google didn't just fork OpenJDK like any normal developer would do. It's totally free of charge...it's not even necessary to ask Oracle's permission, and Google could what they like with the code, sell it for a million billion dollars or give it away for free. Oh, you would have to keep the forked code, the new API, open source. But Google does that anyhow, Dalvik is open source...

  • Report this Comment On December 10, 2013, at 1:37 PM, Ssmokes wrote:

    Thufirh, you might want to take a look at this article:

    http://arstechnica.com/gadgets/2013/10/googles-iron-grip-on-...

    If Google had taken the GPL license, they would have had to provide all of the extensions to Java back to the Java community, but then they never had any intention of doing this.

    There is a paid license for Java that they should have taken! which allows them to keep their extensions! but they didn't do that I either. They just stole it!!!

  • Report this Comment On December 10, 2013, at 10:13 PM, THUFIRH wrote:

    Ssmokes: exactly.

    It wasn't for the "convenience" of the programmers. The most convenient options were to fork Java SE or to license Java ME.

    Note: Java ME and Java SE are different beasts.

    I don't know that it's possible to fork Java ME under the GPL. However, it would've been far easier, simpler, cheaper and faster to fork Java SE to look very much like Java ME.

    I would prever to see Dalvik and all the Android tools under the GPL and LGPL, personally.

    If Google is opposed to the GPL, that's fine. The choices are either to let Google get away with a work-around to the GPL (worse evil) or for Google to pay for a Java ME license (lesser evil).

  • Report this Comment On December 11, 2013, at 4:14 AM, symbolset wrote:

    Author almost gets a difficult issue correct. It should not be surprising that others are having trouble understanding this.

    >Google did the work in actually implementing those APIs in its own version of Java and accompanying virtual machine.

    Google did not implement a version of Java. Dalvik is not Java. It is Dalvik. Programs for it are written in the Java programming language. It has similar APIs. But it is not and never will be Java.

  • Report this Comment On December 12, 2013, at 3:06 AM, THUFIRH wrote:

    It's totally irrelevant that Dalvik fails the Java TCK. It literally has nothing to do with this.

    Also, Dalvik is a VM and not a language, so it could never "be" a language of anykind -- not even Java. As you write above. Why do you bring up TCK issues?

    There's no way that Dalvik would ever pass the TCK, and would be rather pointless to try to make it do so.

  • Report this Comment On December 12, 2013, at 3:16 AM, THUFIRH wrote:

    As to the point that "Google did the work in actually implementing those APIs in its own version of Java and accompanying virtual machine."

    well, sorta kinda. Alsup says, in his ruling:

    "Significantly, all agreed that Google had not literally copied the software but had instead come up with its own implementations of the 37 API packages."

    They re-implemented the bulk of Java in legalese. No, they did not implement Java -- that actually would've been ok with me!

    If the goal was to re-implement Java. Of course, the goal was never to re-implement Java, but to, sorta, kinda, fork Java SE into something like Java ME without either:

    1.) paying for a Java ME license (fair enough), or

    2.) complying with the GPL

    No, that's absolutely correct, Google didn't implement Java. It's a strawman argument. You're just setting up a "claim" that no one is making. No one claims that Google implemented, or re-implemented Java. Not Java SE, not Java ME, not any Java.

    They did re-implement their own, distinct *version* of Java. Is that really in dispute??

Add your comment.

DocumentId: 2756579, ~/Articles/ArticleHandler.aspx, 4/17/2014 9:00:21 AM

Report This Comment

Use this area to report a comment that you believe is in violation of the community guidelines. Our team will review the entry and take any appropriate action.

Sending report...


Advertisement