back to article Oracle asks Supremes to snub Google's Java API copyright protest – and have a nice cuppa tea, instead

Oracle has filed its formal response to Google's plea in January for the US Supreme Court to review the two tech goliaths' long-running war over Java, Android, APIs, and copyright. On Wednesday, Big Red made its pitch for why America's highest court should put an end to the legal conflict once and for all, by refusing to hear …

  1. GrapeBunch Bronze badge

    Pucks on both their houses. So, when google copied the 11,000 lines of code, did they really think that Oracle would not sue? Or was it more of a gamble based on the possibility of the software being developed becoming abandonware, one of google's most cherished modi. We could clean-room this code but it would take months and by then the project might be abandoned, kind-of-reasoning? The existence of copyright didn't stop Google Books, or whatever it was/is called.

    Or is google's argument one that has carried the day in other court cases, involving other parties?

    1. Paul Crawford Silver badge

      When Google started this is was Sun Microsystems in charge of Java and they had a much more permissive approach to interoperability. Indeed one could speculate that Oracle bought Sun largely to get the opportunity to sue Google.

      A pox on them all!

    2. Graham Dawson

      The 11000 lines of code are function names and definitions. Header files. They're code in the same way a dictionary is Shakespeare's sonnets.

      1. Steve Davies 3 Silver badge
        Mushroom

        10,000 lines

        reminds me of a previous case...

        SCO vs IBM

        and the kerfuffle over the file "errno.h"

        Not much has changed then.

        If Oracle wins this I fully expect the SCO case to be re-opened.

        To Google and ORacle, [see Icon]

        And the same goes to the EU for Article 13. Just wait for the lawsuits to start flying just because you provided a hyperlink to something that was copyrighted.

    3. Dave87600

      Google didn't actually copy any code at all. In fact in all the code compared, they found only nine lines of code which were the same. Google implemented the interfaces for the Java API to remain compatible with the java infrastructure. Oracle never claimed Google copied the code. Oracle's issue was that the organization and interfaces were subject to copyright and that is what the court finally decided.

      Oracles's claim is not without merit but it breaks commonly accepted rules about software development which have always allowed people to "stand on the shoulders" of others and develop new technologies. Even Java itself uses a lot of C-derived interfaces. And that's the problem I have with Oracle's side: you can't have it both ways. Java was built on the ideas from others (byte code, programming interfaces, etc) so to then prevent others from doing the same is hypocritical and very dangerous. If I write a routine to print a PDF with the name "printPDF" with a PDF file as a parameter and the interface matches something Oracle claims it owns then they can sue me. So yeah, this will completely stifle software development.

    4. ratfox Silver badge

      You haven't paid attention much to this saga, have you? Google did clean room the code. What they copied is the API.

      1. GrapeBunch Bronze badge

        "You haven't paid attention much to this saga, have you?"

        Exactly. I was relying on the story to get the facts, but the story did not make sense to me. I am happy that the Comments now give a more realistic view of the matter, regardless of the 33 (and counting!) downvotes. Thanks to those more knowledgeable for their patient expositions.

        1. TechnicalBen Silver badge
          Headmaster

          That's fine...

          But if you have no read, then don't send accusations! ;)

          We can ask questions, even make statements "if" etc. But careful what we claim!

  2. akoepke

    I don't think they directly copied Oracle code. The original Android SDK was based on the Apache Harmony project: https://en.wikipedia.org/wiki/Apache_Harmony#Use_in_Android_SDK

    That project was created with the blessing of Sun Microsystems: https://www.theinquirer.net/inquirer/news/1019575/apache-to-cleanroom-java-with-suns-blessing

    From what I understand, Harmony was developed using "clean room" principles. They had one team of developers use the existing code to write the specs, this is basically the function names and parameters and documenting what the result should be. Then another team was handed this spec and implemented it all using totally new code. This spec is the only part that was copied, everything else was implemented from scratch.

    It sucks that this happened with the blessing of Sun back in the day and they were since bought by Oracle. Oracle just wants money and saw this as a way to squeeze a lot out of Google. They don't care about anything else.

    1. sabroni Silver badge

      re: They don't care about anything else

      Whereas Google just want to make the world a better place for everyone?

      I don't think so.

    2. GrapeBunch Bronze badge

      This part of the story

      Google, which copied about 11,000 lines of Oracle-owned code as a starting point to provide the base Java API for its mobile operating system,

      sounds nothing like the clean-room, reverse engineering with consent, and different parties story that you describe.

      When code is counted in "lines" that to me means commented or documented code. There is an obvious explanation for the documentation to be visible: it is that its owners, Sun, might have opened their books during the Apache Harmony project. Although I don't know why google wouldn't instead simply use the documentation generated by the Apache Harmony project.

      But maybe there's some purpose to be garnered from my post. I am not a software developer. As a lay person I was aware that clean room techniques had been used to create functionally equivalent software. Even though clean rooms were not mentioned in the story, I thought that clean-rooming might create software that does not infringe copyright. I don't think I'm the only one in that boat.

      1. Paul Crawford Silver badge

        Those "11,000 lines" could well be just the header file's function / class definitions, you know the stuff that has to be exactly the same for an implementation to be compatible?

        A crude 'wc -l /usr/include/*.h' on my box reveals 52,771 lines of text for the standard C header files, easily 11k lines of "code" by a certain definition.

        1. Steve Davies 3 Silver badge

          a sense of Deja-vu

          see my other comment on SCO vs IBM.

      2. Charlie Clark Silver badge

        There is an obvious explanation for the documentation to be visible: it is that its owners, Sun, might have opened their books during the Apache Harmony project.

        Well, the thing with copyright is that there are rules and if you make those files available for one project, you have essentially made them available for everyone. Not that I think that the issue will be decided on this, but worth noting. Google certainly hasn't covered itself with glory either. It could probably have got official blessing from Sun for its approach at the time, but seemed determined to want to avoid this.

        The potential fallout for making a public API entirely subject to copyright (you get to decide who can implement it and how) is huge and something that Oracle should itself be worried about: there are bound to be parts of its database code built in a similar way.

        1. DCFusor Silver badge

          Oracle didn't invent SQL for starters, has C code for which they include the standard headers, and numerous other things that if they win, they could be sued for doing - much more of the same thing - that IBM and others have done.

          Windows.h is kinda large all by itself.

          Oh, they support POSIX too. So by some of the liar interpretations of open source such as the one SCO used, they need to make 100% of their other code - including this - open source!

          See how disruptive this can become with lawyers involved? Everyone needs to use headers from other code to interoperate with it and be useful on any opsys whatever. If an opsys wants to be usable without needing completely custom application code for every little thing, it itself needs to comply with some standards.

          Copyrighting a standard is horribly bad ju ju. Haven't we all railed about similar issues with hardware standards that turned out to have submarine patents on them and companies coming out of the woodwork demanding excessive royalties on things like dram or radio parts? Similar issues here.

    3. Dave87600

      Thank you. I fully agree.

  3. Jack of Shadows Silver badge

    It'll be interesting to see whether the new standard that a copyright needs to be registered before you can lob a sueball and whether Oracle had done so, ignoring whether Sun had done so. Lots of conditionals there. You couldn't get me anywhere in the same country doing interoperable systems development right now and if Oracle wins, never again.

    1. sabroni Silver badge

      So it was impossible for Google to do with oracle's consent? I thought Google were offered a deal on this but refused it because they thought litigation would be cheaper.

      1. Charlie Clark Silver badge

        Google thought that Oracle's case had no merit. Maybe they should have settled for a few hours worth of revenue, but if they were convinced they were in the right, then the courts were the right way to go.

      2. spodula

        Up until this case, every one thaught that API definitions didnt fall under copyright, because they are functional definitions and didnt have enough of a creative step to be covered.

        1. GeekyDee

          Let's start copyrighting the alphabet! I will copyright the letter A, anyone else want in? Makes about as much sense /s

  4. Anonymous Coward
    Anonymous Coward

    Rather amusingly Sun had already Open Sourced Java by this point...

    ...with a fairly liberal license IIRC.

    After buying Sun, Oracle are trying to close Java down again, but it's a little late for that. I'm thinking that Google should just pay off Oracle, so that Oracle can continue to do nothing of value, and slowly die.

    Why hasn't Java been forked into a non-Oracle consortium that will actually do something with it?

    1. deive

      Re: Rather amusingly Sun had already Open Sourced Java by this point...

      Like https://openjdk.java.net ?

    2. ratfox Silver badge
      Paris Hilton

      Re: Rather amusingly Sun had already Open Sourced Java by this point...

      That's a bit unfair; Java is still evolving under Oracle. And as to "Google should just pay off Oracle", I guess it's not your $8,800,000,000 we're talking about...?

    3. jilocasin
      Boffin

      Re: Rather amusingly Sun had already Open Sourced Java by this point...

      Actually they hadn't. Confusingly there were _three_ variants of Java at the time that Android was being developed; JavaME (for mobile), JavaSE (for desktop), JavaEE (for 'enterprise' or web servers). Sun had only open sourced JavaSE at that time and was still selling JavaME licenses to various device makers. There was an explicit restriction of use on the test suite to _certify_ a fork of JavaSE that prohibited it from being used in the mobile space where it would have competed with Sun's mobile offering. This is why Apache Harmony was never officially blessed by Sun. The license that Harmony was created under didn't allow for restrictions on use. It was JavaSE in everything but name, hence the 'Harmony' moniker. Without passing the still closed test suite forks couldn't legally call themselves Java.

      Google wanted to use Java as the basis for the user land applications so that it could leverage the large number of existing Java developers. Unfortunately, JavaME was/is rubbish. Sun wanted Google to license JavaME for Android, but even though Google could have afforded the license, it wasn't fit for purpose. Google wanted to start with JavaSE and create an 'Android' version of JavaSE for Android. So they started with Apache Harmony and abiding by Harmony's license (perfectly legal) made the changes they felt were needed to get it to run better on a smartphone. They didn't NEED to do a clean room implementation, the Apache Harmony developers had already done that. Then Google wrote their own virtual machine Dalvik (as opposed to Sun's jvm) that runs it's own compiled version of the android 'Java' program. .dex (as opposed to Sun's .jar). APT has recently replaced Dalvik and Kotlin is rapidly replacing Java as the preferred language for development of android applications.

      So as you can see, it's a rather confused mess and Sun hadn't 'actually' _open_sourced_ Java at this point. Sun had opened the JavaSE specs, but not the JVM or the test suite needed to certify an alternate implementation. JavaME and JavaEE were still closed and Sun was still getting licensing revenue (although rapidly dwindling by this point) from handheld manufacturers licensing JavaME. Oracle, bought Sun and sued Google for basically using Apache Harmony in a manner consistent with it's license and against what everyone else in the industry thought was propper. The judge took the time to learn to program and _correctly_ declared that you couldn't copyright API's etc. The Fed. Appeals Court, that has never seen a patent or copyright that should be granted/expanded regardless of the underlying law, overturned it. It went back and Google's use was ruled 'Fair Use'. Appealed back to the same court and again overturned. The only result the appeals court would allow was Copyright good, Oracle gets the money.

      Hopefully the Supreme's correct this.

  5. RyokuMas Silver badge
    Devil

    Nuff said

    Given Google's attempt last year to patent work in the public domain... need I say more?

    1. DougS Silver badge

      Re: Nuff said

      Every time I think I know all the evil Google is up to, someone links to more evil.

    2. Bonzo_red

      Re: Nuff said

      Most patent applications are for "inventions" already in the public domain - that is why the patent offices carry out prior art searches. It is not unknown for patents to be granted on such public domain material, hence the mechanism for having them invalidated.

      1. Charlie Clark Silver badge

        Re: Nuff said

        My understanding is that Google routinely tries to patent such stuff largely to prevent patent trolls from having the same idea, because the US patent system is such a mess. The On8 and On9 codecs were done with this in mind and AV1 has been done in exactly the same way. Don't know the details on this but I'd be surprised if it wasn't another defensive patent.

        1. DougS Silver badge

          Re: Nuff said

          That doesn't excuse them trying to patent someone else's work. Especially since there are conditions to using their patents (i.e. promising not to sue Google for your own IP) which the actual inventor of this patent may not agree with.

    3. TechnicalBen Silver badge

      Re: Nuff said

      Well, they did also patent their search algorithm. :/

  6. Headley_Grange Silver badge

    WTF.....

    ....is the graphic that heads the article?

  7. EnviableOne Bronze badge
    Facepalm

    OK I make a widget that does the same thing as the widget you invented, i name that widget the same generic thing as yours, but my widget works completley different to your widget but achieves the same goal, i invented how my widget works, and you try to sue me because i copied your generic name and fuctions.

    This is effectivley the case.

    This is ineffect Hoover suing Dyson for making a vacuum cleaner.

    1. Headley_Grange Silver badge

      Help to understand?

      All this is really out of my field of expertise and I'd appreciate an analogy to understand what the case is about. The way that @Enviable one describes it could still breach copyright in the following manner:

      I write a story who's purpose is to entertain with tales of, say, young SW developers who get the better of their evil PM overlords. I deliver the story using a paper book - the widget.

      Someone invents a different widget which can also deliver tales but it does so via a screen on a battery-driven plastic widget. They take my entertaining story of SW developers who get the better of their evil PM overlords, put it in their widget and sell it but seem to claim that they've not infringed my copyright because their widget is clearly different from my widget.

      I'm not trying to be contrary here, I'm just trying to understand the case 'cos I don't do any tech work with APIs. I guess I'm struggling to understand the difference between what, in the Google/Oracle case, constitutes:

      - framework (you can't copyright the individual words in the dictionary nor the rules of grammar and syntax that surround them),

      - content (the words from the dictionary in the order that I wrote them),

      - the way the content is delivered (book, kindle, podcast) .

      Anyone feel up to a short explanation, or is that what the court case is all about?

      1. jilocasin
        Boffin

        Re: Help to understand?

        Sure, I'll give it a whack....

        In order for programs to be inter-operable they have to have functions named the same that take the same parameters and return the same type of result. Take this example:

        There is a library called Math and in the math library there is a collection of math related functions; add, subtract, multiply, divide.

        A simple function to add two numbers together;

        int add(int first, int second)

        This mean the function name is "add" it takes two parameters that must be integers and it returns an integer.

        To use it you would call "int X = add(2, 3)" and the variable X should contain the number 5.

        For example Sun/Oracle could have written the function:

        int add(int first, int second){

        return first + second;

        }

        While Google could have written the function:

        int add( int begin, int other){

        int num_1 = begin;

        int num_2 = other;

        int answer = num_1 + num_2;

        return answer;

        }

        What Google is accused of copying ISN'T any (well there was those 9 lines) actual SOURCE CODE (the stuff between the {} ). It was accused of copying the "int add(int, int)" and the Math.add(), Math.subtract(), ... arrangement. It is EXACTLY the things that Google is accused of copying that allow one program to be inter-operable with another. Up to this point is was always believed to be not protectable by copyright.

        This was widely believed to have been decided in Baker v. Selden, a US Supreme Court case from 1879 ( https://www.law.cornell.edu/supremecourt/text/101/99 ) that defined the idea/expression dichotomy in copyright law. Unfortunately for all of us not named Oracle, Oracle threw a patent into the lawsuit and so it was appealed to the Court of Appeals for the Federal Circuit which has an absolutely horrible track record twisting the law to favor patenting everything under the sun. Recently it has had a number of cases overturned by the Supreme Court.

        I hope this becomes another such case where the Supreme Court overturns the Appellate Court and rules that API's are unprotectable by copyright once and for all.

        I hope that helps.

        1. Headley_Grange Silver badge

          Re: Help to understand?

          Thanks, jilocasin - that's helpful.

        2. TechnicalBen Silver badge

          Re: Help to understand?

          Or similar to a recipe. Oracle made a cake. Google also made a cake. Google know it has to be sweet, it has to be edible, but they decided to make it their way.

          Now, Oracle has tried to say "we own the copyright on sweet edible cakes", because Google "copied our recipe". Now, some parts of a cake are copyrightable, such as a name "Kipling's Cakes", or an actual recipe *book*. But the recipe may not be, because it's too simple a functional action, or protected under free expression (or something else).

          So here we have the question, is it reasonable for Google to put some flour and some sugar in a cake? Because someone, anyone, owning that "copyright" would be insane. So Oracle claiming ownership of APIs or names or maths in code is problematic. Even if they show it exactly the same.

          Google went to the trouble to try and not copy the "book" but only make sure the end results were cakes, so people could easily cook with them. (Another example is a dictionary. Some parts can be owned, other parts are public domain) :)

  8. EricM
    Flame

    If Oracle wins, expect the SCO-vs-Linux case to rear its ugly head again ...

    After all, SCO also claimed copyright violations that centered around the header files of kernel functions.

    So Google using the API defintions of Java to cleanly re-implement the bodies of internal Java functions ist to me ( programmer, not lawyer) exactly the same.

  9. Robert Halloran

    basis of reverse engineering

    Google used the clean-room-developed Apache Harmony project for Android, which yes, used the same API call structure. They re-wrote all the content of those APIs to match up, but not using any of the actual Sun code. This is how reverse-engineering works (see BIOS, Linux, ... for examples).

    If I took, say, one of the Harry Potter books, grabbed up the chapter titles BUT wrote new material under each, and put it out under a new title, would Rowling have any grounds for infringement? Doubtful.

    Oracle is widely believed to have bought up Sun specifically to monetize Java (initially they'd only wanted the software side of the business and not SPARC; McNealy insisted on the whole bundle). Then Android went and took over the mobile world and Larry got peeved no one wanted to pony up for Java ME, so he unleashed the lawyers. Until Oracle threw in the patent issue, which sent it to the patent-friendly appeals court, they'd been losing consistently. Now Google is trying to hold onto that by begging the Supremes to ignore common engineering practice and make Google pay out.

    1. Anonymous Coward
      Anonymous Coward

      Re: basis of reverse engineering

      Google did a clean room development of something against the specifications and API, which is almost like designing a new car from a dealership brochure.

      In other words, Google did not really benefit from the engineering behind Java as it redeveloped what's behind the APIs from scratch, so I don't see why Oracle should get the big bucks.

  10. a_yank_lurker Silver badge

    Not Optimistic

    On merits, Google should win in a slam dunk but we are dealing with the Nine Seniles here. You have nine effectively illiterates on technology trying to understand how programs work. Not much of a chance that will happen.

    1. Alan Penzotti

      Re: Not Optimistic

      I think that Judge Alsop (2012, Oracle vs. Google) had the keen sense to see where it was headed, and has prudently included findings of fact and other supporting cliff notes to insure that these Nine Seniles were able to have a carefully measured bullshit calibration routine to correctly call out both parties if they cross these lines.

  11. Dave 13

    Eclipse?

    So.. when IBM published Eclipse as a Java frontend, why didn't Oracle go after them? Oh, that's right - it was done as a nonprofit so there were no deep pockets to mine. Also, IBM had a mobile Java client but this somehow doesn't interest Oracle. Bottom line, Oracle is simply a shell company for legal actions against customers and competitors. If you think they're anything else, you haven't been paying attention.

  12. Ouraf

    That explains the desperate push to popularize Kotlin

    Yet, changing it right now could fragment the developer base. There was something similar happening with Apple and swift IIRC

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Biting the hand that feeds IT © 1998–2019