back to article Why Oracle will win its Java copyright case – and why you'll be glad when it does

Oracle will ultimately prevail in its Java copyright lawsuit against Google. And if you're a free software developer or supporter, you should be cheering them all the way to the wire. Blogger John Gruber last week observed that virtually no one is rooting for Big Red. This is really quite astonishing. That's because Google has …

  1. lpcollier

    The code is trivial

    If the segment of "copied" code shown in the article is representative of the sorts of claims that Oracle is making, then it shouldn't win. The code is utterly trivial, and obvious to anyone with any insight into what its doing. Free software developers and supports _shouldn't_ cheer an Oracle win, because free software is predicated on reimplementation and replacement of non-free software. That's what GNU essentially is. If such trivial reimplementations become subject to copyright then no-one will ever be able to create free alternatives. Of course, it's hard to say whether Google genuinely did a clean room reimplementation, or cut'n'pasted and edited the result a bit like the best high school plagiarism, but the presumption for trivial code should be that it's not been copied - or that it doesn't matter.

    1. DougS Silver badge

      Re: The code is trivial

      The code may be rather trivial, but Google even copied Java's errata. If they are claiming to reimplement the API, shouldn't they follow the definition of the API? Look at the code in the article's example, and compare with this Java errata:

      https://bugs.openjdk.java.net/browse/JDK-6501002

      This makes it pretty obvious they copied Java's code, rather than reimplementing the Java API. If they reimplemented the API, they would have set ANY_POLICY to "any-policy" like the API says, instead of setting it to "2.5.29.32.0" like Java did before this bug was fixed. Kind of hard to argue they are reimplementing the API when stuff like this makes it obvious they lifted Java code and simply changed a few variable names!

      EDIT: apparently the article was edited to remove the example while I was posting this? The example code showed a ~30 line code section, and it set a variable called ANY_POLICY to "2.5.29.32.0" in both the Java and Android code. The errata I linked states this is in error and the API says it should be set to "any-policy". Not sure why this example was removed from the article, hopefully it will be restored but I figured I should add this update in case it is not...

      1. Anarres

        Re: The code is trivial

        The code posted initially in the article was not copied by Google, was not in Android, and was not in the 2016 trial.

        I posted a comment for fact checking on that. It looks like my comment wasn't published, and the article didn't post an errata. However it did remove the wrongly posted code.

        1. diodesign (Written by Reg staff) Silver badge

          Re: The code is trivial

          A code snippet [PNG] appeared briefly in the article, but it was removed because it was a slightly confusing example.

          Yes, it showed that Google's implementation of a particular function was very very similar to Oracle's in the Java SDK.

          However, the code (dating back to 2010) was used for testing other library functions, rather than providing an app-facing library function, so it never shipped on devices, and would only have been seen by other developers.

          It was removed within 30 mins of the story going live after we had second thoughts on it. No conspiracy, just a change of mind. Although it showed Google and Oracle's code were very similar in this instance, It wasn't one of the 37 APIs at the heart of the matter.

          C.

      2. theregbeest

        Re: The code is trivial

        Note that this is just following http://www.ietf.org/rfc/rfc3280.txt

        RFC 3280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile

        See section 4.2.1.5 Certificate Policies:

        "When a CA does not wish to limit the set of policies for certification paths which include this certificate, it MAY assert the special policy anyPolicy, with a value of { 2 5 29 32 0 }."

    2. DavCrav Silver badge

      Re: The code is trivial

      "If the segment of "copied" code shown in the article is representative of the sorts of claims that Oracle is making, then it shouldn't win. The code is utterly trivial, and obvious to anyone with any insight into what its doing."

      You are mixing up copyright and patents. Patents are for inventions, copyright is for expression. Just because something is easy, doesn't mean you can just steal it. Come on, otherwise it should be fine to copy most music and films produced in the last thirty years.

      If it's so utterly trivial, do it your bloody self, and don't copy it from someone else.

      1. Anonymous Coward
        Anonymous Coward

        Re: The code is trivial

        Google has admitted that they did break copyright on trivial amounts of Java. I am fine with Oracle winning... as long as their damages are about $200.

    3. rh587 Silver badge

      Re: The code is trivial

      The code is utterly trivial, and obvious to anyone with any insight into what its doing.

      Whether something is trivial or (non-obvious) would be relevant in a patent dispute. This is a copyright dispute, and the question is whether Google copy-pasta'd Java's code wholesale.

      They did, thus it is an infringement of the copyright. QED.

      Moreover, even if it were relevant, "trivial" is a contextual term. An if-loop is a trivial statement. Any given line of code can be deemed trivial in isolation. 11,000 lines of individually trivial statements that implement some complex piece of logic stops being trivial.

      Google's claims of Fair Use are then a separate discussion down the line once it has been established that copying has taken place, which is why they do not belong in the upfront discussion.

      1. Anonymous Coward
        Anonymous Coward

        Re: The code is trivial

        "They did, thus it is an infringement of the copyright."

        NOT SO FAST.

        Infringements can be forgiven under certain instances, and the Copyright Act prescribes these exceptions.

        One of them is "fair use", such as taking a single frame from a movie and displaying it with a caption mentioning someone's opinion of the work. Since it provides context and doesn't subtract from the overall work, that's considered "fair use".

        If the lines copies were part of the public API declaration, then we're talking code that MUST be public for it to be useful. Like say a restaurant menu. A menu isn't useful if it's kept locked up in the back all day. Or ATM instructions. Employing something that must necessarily be public is also considered Fair Use, and case law supports this.

        1. Anonymous Coward
          Anonymous Coward

          Re: The code is trivial

          There have been copyright cases over the content of restaurant menus. Surprise, surprise, a work involving pictures and writing is copyrighted, even if it's not high art. Books and paintings are also not useful when locked in the back all day.

          The specific case I'm recalling involved a PhD student copying some images from a few local menus as part of their dissertation and failing to get permission to use the images.

          1. Indolent Wretch

            Re: The code is trivial

            Yes but a restaurant menu isn't required for interoperability.

            The whole point was that header files and declarations were always assumed to be 'functional' rather than 'expressive' and hence not covered by the scope of copyright.

            This is the death knell for the word compatible and another hammer for the big tech companies like oracle to use to bludgeon smaller competitors to death.

            1. h4rm0ny

              Re: The code is trivial

              >>"The whole point was that header files and declarations were always assumed to be 'functional' rather than 'expressive' and hence not covered by the scope of copyright."

              I've certainly never assumed that and I don't even think those terms are well-chosen. What does "expressive" mean in terms of programming, anyway? I've done software design work where I've done nothing but create interfaces. Even for my sins had to provide proof of correctness for them. And it was valuable work that others then built upon to fill out method bodies and other parts. It was creative work requiring effort and the fact that I was designing an interface didn't mean anyone could just come along and copy that work and claim fair use.

    4. TheVogon Silver badge

      Re: The code is trivial

      "The code is utterly trivial"

      So surely Google should have been able to write their own instead of copying 11,000 lines of it?

  2. gobaskof

    This article conflates two important issues

    There are two distinct issues in this case and they have very different results for the FLOSS community.

    1. Is and API itself copyrightable

    An API is how other programs interface with your software. The people writing that code, as far as I am concerned, are users of your software. Hence the API is the user interface. Copyright doesn't extend to user interfaces as was decided in the case Lotus v. Borland. If the court rules against Google this then this is devastating for open source efforts to duplicate the functionality of propriety software while maintaining compatibility.

    2. Direct copying of code sections:

    IF it is clear that google did copy the Java source code then this article is correct. THEN result for FLOSS should rule in Oracles favour, as we need to be able to protect our source for the GPL to be powerful. It is a big IF and a big THEN and I admit I haven't delved into the code, but a cursory glance at the example seem to point to code stealing as all the private variable have identical names.

    So as long as the court decides that an API is a user interface and copyright doesn't extend to it, this becomes just a code stealing case. I am disappointed that the API distinction is largely glossed over in this piece.

    1. Anonymous Coward
      Anonymous Coward

      Re: This article conflates two important issues

      Wrong wrong wrong wrong wrong. You've been lost in Google's cuttlefish ink cloud.

      "1. Is and API itself copyrightable"

      That has already been decided by the courts, and the answer is a confirmed, settled and now indisputable "Yes". Not even Google are endeavouring to get that court judgement changed.

      "2. Direct copying of code sections:"

      Google have already been found guilty of doing this, and Google have lost all avenues of appeal on this question. You don't need to browse the code yourself, the document that matters is the court judgement stating that this has happened.

      I think that Andrew Orlowski raises a very serious point here, and if Google win then it harms software copyright irrevocably. We may all grow to regret such an outcome. If Google wins I can pinch 11,000 lines of someone else's copyrighted OSS code and disregard the license terms entirely. And if 11,000, why not 12,000. And if it's widely distributed already, why not the whole lot?

      For the moment though Google have a lot of fanbois on their side, and that is clouding the public debate on the matter. Remember that Google is a company that started off doing no evil, but now conducts business in ways raising concerns all over the world on matters of privacy, fair business competition. tax evasion, money laundering (France), etc. This is not a company that we should definitely be cheering on, yet there's plenty of people doing exactly that.

      1. Doctor Syntax Silver badge

        Re: This article conflates two important issues

        "If Google wins I can pinch 11,000 lines of someone else's copyrighted OSS code and disregard the license terms entirely. And if 11,000, why not 12,000. And if it's widely distributed already, why not the whole lot?"

        If Google wins you can use an API of any length. That doesn't mean you can use the code that implements the API and disregard the license terms.

        If Google lose it means you can't code against some library without having permission from the copyright holder(s) of that library. What's that you say? I already have a licence for the library so I have a licence for the APL? Not necessarily. You might be a third party developer; your customer has the licence, you don't - now how do you do your job?

        Be careful what you wish for - you might just get it.

        1. LDS Silver badge

          it means you can't code against some library without permission from the copyright holder

          Which is exactly how GPL works. You can't link a GPL library ("covered work") without abiding to the GPL license. If Google wins, it means you can use GPL libraries ignoring the GPL license wholly - after all you're just calling APIs. In the worst case, just make a dual licensed API facade.

          It's exactly the Ubuntu ZFS situations. Does ZFS modifies the kernel? No, it doesn't. It just a module calling kernel APIs. Some APIs are restricted use - but that restricted use is based on APIs copyright.

          Sometimes, it would be useful if FOSS supporters spent some time to actually read and understand FOSS licenses, instead of blinding believing in them as if they were an holy book and they can access only some priesthood "explanation"....

          1. Sam Liddicott

            Re: it means you can't code against some library without permission from the copyright holder

            It's how the GPL is intended to work, but plenty of lawyers and GPL fans think that it has no force there.

            Just because some hopefuls intend it to work that way doesn't mean it does work that way.

      2. Charles 9 Silver badge

        Re: This article conflates two important issues

        "That has already been decided by the courts, and the answer is a confirmed, settled and now indisputable "Yes"."

        Cite the case law, please, if there IS such a precedent.

        "Google have already been found guilty of doing this, and Google have lost all avenues of appeal on this question. You don't need to browse the code yourself, the document that matters is the court judgement stating that this has happened."

        Again, cite it, please. Highlighting the pertinent section where they can prove beyond reasonable doubt that the code was copied direct from Sun and not clean-roomed.

      3. Anonymous Coward
        Anonymous Coward

        Re: This article conflates two important issues

        Is an API itself copyrightable?

        For those making a distinction between the API specification (I.e. how to interface with the application) and the actual written code:

        You also need to distinguish between the rules that the API implements (which may not be copyrightable) and the actual text written to explain these rules.

        The copyright, in this case, is protecting the effort and investment made by one party in writing out 11,000 lines of text defining those rules. The other party then stole the fruits of that effort and investment.

        If it was 11,000 lines of the next Harry Potter, or the (11) lines of a pop song, we probably wouldn't be having this debate.

        And as the article says, it is important to have strong copyright in this field, since the right of an author to restrict copying, or to permit it subject to conditions of their choosing, is the entire and sole legal basis underpinning GNU licences and similar.

        1. Anonymous Coward
          Anonymous Coward

          Re: This article conflates two important issues

          "If it was 11,000 lines of the next Harry Potter, or the (11) lines of a pop song, we probably wouldn't be having this debate."

          This is more like the liner notes of the next Harry Potter, or rather the textual structure necessary to get your book to fit on the pages. Or maybe the formatting rules for tagging a music file. We're not talking content. We're talking instructions. Instructions may themselves be content, but they're a special kind of content: content intended for public use. No matter how large or small it is, we're talking something that MUST be public to be useful. That falls under the Fair Use exception.

          1. This post has been deleted by its author

        2. Ken Hagan Gold badge

          Re: This article conflates two important issues

          But "the actual text written to explain these rules" has no creative content. It is either an accurate statement of those rules or it is not the API. Does US law permit someone to claim copyright on facts? (Honest question, btw. The law is such an ass that it might well do. As far as I know, the law in the EU stems from a directive that specifically permits such reverse engineering as is necessary to permit interoperability. That would, by definition,apply to an API.)

          On the other hand ... The rules may well have resulted from a huge creative effort on someone's part. Getting the API right might be most of the work on some projects. The wrong API produces a crap product and the right one produces something that everyone acknowledges to be a work of genius. The actual implementation might be trivial.

      4. Alan Brown Silver badge

        Re: This article conflates two important issues

        > "1. Is and API itself copyrightable"

        > That has already been decided by the courts, and the answer is a confirmed, settled and now

        > indisputable "Yes". Not even Google are endeavouring to get that court judgement changed.

        Actually, that's wrong. It hasn't gone up to the Supreme court.

        In addition, that decision is USA-only.

        Any attempt to bring a case based on use of an API in the EU would be thrown out.

        As others have noted, Oracle have attempted to conflate the issues.

        1: Use of the java API for API-compatible code (Let's call it DALVIK) that operates differently internally

        2: Use of Java internal code.

        The Oracle Schills have been out in force since the last judgement and this should have been properly attributed as an opinion piece along with the affiliations of the author, as was done in other publications.

      5. martinusher Silver badge

        Re: This article conflates two important issues

        As we're all programmers here we all know that "lines of code" is a very misleading metric. I would like to see exactly what was copied; from what it sounds like its a set of interface classes which is (I suppose) how you'd specify an API in a language like Java.

        I hardly think that Google would get hold of the source to the JRE, something that's definitely proprietary, and copy it. They might re-engineer the JRE, optimizing it to their platform, but they know better than that (and give the fact that the JRE seems to need updating every five minutes 'for security reasons') they're probably better off doing their own implementation).

        Ultimately this comes down to Google having a successful product and Oracle wanting a piece. They don't seem to be very smart about how they're going about this; Microsoft seems to have a much better handle on this with their .NET/Mono interaction.

        1. Anarres

          Re: This article conflates two important issues

          "As we're all programmers here we all know that "lines of code" is a very misleading metric. I would like to see exactly what was copied; from what it sounds like its a set of interface classes which is (I suppose) how you'd specify an API in a language like Java."

          Names of packages, names of classes, names of methods. Yes, only the declarations of a part of the API, of Java core libraries.

      6. cd

        Re: This article conflates two important issues

        Google had an unofficial motto "Don't be evil" which they paid a former tobacco advertising agency to come up with and then leak disingenuously. One has only to look at the difference between their white spare search page and the code that generates it to find an apt metaphor for how they work.

    2. Anonymous Coward
      Anonymous Coward

      Re: This article conflates two important issues

      That's the big problem with this case. Oracle has mashed them BOTH together into an "all or nothing" in a Xanatos Gambit. If they lose, FOSS loses a lot of its legal strength. If they win, Google's loses control over Android's primary code base (because even ART depends on the Dalvik code to start with). Either way, Oracle wins.

      1. Destroy All Monsters Silver badge
        Thumb Down

        Re: This article conflates two important issues

        If Google wins I can pinch 11,000 lines of someone else's copyrighted OSS code and disregard the license terms entirely. And if 11,000, why not 12,000. And if it's widely distributed already, why not the whole lot?

        Rather amazingly, courts discuss such "sliding scales" all the time. That's actually why they are there for-

        For the moment though Google have a lot of fanbois on their side

        Could be that people not cheering for Oracle are actually not Google fanbois? Just a though, Mr. Anonymous Bush Junior.

        Google ... tax evasion, money laundering (France)

        I think you forget the "allegedly" here and what does that have to do with anything. (Also, if you want to have a business in France that actually survives you better do tax evasion in any case. No wait, better move to Morocco.)

        1. oldcoder

          Re: This article conflates two important issues

          If it takes 11,000 or even 12,000 lines of API definition... So what?

          It is not the code that IMPLEMENTS that definition.

          and 11,000 or 12,000 lines of API will require several million lines of code to function.

          APIs have NEVER been copyrighted before.

      2. Doctor Syntax Silver badge

        Re: This article conflates two important issues

        "Either way, Oracle wins."

        No. If they win they have to GPL any currently proprietary code that calls GPLed library. They're not going to like that.

        Google, meanwhile have to change the APIs to their implementation of the Java/Dalvic library and then carry on as before. It creates a big disconnect between versions. The two implementations of the language then start to drift apart. Maybe new developers might look at the Android market and just stick with that so Oracle loses mind-share.

        It could be a Pyrrhic victory.

      3. energystar
        Linux

        Re: This article conflates two important issues

        " (because even ART depends on the Dalvik code to start with)"

        WHY art&science, even vital infrastructure [lots of code pertain to this categories] are built over this licensing?

    3. TVU

      Re: This article conflates two important issues

      "1. Is and API itself copyrightable

      An API is how other programs interface with your software. The people writing that code, as far as I am concerned, are users of your software. Hence the API is the user interface. Copyright doesn't extend to user interfaces as was decided in the case Lotus v. Borland. If the court rules against Google this then this is devastating for open source efforts to duplicate the functionality of propriety software while maintaining compatibility."

      I agree with that particular interpretation which is indeed backed up by the Lotus Development Corporation. vs. Borland International, Incorporated case in the 1990s and which went all the way to the US Supreme Court. I have a suspicion that this case might also last years and go all the way too.

      However, I do not regard this case as being a straightforward good vs. evil but one of worse (overly litigious Oracle) vs. bad (data slurping Google) and I think it is in the wider interest of developers in particular (API & fair use aspects), and wider society in general, that Google's position ultimately prevails.

      Safe link: https://goo.gl/vzAnX8

    4. energystar
      Childcatcher

      Re: This article conflates two important issues

      An User Interface able to the be programmable, is an API? [Should be even more respected and stabilized than regular, developers' APIs. Most Software Houses seems to believe the contrary.]

  3. Duncan Macdonald Silver badge
    Mushroom

    Florian Mueller

    Look at his record on Groklaw - I would not trust ANYTHING that he said.

    This whole piece is yet another bit of Andrew's wishful thinking. He is hoping for the most confused, restrictive and legally supported IP laws possible in order to provide the maximum income for IP law consultants like himself.

    1. NinjasFTW

      Re: Florian Mueller

      Yes why would anyone believe anything that Florian says after the clear bias he has towards Oracle.

      I wonder if his bias has something to do with him being paid by Oracle for 'consulting'?

    2. GrumpenKraut Silver badge

      Re: Florian Mueller

      > I would not trust ANYTHING that he said.

      I distrust anything he says as driven by questionable agenda.

      No tech publication should cite him without a big fat caveat.

    3. Anonymous Coward
      Anonymous Coward

      Re: Florian Mueller

      Like himself......So Andrew is an IP Law Consultant. wow... just wow...

    4. anoco

      Re: Florian Mueller

      I'm amazed on how often he's on the opposite side of most of the readers here. Either he is here to be the one writer pushing the balance to the right (like News Corp token "liberals"). Or he enjoys being the agent provocateur, much like Trump, that will say anything in order to generate the most controversies.

      Reading stuff like this here just pisses me off. I'm not here to see the beast, I already see it all over the place. Put his name in front of every article title and you will see how many clicks he gets.

      1. diodesign (Written by Reg staff) Silver badge

        Re: anoco

        "he is here to be the one writer pushing the balance to the right "

        The Register is a broad church; Andrew's articles are not our only coverage of the Oracle-Google issue. It's good to air opinions that might otherwise be suppressed because they are unpopular.

        FWIW, my personal opinion is that there are pros and cons to not extending fair use to APIs, I just don't want to live in a world in which software interfaces are not covered by fair use. If you want a world with strong control over API ownership, be my guest. I don't want to be on that planet.

        For one thing, no fair use means discouraging common interfaces to databases, operating systems, web servers, networking devices - it'll be chaos with no sign of any interoperability.

        Sure, you can potentially pay a royalty for using an interface, but then you're at the mercy of whoever is licensing the tech to you. If they play fair, perhaps it'll work out OK. If they play nasty, then you'll refuse to use their interface, come up with or use something similar, and get sued anyway for infringement.

        Just make APIs fair use - make it OK to reuse function names and call/return definitions - and then may the best implementation win.

        Having said that, I respect Andrew's opinion and I don't see why it should be squashed because it's unpopular in some quarters.

        C.

        1. anoco

          Re: anoco

          I get it. I like to hear other views as well because "sometimes" I don't know it all. I just would like to be warned before I click. For example, on news aggregators sites they list the site that the news is coming from, and I'm forewarned about the bias that will follow.

          It's like meeting crazy people on the street. There are some you can see from far away, by their clothes, by their walk, their screams... But the worst ones are the ones that look normal until they are right next to you and you have little time to adjust your brain to the new reality.

          I'm not saying that Orlowski is crazy. But his writing often has the same flee or fight effect on my brain. Most of the times I flee, but this time he is so far out that I decided to fight. And thank you guys for not censoring me in the process.

          BTW, so that I stay on point. If copper cables were treated like Oracle's APIs we would all be paying licensing to some Serbian (oldest securely dated evidence of copper smelting) for most if not all of the tech we use today.

        2. zvonr

          Re: anoco

          Disclosure: I am the author of an open source library which I license with LGPL.

          I do not think copying an API and disrespecting the API license should be allowed!

          A good API is a lot of work and it should not be excluded from copyright! Just like the implementation!

          If you don't like the license of my library, don't copy my API and replace the license!, create your own API! work hard to get users learn your API! market your API! do not STEAL my work! APIs are not something trivial!

          What Google did in this case amounts to stealing, plain and simple.

  4. Mark 85 Silver badge

    I'm just one of the layman.. I've created code and even did some shareware in days of old. At this point to me.. it's all as clear as mud. I hope the three judges have big brains and a good understanding of copyright law as anytime corporates are pitted against corporates we all somehow lose no matter who wins.

    1. Anonymous Coward
      Anonymous Coward

      If you regularly wear a tinfoil hat, like I do :) , then this issue might make you wonder if Google and Oracle aren't working together to damage OSS, and programming by small(er, ish) developers. Those who control the the public APIs and have the money or power, in patent form, to negotiate deals will then have all the control. Those of us who don't might as well get back in shape as we'll be able to do little but dig ditches. I wonder how many ditches are needed in my neighbourhood.

  5. Anonymous Coward
    Anonymous Coward

    Boilerplate code only slightly more complicated than the ABCs.

    Claiming the right to enforce elusive control over headers and API code like this is on par with changing the position of six letters of the alphabet and then issuing take downs for anyone using letters because you've created an "original work" so theirs must be derivative.

    Writing a script that will (Eventually) vomit forth every conceivable combination of text of a given length does not entitle me to claim exclusive control of the written word any more than Oxford can for publishing a dictionary.

    The text of Googles code is not a literal copy, and by definition needs to do the same thing as oracles code. Forcing someone to implement additional cosmetic changes for appearances sake is stupid, harms readability, and increases both the probability of bugs and the difficulty in spotting them. Its also a monumental waste of programmers time.

    Though if that's how oracle does things it might help explain why java is still so buggy, insecure, and such a memory pig. I also suspect if you look at Oracles (and Sun's before it) code you'd see plenty of other examples of code similar to outside.

  6. tdarais

    Author is Dead Wrong

    The author of this article couldn't be more dead wrong. I have studied this case for hours--you watch, Google will prevail on this one. Sun/Oracle had no objection to what Google did as manifested by their executives giving tacit approval to Android (until Larry Ellison and his legal team thought that they deserved to cash in on Google's success). From its onset, Java was open and was meant to be ubiquitous; that objective could never have been met with APIs closed to the extent Oracle was arguing. The jury concluded fair use and rightfully so.

    Moral of story: don't make your product open and ubiquitous and then claim there is no possible/reasonable fair use (like Oracle tried to do). You can you make your computer language and APIs proprietary and enforce that legally, but good luck on trying to make that computer language and API set the most used in the world. Java's originators met their objective of becoming the most popular computer language, but they had to make trade offs to get there.

    Side notes: Java's future was uncertain at one point. If you look at the License Agreement for Windows 95, Microsoft states that "the failure of Java technology could lead directly to death, personal injury, or severe physical or environmental damage." (It's laughable--much better to trust your life to Java than Windows 95--but Microsoft was trying to kill Java.) Sun had to joust with Microsoft to get Java in use more (through Microsoft) while still preserving the brand. Microsoft gave a brief to the court supporting Oracles position because they are the ultimate "sue your but over IP" company and an Oracle win would have been a huge help to Microsoft in furthering their "sue your but" agenda.

    At the end of the day, Android's use of Java APIs will only further strengthen Java's brand.

    As recognized by another post, if you check the author's posts on Groklaw, you'll find that he is no friend to open source.

    1. Anonymous Coward
      Anonymous Coward

      Re: Author is Dead Wrong

      > From its onset, Java was open and was meant to be ubiquitous

      What he said.

      Sun always promoted Java as an open language and ecosystem. That's surely impossible if you cannot re-implement the same environment from scratch - as Google did, with Dalvik. There's the core Java language and there's the Java set of standard libraries which developers code to, and both are intrinsic to the language.

      The API is (1) a definition of how to call a library, and (2) how it behaves (or is supposed to behave) when you call it. The first part is a set of function or class prototypes; the second is a description of what those calls do and what they return, which may be in-line text comments or external documentation.

      And there's the rub I think: the real copyrightable part is actually the *documentation*

      If Google had stripped out all the comments, and referred the user to Sun/Oracle's own documentation of the Java language and APIs, would they be in the clear?

      1. Anarres

        Re: Author is Dead Wrong

        "And there's the rub I think: the real copyrightable part is actually the *documentation*

        If Google had stripped out all the comments, and referred the user to Sun/Oracle's own documentation of the Java language and APIs, would they be in the clear?"

        Google didn't copy comments. Nothing else than the names themselves from the API is the remaining issue in this trial.

    2. Dan 55 Silver badge

      Re: Author is Dead Wrong

      Additionally, if the argument put forward in the article is to hold, then Oracle can also be sued by Nokia Bell Labs for copying C/C++-like commands and stdlib calls and syntax. I think most people would agree that this argument is unsustainable... every advance in programming languages is built upon the previous generation*, whether the lawyers like it or not.

      Computer programming has a nomenclature, how many ways of saying printf and re-arranging the arguments do you a) want or b) even need? That crap just isn't necessary, increases learning time, and just detracts from the advances made in the rest of the language. Not allowing the use of this nomenclature means that language development comes to a screeching halt.

      * Okay, so whether Java is an advance on C++ is extremely debatable, but it came later.

      1. Andrew Orlowski (Written by Reg staff)

        Re: Re: Author is Dead Wrong

        " if the argument put forward in the article is to hold, then Oracle can also be sued by Nokia Bell Labs for copying C/C++-like commands and stdlib calls and syntax."

        No.

        This is one of the biggest myths about the case. Just because something falls under copyright, doesn't mean you can be used in to assert infringement. Words are copyrightable. We can't go after people for copyright infringement for using "Itanic" or "cloudobile". You can't defend a word.

        What SCO did was what you said: try to use copyright to close down use of APIs, and failed. SCO failed instantly and spectacularly. The law hasn't changed, so why do you think anyone else is going to have a go?

        1. GrumpenKraut Silver badge
          Joke

          Re: Author is Dead Wrong

          > SCO failed instantly and spectacularly.

          ... for a spectacular definition of "instantly".

        2. Dan 55 Silver badge

          Re: Author is Dead Wrong

          We can't go after people for copyright infringement for using "Itanic" or "cloudobile". You can't defend a word.

          You can if you trademark them or argue that they're slander, libel, or similar. We have a super-injunction that revolves around two first-names and two last-names. Words are very defendable.

          But that's by-the-by. Oracle have argued time and again that the names of the commands and the way they work are something which is copyrightable - inputs, outputs, errors, and so on are all copyrightable (see "Creativity" and "Substantiality" sections on their slides that accompanied their closing argument). Yet Java's C-based commands work in exactly the same way as they do in C.

          PHP also uses copies of C commands. What damage is done to C by PHP using them? None, because the languages have different use cases and different strengths and weaknesses (in PHP's case, mostly weaknesses).

          Should Nokia sue the PHP Group and Oracle? No, because it'd be absurd.

          Let's have a car-based analogy. Every dashboard and steering-wheel set-up is copyrightable. Car makers would sue each other over the basic layout, people would have to learn it all over again if they changed cars because they wanted an off-road one from another manufacturer instead of the city one they've got now, and it would be something that would not further advancement in cars at all.

          This case is Oracle throwing crap at a fan and seeing what sticks. All of this part of the case should be dropped because it goes against how the programming world works and has the potential to wreck advancement in computing for years. Everything could be sued all the way back to punched card.

          1. h4rm0ny

            Re: Author is Dead Wrong

            >>>>We can't go after people for copyright infringement for using "Itanic" or "cloudobile". You can't defend a word.

            >>You can if you trademark them or argue that they're slander, libel, or similar

            I've bolded the relevant words in the comment you were responding to for edification.

        3. PassiveSmoking

          Re: Author is Dead Wrong

          "Just because something falls under copyright, doesn't mean you can be used in to assert infringement"

          Isn't that EXACTLY what Oracle were trying to do? Waah, Google copied our headers! They've made billions out of Android! Therefore they owe us billions!

          The logic of that literally escapes me.

    3. DavCrav Silver badge

      Re: Author is Dead Wrong

      "I have studied this case for hours--you watch, Google will prevail on this one."

      Sorry, I just had to laugh at this one. You have basically said "I read websites about a topic all afternoon, so I know what I'm talking about."

      I occasionally get e-mails from people who do that sort of thing, telling me about the true value of pi, not the 3.14159... that the mainstream media tell you about.

      1. DougS Silver badge

        @DavCrav - true value of pi

        Damn mainstream media, with their irrational bias towards irrational numbers!

    4. This post has been deleted by its author

    5. energystar
      Paris Hilton

      Re: Author is Dead Wrong

      "...Moral of story: don't make your product open and ubiquitous and then claim..."

      Curious, your Moral. No additional comments.

  7. energystar
    Angel

    EnergyStar Seal of Approval, Andrew Orlowski.

    1. energystar
      Angel

      P.D. Expecting a CHANGE OF CONDUCT on everybody indolently grabbing FOSS code. [At least take the reimplementing work, that's a proof of concept contribution].

      Not an Oracle apologist, neither Lawyer. To me sounds A LOT OF MONEY ASKED. If Law endorsed, compensations shouldn't be such as to damage Google.

      Things could well start by immediate reestablishment of a temperated licensing fee. Damages to be long term negotiated, and subject to audit-able, true co-developing [being Google the biggest global licensee].

  8. Steve Davies 3 Silver badge
    Thumb Down

    Well said!

    Herr Mueller had to admit that he was paid by Microsoft to 'do stuff'.

    This was covered on Groklaw in gory detail.

    My first question to Mr 'Foss Patents' would be...

    Ok, Florian who is paying you at the moment?

    IF he does not answer then you can infer whatever you like.

    As for me? Where's that 40,000ft barge pole.

    Same on you El Reg for posting this diatribe unchallenged.

    1. diodesign (Written by Reg staff) Silver badge

      Re: Well said!

      "Same [sic] on you El Reg for posting this diatribe unchallenged."

      Er, it's our Andrew's view of the situation. You're welcome to agree or disagree with it.

      C.

      1. DougS Silver badge

        Re: Well said!

        No Reg reader should be surprised by the tone of Andrew's articles. I've learned to check the author before reading an article here to set appropriate defaults for my bullshit meter, outrage detector, spin gauge and vendor spiel de-regurgitator. Even if I hadn't read the title, once I knew he wrote it I knew it would be a full throated defense of Oracle.

      2. Dan 55 Silver badge

        Re: Well said!

        For small values of disagree.

  9. Anonymous Coward
    Anonymous Coward

    According to Mr. Orlowski

    If I write a PowerShell script using VMware published API this means I'm infringing their IP unless I'm creating a new interface that does not use their "structure and organization" (got to love Oracle's lawyers on this!). Who could have possibly thought that!

    1. DainB Bronze badge

      Re: According to Mr. Orlowski

      How exactly hard it is for you to grasp difference between using and reimplementing API ?

      1. rh587 Silver badge

        Re: According to Mr. Orlowski

        How exactly hard it is for you to grasp difference between using and reimplementing API ?

        Exactly this.

        I like to think of this in actual book terms.

        There is literally nothing stopping you from use the line "Harry stood on the platform at King's Cross" in a book, or writing a story about a boy wizard, or even writing a story about a student at a Scottish wizarding school who has to face a dark wizard.

        But if you lift text directly from a Harry Potter book, then you're in for a bad time. Individual words, elements or lines are not copyrighted. The work as a whole however is.

        A re-write or re-implementation of code is one thing. Copy-pasta including errata is quite another.

        1. energystar
          Angel

          Re: According to Mr. Orlowski

          "...including errata..."

          :D

          Remember that rumor about lots of missed, undeleted BSD references, on Windows, at that first Gov Request for Audit.

      2. wikkity

        Re: grasp difference between using and reimplementing API ?

        There is obviously a difference, but there have been many implementations of the Java API and android was based on one of them, Harmony. The only time licensing has ever been an issue with anyone but Google was when someone released an implementation and using the Java name without passing Suns/Oracles Java TCK (Technology Compatibility Kit) process.

        Microsoft fell foul of this when they shipped their own non compliant Java branded runtime. Android's only Java aspect is the programming language. Where are the lawsuits against GCJ, IcedTea or even Harmony.

        It has been mentioned elsewhere on here Sun encouraged Java to be re-implemented which involves implementing the API. In a sane world where law makes sense the only potential issue would be around copying code that actually implements the API. If you go through the code that Oracle brought to the table in the first round of this, it were demonstrated to be test code inadvertently committed by a sub contractor or just so trivial that even the Judge stated that is the only sensible it could have been written (rangeCheck).

      3. Mellipop

        Re: According to Mr. Orlowski

        Here here, in this case Mr. Orlowski is like the law...

        Software can be implemented both sides of an API. The Free Software Foundation will certainly be on Google's side on this case. The GPL or copyleft is there to prevent large corporations from hiding software with proprietary lock-in. Which is what Oracle hoped to do.

    2. Steve Davies 3 Silver badge

      Re: According to Mr. Orlowski

      Perhaps the passing of time has clouded peoples memories.

      If you cast your mind back to the SCO vs IBM case, a lot of it centred around the alledged copying of 'errno.h'.

      The Judge ruled that this file was generic (or words that I can't remember) and did not violate copyright.

      errno.h is a standard file in every Unix and Linux distro. It has been there for decades.

      To use the definitions contained in that file is not a violation of copyright (well, the SCO Lawyers still seem to think so after 13+ years) so I'd go with the jury on the use of a published API but not the code behind it.

      IMHO, it is ok to take a published API and reverse engineer what it behind it. As long as you don't peek at the original sources then you are ok. This is how the various 'clean-room' Java JVM's got developed.

      If my recollection of the SCO events is wrong then sorry. The gory details are available of www.groklaw.net.

      Where are you PJ, just when we need your dissecttion of the Oracle and Google Lawyers statements and truths and definite untruths?

      1. Andrew Orlowski (Written by Reg staff)

        Re: Re: According to Mr. Orlowski

        I'm glad you raised the SCO story, because people should remember what happened. The SCO story fundamentally undermines the argument that the "copyrightability of APIs" will have any new chilling effect on software. SCO tried it and was blown up.

        You say you want more truth and less misinformation, but then start going on about clean rooms and I'm not sure why. Patents were not part of the 2016 case. Google didn't even attempt to mount a clean room defense, because Rubin knew exactly what Google was doing:

        "My reasoning is that either a) we'll partner with Sun as contemplated in our recent discussions or b) we'll take a license. I think a clean-room implementation is unlikely because of the teams prior knowledge."

        - Andy Rubin.

        Like I explained, you don't need to copy someone's copyrighted work, you can create your own. Or use something else. But if you do copy a copyrighted work, you need a license. Google decided to copy but not get a license, and has bluffed its way along ever since.

        1. Fibbles

          Re: According to Mr. Orlowski

          Even if Google clean-room reimplemented the API rather than copying and pasting it, it would look pretty much the same. The header files would have the same names, the function prototypes would have the same names, accept the same arguments and return the same value types. The differences would mostly be in indentation and declaration order. A copyright claim based on indentation is fucking ridiculous.

          IMO Oracle would only have a leg to stand in if they said Google wholesale copied their comments/documentation but that doesn't seem to be the case.

          1. energystar
            Holmes

            Re: According to Mr. Orlowski

            This is a very well done data exchange format specification. No, they don't look pretty much the same, when reimplemented:

            http://json.org/

        2. energystar
          Childcatcher

          Re: According to Mr. Orlowski

          "because of the teams prior knowledge."

          This last one could go on Google favor: What kind of prior knowledge?

          IF that knowledge not beyond Publicly Exposed SUN Knowledge [Code Included] THEN Those Were Clean Teams of Coders.

          If those Teams where exposed to significant, competitive-advantage-to-non-licensee, privileged, Insider Knowledge then a License obligated.

        3. Indolent Wretch

          Re: According to Mr. Orlowski

          So did the boss of Sun who in an official company blog (logged with the SEC despite Oracles lawyers denying it in court) spoke about how happy he was that Google were doing what they were doing. With complete knowledge.

    3. Anonymous Coward
      Anonymous Coward

      Re: According to Mr. Orlowski

      Wrong.

      If you write a power shell script that interfaces to VMWare's software, then you are only able to do because VMWare have licensed you to use their library code. You're not creating a new interface, you're making use of an existing interface, and you're not altering that interface or the code that lies behind it.

      What Google did was to reimplement the interface, copying 11,000 lines of the code that defined it verbatim without a license to do so. The courts have settled on them being guilty of doing that.

      Now Google are trying to establish that they had a "fair-use" right to do so.

      1. DavCrav Silver badge

        Re: According to Mr. Orlowski

        "What Google did was to reimplement the interface, copying 11,000 lines of the code that defined it verbatim without a license to do so. The courts have settled on them being guilty of doing that.

        Now Google are trying to establish that they had a "fair-use" right to do so."

        One should wonder, if copying 11000 lines of code, so about 200 pages of copyrighted material, is considered fair use, what would be considered unfair use.

      2. oldcoder

        Re: According to Mr. Orlowski

        Wrong.

        Google used 11,000 lines of THEIR code to IMPLEMENT the API.

        It wasn't Oracles in the first place.

      3. Indolent Wretch

        Re: According to Mr. Orlowski

        But here's the question.

        Since those 11K lines of code are what define the interface and the way it interacts.

        That means it's impossible to reimplement the interface without "copying" (it wasn't a copy and much of it was made by machine but blah blah) those 11K lines of code.

        So Oracle are saying nobody can write something that is interoperable with our stuff.

        Nobody can write a drop in replacement for our stuff.

        Nobody can compete with our stuff this way, any competitor has to be completely different.

        As people have pointed out, Lotus v Borland was supposed to have sorted this years ago.

        Being able to copyright 'headers' (instructions) is a terrible thing and I say this as a developer horrified by the way this case is going and by the idiots higher up throwing out Judge Alsups perfectly sensible and tech savvy original judgement.

        You may as well use copyright to stop a guy from writing a blog piece that explains what the buttons do on a SKY remote.

    4. Anonymous Coward
      Anonymous Coward

      Re: According to Mr. Orlowski

      "If I write a PowerShell script using VMware published API" well no, as you didn't implement the API, you interfaced with it. If you had wrote a new version of esxi or vcenter etc, that was compatible with all of their API's so that your software can be a drop in replacement then they are saying you infringed.

      Not saying I agree, but the powershell example is incorrect. API shouldn't be copyrighted it removes competition and compatibility.

      Code should be, you shouldn't be able to copy and paste the implementation of those API's

      If API's are to be copyrightable then there should be a clause that states every company must provide access and licensing to their API's with the licensing costs and terms being set by an external body at a standard fee.

      1. Ken Hagan Gold badge

        Re: According to Mr. Orlowski

        "you didn't implement the API, you interfaced with it"

        I see where you are going, but even this is a grey area. An interface is a contract between two pieces of code and both have an equal obligation to conform to the contract. I'm sure VMware have a number of utilities that use their API. In fact, you might well find that for some parts of the API, far more of VMware's product offering was a client of that part rather than the implementation. If you were to write your own version of those utilties and offer them as drop-in replacements for those parts of the product, VMware might be miffed.

        For larger APIs, there are frequently callbacks, where the client becomes the implementation and the implementation becomes the client. The device drivers in the average OS are split about 50:50 in terms of how they use and how much they implement.

    5. Charlie Clark Silver badge

      Re: According to Mr. Orlowski

      Well, SAP tends to think you do, But then again, between them SAP and Oracle have pretty much carved up the enterprise software market between them. Did anyone mention cartel?

    6. Anonymous Coward
      Anonymous Coward

      Re: According to Mr. Orlowski

      Guess you should rad your VMWare license, but it looks people never read licenses...

    7. energystar
      Windows

      Re: According to Mr. Orlowski

      It's not Up to Oracle to decide what's an API.

    8. energystar
      Headmaster

      Re: According to Mr. Orlowski

      Not Up to Mr. Orlowski to Pontiffy API definition. THAT doesn't END the case.

  10. Paul Crawford Silver badge

    Multiple points

    This article is no better then some other anti-Oracle as it confuses, deliberately or otherwise, multiple facets of the case:

    1) Are API's under copyright?

    2) Is reimplementing an API "fair use" of copyright?

    3) Did Google reimplement the API or simply copy Sun Microsystems Oracle's code?

    The first 2 are much the same to the lay-person. In the previous trial the judge had some computer knowledge and ruled, quite reasonably, that blocking API re-use is against the whole of software inter-compatibility and so not the intended outcome. The currently finished trial said no, APIs are under copyright by the legal definition of this, so the trial was on point 2, and it ruled re-implementation is "fair use".

    The last point has not adequately been investigated as Oracle went after the API question, and in many cases something like an in-line function has only one sane way to do it so a clean-room implementation will look very much like a copy.

    Having said all this, AO's article has a fair point that GPL and free software needs strong IP laws, but they certainly don't need API protection as that would stop interoperability and shore up the entranced position of propitiatory suppliers against ANY competition.

    1. Andrew Orlowski (Written by Reg staff)

      Re: Multiple points

      Thanks for the comment Paul, but just to clarify the history:

      "In the previous trial the judge had some computer knowledge and ruled, quite reasonably, that blocking API re-use is against the whole of software inter-compatibility and so not the intended outcome."

      It's the same Judge in both the 2012 and the 2016 trials.

      The Judge's interoperability argument in 2012 was subsequently shot down on appeal in 2013/2014. They appellate hearing ruled that interop is irrelevant. (There are other laws with which you can go after interoperability, and the EU did just that in EU vs MS. But you can't use interoperability as a get-out-of-jail-free card when you've been copying without a license.)

      "The currently finished trial said no, APIs are under copyright by the legal definition of this, so the trial was on point 2, and it ruled re-implementation is "fair use".

      It was the 2013/14 appeal that confirmed that APIs are under copyright. Which doesn't mean APIs are very "defend-able". Look what happened when SCO tried it.

      The clean room discussion applies to patent, not copyright cases.

      1. Anonymous Coward
        Anonymous Coward

        Re: Multiple points

        "The clean room discussion applies to patent, not copyright cases."

        Clean room actually applies more to copyright than to patent since patent can protect the end in broad, regardless of the means (no matter how else it's made, no one else can legally make a new patented widget except you and your designees). Copyright only protect a specific means to an end. That's why Compaq was able to defeat IBM when it developed its clone BIOS (which was a case of copyright infringement; if it had been patent infringement, Compaq would not have been safe); Compaq clean-roomed the IBM BIOS.

    2. Charlie Clark Silver badge

      Re: Multiple points

      Having said all this, AO's article has a fair point that GPL and free software needs strong IP laws

      Agree with you on the rest but not on this. The GPL is becoming less and less relevant because the FSF is fighting yesterday's battles.

      Open source software is about co-operation not copyright.

      1. oldcoder

        Re: Multiple points

        Open source software is also about NOT HAVING IT STOLEN.

        Without proper copyright, someone can take the open source code the SUE you for your own code (as in trade secrets violations).

        1. Charles 9 Silver badge

          Re: Multiple points

          Trade secrets violations are a separate matter from copyright. A trade secret violation can invalidate a copyright because the original work that got stolen would carry an implicit copyright under the law. If this can be proven. the thief gets a double-whammy: trade secret AND copyright infringement.

        2. Charlie Clark Silver badge

          Re: Multiple points

          Open source software is also about NOT HAVING IT STOLEN.

          No it isn't: ideas don't get stolen, they get shared.

          1. energystar
            Linux

            Re: Multiple points

            Ideas are shared, code not. Please re-implement.

          2. energystar
            Angel

            Re: Multiple points

            If GPL you can take it. It's Yours. Carry away. We share it with You :)

            But... You know what? Anything you build, or make with it you have to give away, also.

            GPL is the Champion. Reserve it for the Highest Ideals, the Biggest Battles.

            1. Anonymous Coward
              Anonymous Coward

              Re: Multiple points

              > If GPL you can take it. It's Yours. Carry away. We share it with You :)

              It's not "yours" by any sane definition of ownership. You have a clearly defined, but very restricted, set of rights under GPL as to what you can do with it; much more restrictive than the BSD licence for example.

              > But... You know what? Anything you build, or make with it you have to give away, also.

              Not true. Anything you build or modify for your own use, you don't have to share. (Affero GPL excepted)

              If you want to *distribute* products derived from or combined with GPL code, that's where the restrictions kick in.

    3. DavCrav Silver badge

      Re: Multiple points

      "The first 2 are much the same to the lay-person. In the previous trial the judge had some computer knowledge and ruled, quite reasonably, that blocking API re-use is against the whole of software inter-compatibility and so not the intended outcome. The currently finished trial said no, APIs are under copyright by the legal definition of this, so the trial was on point 2, and it ruled re-implementation is "fair use"."

      Maybe I'm confused here, but you can use APIs you have a licence to, you can reimplement them in a clean room if you want, but you cannot just copy them word for word. Much the same as I can republish a newspaper article with their permission, write another article based on their news, but not copy their article word for word.

      Maybe I've missed something.

      1. Paul Crawford Silver badge

        Re: @DavCrav

        In my mind an API would be the sort of thing declared in a header, say:

        FILE *fopen(const char *path, const char *mode);

        You have to more or less copy that word-for-word or your end application won't build. However, the code behind this that actually implements the fopen() behaviour ought to be the point of any copyright dispute. Did I write the code to do exactly the same logic (which may look like a copy if simple, but probably not if complex), or did I lift the glibc or MSDN examples and call it my own. In the former case I should be free to offer my version and not be legally slapped down for the copied name (i.e. "fair use") but if I just copied another's code then fair cop if I get fined for it.

  11. Christian Berger Silver badge

    That's not what free software is about

    Free Software, no matter what license, also means that your APIs are simple enough so they can be re-implemented easily. It's the kind of competition which used to make the unixoid world so good. And yes, Free Software has been reimplemented by commercial vendors multiple times. It's a good thing.

    What the author is doing here is just repeating what Oracle claims. Oracle is, as we all know, not really a proponent of Free Software.

    1. Andrew Orlowski (Written by Reg staff)

      Re: That's not what free software is about

      This is why I emphasised the need to think from first principles:

      "What the author is doing here is just repeating what Oracle claims. Oracle is, as we all know, not really a proponent of Free Software"

      So it follows that you can discount the validity of any and all statements based on the speaker's political views. Turn off your critical faculties and discount every argument Oracle makes.

      Not all of Oracle's claims are supportable, particularly the claim made at Arse that last week's trial sets a legal precedent. It doesn't at all.

      But you're taking a position of convenience, in which you avoid the tough issues raised by the case. Are rip-offs OK sometimes? What if your open source code has been swallowed a giant corporation, like Oracle, which incorporates your code and shouts "Fair Use!" in your face. Fighting them on a tort is much harder than fighting them on copyright infringement grounds. There is a risk of a genuine chilling effect here.

      1. Doctor Syntax Silver badge

        Re: That's not what free software is about

        "Not all of Oracle's claims are supportable, particularly the claim made at Arse that last week's trial sets a legal precedent. It doesn't at all."

        Quite right, it doesn't. The existing precedent is that of the appeal against the decision of the existing jury. That flew in the face of the development world's custom and practice in regard to APIs. That was a dangerous precedent which why just about everyone else in that world outside the Oracle camp is concerned about this.

        What happens to this appeal - does it go to the same court as the previous appeal? If not is there a chance that the appeal might take another look at the whole case and reinstate the original jury's verdict?

      2. Christian Berger Silver badge

        Re: That's not what free software is about

        Well I'm an expert at being wrong, I've been wrong many times before. :)

        The error with this is that "copyright enforcement" is not an essential point for Free Software. In fact BSD licenses even manage fine without strong copyright enforcement. If you look further you find more and more public github projects which don't even have a license.

        In fact you can easily argue that Oracle winning could have been just the opposite. Essentially it would have made a Free version of Java impossible. It would have put the Samba project into huge trouble. Essentially every project re-creating any sort of API would have potentially become illegal.

    2. John Lilburne

      Re: That's not what free software is about

      Reimplemented is not the same as copied wholesale, bugs and all.

  12. a_yank_lurker Silver badge

    Author = Idiot or worse

    APIs are interfaces to the code not the actual code. The code is the part that often requires original thinking. But there are numerous common problems that can use essentially identical logic. So code written in one language might have strong similarities to code written in another language; if not almost be identical.

    The basis of FOSS is some sort of permissive copyright license that grants to anyone the right to obtain and modify the source code for any reason. The modified code can also be released by the modifier (check the license for any specific attribution/licensing requirements). Oracle v Google has little or no impact on the basic premise behind FOSS licensing; source code should be shared. The idiot did not bother to understand the basic tenet behind FOSS and the resultant licensing that grants users very broad rights to the source code by the copyright owner up front.

    1. Andrew Orlowski (Written by Reg staff)

      Re: Author = Idiot or worse

      Actually, as a former developer, I understand it fairly well. You either don't understand or misrepresent the most basic stuff: why FOSS works, and what copyright covers.

      The law treats code as as an original expression covered by copyright, and the design and arrangement of the interfaces indivisible from that. You use "permissive" to describe "copyleft" as if they're interchangeable; they are very specific technical terms in this context.

      I am sympathetic to taking code out of copyright altogether and giving it a sui generis IP right, but that's not going to happen any time soon, and is a whole other discussion.

      1. Mellipop

        Re: Author = Idiot or worse

        You don't sound like a developer.

        Look at the comments here, count them. How many are supporting your premise; that Oracle must win to protect the Open Source movement?

        Remind me who wanted to control the future development of Open Office? Or MySQL?

        Google open source their code.

  13. Smedley54

    He almost had me. Google cribbed Java's design but wrote their own code. It would have been better for everyone but the lawyers if Google had struck a licensing deal with Sun or Oracle, but unless I missed something this looks like fair use.

    1. Charlie Clark Silver badge

      It is fair use. And a court just ruled it so after an exhaustive case. Oracle has the right to appeal but it's an uphill battle. And long term Oracle loses anyway because Android is moving away from Java.

    2. THUFIR HAWAT
      Linux

      Why would it be fair use? Is it transformative? Is it for academic use? Is it even interoperable?

    3. Doctor Syntax Silver badge

      "It would have been better for everyone but the lawyers if Google had struck a licensing deal with Sun or Oracle"

      IIRC they tried to but Sun/Oracle wouldn't licence the particular subset. They'd licence something that was too small or too big to fit in the memory that Google wanted. So Google implemented their own chosen subset. In hindsight maybe they should have changed a lot of the identifiers* to produce an incompatible library. The resulting split in the Java development library might not have been to Oracle's liking, but then, why should Google care?

      * There's a limit as to how much you can do that. If everyone else uses max(), for instance, and has done long before the Java API used it, then why use something different.

  14. tiggity Silver badge

    A lot of coders who have had to implement APIs will disagree with the thrust of this artiicle

    You have to be able to do your own implementations of public APIs - that's what APIs are for

    Longer ago than I care to remember I wrote an ODBC driver for a database (not naming it here as it was commercial work not FOSS) to fit with MS ODBC API as some customers wanted Windows ODBC access to the db to use some third party tools (coded against ODBC 2.0 should give an idea how long ago)

    So I implemented the ODBC API for teh database we sold, writing the code behind each API call (non trivial) - that's the whole point of an API - a "standard interface" that companies can wrap around their software / hardware (as appropriate) to allow inter interoperability & there were zero copyright issues involved.

    So long as Google did their own API implementations (and did not just copy & paste Oracle code that *implemented* the API) then should be no issues

  15. Adam 1

    I see this as a bit of a pox on both their houses. Oracle has every right to assert ownership of the *implementation* of the methods that they write and choose to licence it however they wish. I agree with the author on that point; that it equally protects copyleft code. But they cannot copyright the API itself, that is, Google can use the interfaces, structures, data classes, method signatures necessary to deliver the functionality specified by the API but must write their own implementation of those or licence it appropriately.

    Oracle are being a bit tricky by omission. If they were being honest about it they would asset Google's right to the interface "code" and reiterate that their complaint is about the implementation code only. But I suspect that would drop the lines of code violation quite handsomely if they don't count those. If I was in oracle's line of business with some other global 3 letter megacorp that could claim ownership on a rather significant API and would therefore be making that distinction at every opportunity.

    Google are being tricky here by pretending that some of the items weren't copied. Notwithstanding that for trivial methods, the same code can quite easily be independently written and that with the advent of refactoring tools that just renaming variables to make it look different might only take a few seconds, it certainly looks suspicious to me.

    Oracle are also asking for what seems to me to be a non proportionate share of revenue here. I work with two pieces of business software weighing in at give or take 3 million+ and 500 thousand+ LOC, and that is nowhere near the complexity of a modern operating system. It's got me thinking about the status of snippets provided on stack overflow too. I can well imagine a number of methods that are heavily inspired by answers in similar forums. 11 thousand, whilst significant, is likely to include many fair use elements and even o methods that Oracle may find that someone else invented.

    1. DougS Silver badge

      Oracle asking for "non proportionate share of revenue"

      IIRC, Oracle is asking for about 30% of the revenue. That's what Google and Apple charge developers to sell their apps from their respective app stores, so that's probably a reasonable starting point. I don't think Oracle expects that they'd actually get awarded the full amount, but in any negotiation (and that's what damages in a trial ultimately come down to in some form or another) you start high the other guy starts low and you eventually meet somewhere in between.

      I get what you're saying about the 11,000 lines, but if the judge rules against them, they will be guilty of IP theft. Oracle would be well within their rights to ask the judge to order them to stop using their property immediately, meaning a stoppage of sales of Android phones until they could fix the problem - which might make those "Android v2" phones incompatible with existing apps meaning devs would have to rebuild/resubmit their apps. The threat of that makes those 11,000 lines more valuable than simple math dividing 11,000 lines versus however many you care to put in the denominator.

      If some aerodynamics guru found that making a few simple changes to the design of the wing and fuselage of a plane saved 4% of its fuel, and these changes amounted to gluing a few bits of plastic in the right places, you could argue "well these are only .0001% of the mass and volume of the plane, and cost only a few hundred bucks to have a 3D printer churn out" but the inventor of that would say that the value was in knowing what the form of those plastic bits and where to place them, not the their contribution to the total weight/volume/price of the plane, and is better reflected in airlines paying millions more per plane to get one that is 4% more efficient.

      So the real question isn't how many lines of code are involved, but their contribution to Android's success. Was the fact that Android used something that is basically Java, instead of C++ or something weird like Google Go important to its success? I'd argue that at least at first it certainly was, since most CS students worldwide had learned Java over the decade previous to Android's release, it helped jump start its app economy and contributed to its success. If Android used something else, fewer people would have been able to easily write apps, and it may have had a harder time getting apps in those crucial early days. Who knows, maybe Windows Phone would have got enough extra momentum to reach viability and today be a third competitor with double digit market share. Had that happened, Google would have collected billions less in Android revenue.

      1. Adam 1

        Re: Oracle asking for "non proportionate share of revenue"

        The fact that it "used something that is basically Java" needs to be broken down a bit because that indeed contributed to the success. The important part of the "basically Java" from a skill transfer perspective is that the API is the same. For example, if you are looking at the String class, a newcomer won't care whether the substring method is the same or different internally, just that the method name, overloads, parameter names and types are the same. It's this API that would have fair use defence, so by that argument, the popularity is based on something that'd qualify for fair use.

        Google play is a red herring. You don't have to pay Google anything to sell an android app unless you want them to host it in play. You can alternatively side load it or push it via other android stores by the likes of Amazon, Samsung. It is a hosting, supposed vetting, indexing and processing fee, not a licence fee.

        1. Anonymous Coward
          Anonymous Coward

          Re: Oracle asking for "non proportionate share of revenue"

          Sure, you can use alternate app stores, but the more people hear about malware the more they are cautioned to only download from Google Play. Would you advise a non-techie friend or relative that it was OK to download from other sources? I certainly wouldn't...not that Google Play is safe from malmare but going outside that is just asking for trouble unless you really know what you're doing or are aware of the risks and prepared to accept them.

  16. GrumpenKraut Silver badge
    Unhappy

    Smaba et al.

    To me it seems that copyrightable/patentable API could be a grave danger to FOSS.

    Samba, Wine, any emulator for old computers or operating systems, what else?

  17. MacroRodent Silver badge

    Chancing rules in favour of incumbents

    It is amusing to see claims that weakening the copyright protection of APIs is bad for free software, because if APIs had been considered copyright protected back in the 1980's, there would not be any free software implementations of operating systems. Free software started by building tools (like Emacs and GCC) running on proprietary Unix versions, and only later replaced also the operating system part with a mostly compatible implementation. In the case of BSD:s, only part of the system needed replacement, but there we had an ugly lawsuit until AT&T was forced to agree very little of the original Unix implementation remained in BSD.

    Had the Unix API been considered copyrightable back then, neither Linux nor FreeBSD could exist in the present form. Probably not at all, because they would have had to implement an API that is totally different from any other OS else, and would therefore have started with a nonexistent set of applications.

    Many have pointed out that Oracle's flagship product actually implements an API originally by IBM (the SQL language for issuing commands to the database). Strong API protection might have meant Oracle also would not have started. Similarly, Microsoft's first product was re-implementing DEC's flavour of the BASIC language, which arguably includes an API, I'm pretty sure they did not license it. (At the time it was actually still unclear if even code could be copyrighted - Bill Gates famously wrote an open letter pleading microcomputer to not copy his BASIC). Now that Oracle and Microsoft are established companies, they want to block the same routes they used to get started. Understandable in a way, but not something we should encourage.

    The field of software already has serious a lock-in problem, which makes it hard for users with an investment in some existing platform to switch vendors and promotes monopolies. Strong protection of interfaces will make it even worse. So I fervently hope Google wins. It should also be remembered the same judgment can be used against Google, if someone wants to make a competing product that re-implements the Android API, and Google sues. If that happens, I for one will certainly root for Google's opponent!

    1. grahambb

      Re: Chancing rules in favour of incumbents

      " because if APIs had been considered copyright protected back in the 1980's, "

      They were....

      "Had the Unix API been considered copyrightable back then..."

      They were. They still are.

    2. Alan Brown Silver badge

      Re: Chancing rules in favour of incumbents

      "Similarly, Microsoft's first product was re-implementing DEC's flavour of the BASIC language,"

      Actually the first product was a traffic tabulator.

      The Altair BASIC in question was created on stolen computer resources (MS BASIC was developed on a PDP-10 belonging to Harvard university without the authorisation required for commercial activities) and without reference to Dartmouth's copyright on the language (If Dartmouth had ever asserted copyright on BASIC it may never have become ubiquitous)

      The "Open Letter" led to the production and distribution of TinyBASIC

  18. Anonymous Coward
    Holmes

    Google's use of Java APIs was fair use

    May 26 2016 "A jury unanimously and correctly found today that Google's use of 37 Java package names and some 11,000 lines of "declaring code" in its Android operating system was lawful fair use"

  19. davenewman

    Google won, why should Oracle carry on?

    In the latest court case, a jury decided that Google's use of the Java API was fair use.

    Unless Oracle appeals, that is the current situation. Any speculation on what might happen in further appeals is just that, speculation.

  20. Doctor Syntax Silver badge

    The original case, AFAICR had a number of amicus briefs on behalf of the argument that an API should not be regarded as copyright. That is because any piece of software using a library needs to incorporate at least some of the declarations contained in the API so that the constants, variables and methods used in the API can be referred to in the code.* If the API is copyright then nobody can write code against it without being granted a licence to do so. It would be a major impediment to software development. Software development custom has been to regard the API as being outside the scope of the copyright on the implementing code.

    The original instruction to the jury by the judge - who appears to be not in the least confused - was to this effect and the jury so found. The problem arose because the appeal overturned this and, IIRC, SCOTUS refused to hear an appeal against that. This left a very serious situation for software developers - they would routinely have to infringe copyright simply to do their jobs.

    The present decision is nothing more than damage limitation by making use of the API fair use. It's not ideal. If this is overturned then everyone's in trouble. The best that can then come out of it is that Oracle will find themselves in as much trouble as anyone else. If APIs are covered by copyright and use is subject to licence than that extends to the APIs on all GPLed code Oracle use. Oracle would then need to abide by the GPL and provide, under GPL, the source to any currently proprietory code which calls GPLed code. The penalty for not doing so would be revocation of the licence to use that GPLed code.

    This is in danger of turning into an intractable mess if Oracle do win at appeal and SCOTUS don't overturn it. The best that can be said about it is that it would be restricted to the US (unless some other court accepts the US court decision as a precedent). It means software development there would become very difficult. It would also mean that it would become difficult to supply software developed outside the danger zone into the US; restricting the software market to the rest of the world. At some point the US would have to introduce legislation to overturn it. Ideally the Berne convention needs an addendum to clarify the situation.

    There is, of course, the possibility that an appeal would review the entire case, overturn the previous appeal and reinstate the original jury's finding of fact. That would be by far the best outcome.

    *Not universally true. Languages which allow identifiers to be used without prior declaration don't need it. Anyone who's made much use of such languages will almost certainly recall the bugs they created by simply mistyping a variable name.

    1. energystar
      Childcatcher

      " The best that can then come out of it is that Oracle will find themselves in as much trouble as anyone else. If APIs are covered by copyright and use is subject to licence than that extends to the APIs on all GPLed code Oracle use. Oracle would then need to abide by the GPL and provide, under GPL, the source to any currently proprietory code which calls GPLed code. The penalty for not doing so would be revocation of the licence to use that GPLed code."

      :D

      Any non GLP compliant Interface should be privative. Internal Use. Back Flush S#!t happens. Just wait and see.

      Rest my case, by now. On Doctor Syntax Argumentation.

  21. jameshogg

    "In a nutshell, free and open source software depends on simple, strong copyright law."

    "Challenges to the GNU GPL have been infrequent and unsuccessful, not because a judge gets misty-eyed about GNU Emacs or GDB, or breaks into a spontaneous rendition of The Free Software Song – it's because of strong copyright."

    And this is why a copyright abolitionist like myself has to be AGAINST the open-source and GNU movements. And I am.

    Copyright cannot possibly be enforced, and it is not desirable to have it enforced either. Libertarians do not call for a JPEG standard, they call for a gold standard. And for a reason. Plus, no amount of "copyleft" licences would give such JPEG dollars any de facto scarcity if such copyleft licences depend on copyright law themselves.

    I think the last figures I saw on global internet access put about 1 billion people as having connectivity of some kind. There are 7 billion on the planet. You think piracy will get better as access, and Moore's law, continues to increase? You're wrong.

  22. hammarbtyp Silver badge

    11,000 lines? Really?

    I think the problem with this piece is the uncontested 11000 lines of copied code statement. It sounds a lot, but actually makes up only 0.1% of the total Android code base. On this basis, Oracle was claiming 10 Beeelion dollars, which is fairly ridiculous. The other issue is that without knowing what the code lines were it is difficult to assess how critical or applicable to copyright they were. Often there can be only limited ways to write code and examples like the rangecheck were definitely trivial.

    The copyright of API's is definitely a major overreach by Oracle. the ability to re-implement systems but maintain compatibility is a cornerstone of software. One example is what if K&R had managed to copyright printf, would that mean that no one but they could write a printf function? That is a rabbithole that no one in the software industry(apart from Oracle and their lawyer's want to go down)

    The authors statement is that the original and retrial was wrong and the appeal judges were right. However you could equally contend that it was the appeal judges who failed due to a poor understanding of software and how it differs from other copyrightable content such as books, music or film

    1. This post has been deleted by its author

  23. PassiveSmoking

    No.

    You are aware the PC as we know it wouldn't exist if re-implementing an API was illegal, right? Oracle had nobody's interests at heart but Oracle's, and any attempt to try to spin what Oracle are trying to do is a good thing is deluded. If you can't reimplement APIs, then that's the end of Linux, of WINE, of the PC BIOS, and so on.

    1. This post has been deleted by its author

      1. PassiveSmoking

        So basically what the AC is saying is you can only build a drop-in replacement for a system if the maker of the original will allow you to? Well that's great. What if they won't? Or what if they no longer exist? One thing API reimplementation is used for is replacing legacy systems if the original vendor went out of business.

        1. Anonymous Coward
          Anonymous Coward

          If the original maker goes out of business and his IP doesn't get resold, it expires as does the copyright (as copyright by law MUST have an owner). The API becomes public domain at that point. If the IP gets sold, that's a matter between you and the new owner.

  24. localzuk

    Seem to be missing the "fair use" part of it all

    Your entire argument for Oracle's ultimate success is that Google copied code. Which then leads to a fundamental misunderstanding of copyright. Copyright isn't just a "that's mine, you can't use it" tool. It has exceptions, it has nuance. And in this case, that nuance is fair use. That's what the courts are now deciding. There's a reason for what they did. There's a reason why it absolutely is necessary that Google wins this case, and it won't weaken copyright when they do, it'll ensure interoperability of systems continues without issue - FOSS or not.

    Saying "Google stole code" is, quite frankly, irrelevant now.

  25. Anonymous Coward
    Go

    Probably all just a silly misunderstanding...

    I struggle to believe the either Google or Oracle will have acted with any impropriety at all. They are both essentially the English Gentlemen of software companies, even though both found their initial genesis and first flushes of youth in our most well-loved overseas colony. I'm sure if Messrs Ellison and Page could just sit down, with perhaps Her Deeply Righteous Majesty, Queen Elizabeth II, all this could be sorted out over a cup of tea, a corgi and a Knighthood apiece.

  26. nijam

    Can we all stop speculating about what the courts will say when Oracle appeal the decision, and instead just agree that this article boils down to:

    1. I hate Google.

    2. I *really* want them to lose this case (and everything else).

    3. Here are some unsubstantiated arse-about-face assertions to try and persuade you that Google *should* lose this case.

    4. When they lose this case, I will (again) proclaim it to be proof that Google are unremittingly evil in every regard.

    In other words, remarkably similar to almost every other article by Orlowski.

    1. oneeye

      I was just about to write a similar statement. The Author clearly has a hatred /bias of Google. Yesterday he wrote another "I hate Google story" accusing them of not being fair in search ranking for "eureferendum.com " here was my response to tips and corrections:

      "Greetings,

      I can tell you why "eureferendum.com" has sunk in Google Searches, and you should pass it along to the site web master too. First, the site is NOT optimized for mobile, and secondly, it is NOT over Https. These both, google has warned about repeatedly, will not be favored in Searches after the deadlines last year. You all should have been aware of these, and so the whole premise for the article is in error.

      Your welcome," (-:

      Also, the author is impuning the reputations of multitudes of fellow tech journalist accusing them of being shills for Google but then acts as an Oracle shill defending IMHO a corporation that is far more evil than Google. They are being sued by a whistle blower who was fired for not inflating sales figures of certain Cloud products. They are also being sued by the state of Oregon for racketeering.

      The point is, defense of despicable corporation does not help anyone in this case, and the vast majority of those in opposition deserve better from the author.

  27. sammy_mac

    totally wrong 'reasoning,' but I do agree with the conclusion

    A victory for Google would not be a clean one, in the long run. The license terms attached to Java should an inescapable deterrent to widespread acceptance, and Oracle's defeat will delay abandoning Java for a truly open language. Sure, Java has (sadly) become a significant part of our infrastructure, but keeping it is much like the US' refusal to abandon imperial measurement units. Java may have been convenient, and Sun may have encouraged it's treatment as an open language, but the licensing landmines were still there. Anyone looking to develop a new project should be repulsed by the terms associated with .NET, C#, Java, or a similarly license-restricted language. There are plenty of powerful, clean alternatives out there...too many to justify putting a business at risk with a non-GPL option.

  28. Daggerchild Silver badge
    Boffin

    Screw this!

    Actually, as a point of analogy and rampant curiosity, how *did* the dimensions of the common screw get standardised during the Industrial Revolution?

    It allowed competitors to take the external dimensions of someone else's product and reimplement it equivalently so customers didn't need to change anything to be able to use it. There's no way the original manufacturer would have given up a market monopoly willingly, but without it, we'd all have been screwed.

  29. Anonymous Coward
    Anonymous Coward

    APIs vs Copyright

    "He'd instructed the jury to exempt APIs from copyright"

    And damn right he should have. An API isn't code - it is a _public_ definition (The 'I' = 'Interface') of how other people's code should interact with yours, or from an alternate point of view, how your code should present its behaviour to the outside world so that other people can write code which will be able to interact with yours.

    For example, the Win32 API - which filled a 2" thick book I used to own - describes all of the Windows function calls you can make so that you can write a program which runs on top of Windows without having, or needing, any visibility of any of the source code of Windows itself.

    An API definition should be freely usable, and should promote competition between companies or individials to write the best implementation of this definition. If Google wrote their own code to implement Oracle's API then they're not guilty of anything in my view.

    An _implementation_ of an API however is where your intellectual property lies. This is very definitely copyrightable. If Google imported blocks of Oracle's Java API implementation, then they should have been nailed for it. I agree its bad for everyone if thats what Google did and got away with it.

    1. Dave 13
      Boffin

      Re: Screw this!

      Would a victory for Oracle put 3rd party tools like Eclipse that generate Java code and use Java APIs out of business as well? When you create an open ecosystem as Sun did (remember when it was 'free'?) you have to balance adoption rate against monitization and proprietary aspects. Looks like Sun, and thus Oracle tilted too far on the open end to later close it up and cash in.

      1. Daggerchild Silver badge

        Re: Screw this!

        To switch analogy, Oracle sold a generator with a socket, into which people pushed their own plugs. This then brought to life whatever was plugged in. Oracle wrote the specification for the plug. Eclipse manufactures things that have these plugs. Oracle has no objections to people making things that require Oracle products. It has no objection to the plugs Eclipse manufactures.

        But, the specification of the socket and the specification of the plug are the same thing. They declare the dimensions and define the result of interacting with the provided interface. The specification for the plug is 11,000 lines long.

        Google created a device with the same socket, that generates the same results. You could plug the same products into it, and they would work identically, even though it was implemented with totally different technology. Naturally, Oracle lost their shit.

        But, if you are *not* allowed to replicate the connection people have to a provider, then you are not allowed to compete with that provider. You could *only* buy generators from Oracle, you could *only* buy Philips screws from Philips.

        Battles exactly like this will already have been fought in the physical realm, so the principles and the law for this situation should already be clear. This is what I'm curious about. How and when are you allowed to *prevent* your product dimensions being adopted as a standard.

        1. energystar
          Linux

          Re: Screw this!

          Check for 'de facto' standards. You're not allowed to prevent your privative standard to become a 'de facto' of the industry. That's up to the markets.

          Think is that -as a general rule- you win a lot by allowing it to happen. Most are happy of this happening. SUN was. They allowed it to happen. The thing is... They NEVER submitted to any Standard Authority. They expected for people to come and LICENSE: clients, indy devs, developer Houses... Monthly bills to pay, you know.

          Don't confuse here openness and standardization.

          Standards can be -and lots of times are- tremendously unbalanced on the benefit of the issuer. Just check the ISO catalog. Don't default any equivalence of Goodness with Standard-Compliant.

          Openness is a different avenue. Think on what Sushi cuisine did when going to USA. They tackled a natural distrust by fully opening the concept. You can actually see your meal being cut, prepared & served. Smile included.

      2. energystar
        Windows

        Re: Screw this!

        "...Looks like Sun, and thus Oracle tilted too far on the open end to later close it up and cash in..."

        Not the first, least the last. Always, when deciding to walk along Titans, risk to be crushed.

        Go for the small teams, the small projects. Small doesn't mean lesser.

    2. This post has been deleted by its author

      1. sqlrob

        Re: APIs vs Copyright

        Yeah, APIs are nice and trademarked and anyone using them should get hit with major trademark suits.

        Man, IBM will make a fortune off Oracle for SQL.

        1. This post has been deleted by its author

          1. Indolent Wretch

            Re: APIs vs Copyright

            The fact that they shouldn't have to because they aren't using frakking java

      2. Charles 9 Silver badge

        Re: APIs vs Copyright

        A trademark ONLY applies to things that are used to identify you as a business. The Java Coffee Cup, for example, is a trademark. The specific depiction of the word Java and its use in a particular context are trademarks. And API cannot be trademarked because it's not used to identify it. That's a matter of copyright, but in matter of things that necessarily have to be public, Fair Use applies as in that verdict in May.

  30. energystar
    Windows

    One issue not brought to conversation as should is that Google is the giant of Signal Harvesting and Oracle the giant of Data Harvesting.

    By nature, 'un-natural' allies. How will this saga evolve? A still living -associated, or incorporated- SUN wouldn't present this unpalatable scenario.

  31. Fungus Bob Silver badge
    FAIL

    Copied? Fair Use? Not the point.

    1. Google did something involving Java stuff.

    2. The owners of Java (Sun) were OK with this and did not seek damages.

    3. The new owners of Java (Oracle) decide to seek damages where none were sought before. This is called Being Shitty.

    Google, Oracle and Sun are (or were in Sun's case) full of creepy people and assholes doing what they do best but if Being Shitty is upheld by our courts then that means that any agreement (written, verbal, implied) between parties can not just be invalidated by successors in interest but can be used retroactively to bleed the other party dry.

    1. FrankAlphaXII

      Re: Copied? Fair Use? Not the point.

      And the only people who stand to gain from any of it are lawyers. Imagine that.

  32. Tridac

    As a developer, though in the embedded area, I look at this w/regard to the overall process of development. To build a system of code or library, you start with a definition of the required functionality. You then design an interface that satisfies the requirements, then write the underlying code. That happens on a micro level every time we design and write a new function / arguments and is thus part of the code. The interface is as much part of the design and creative effort as the code itself, often even more so and if copyright is to mean anything, then the whole work, including the interface spec, should be included.

    All that is fine so long as everyone is honest, plays by the rules and doesn’t try to steal your work, or part of it. Stuff like license agreements or permissions can be created to allow others to make use of an interface to add to or improve it, or even completly rewrite the underlying code. What appears to have happened here is that one of the richest companies on the planet has just stomped all over the gentlemanly way that such issues could be resolved with it’s size nines and then tried to bluff it out in court. It suggests contempt for other's rights and arrogance in that they think are big enough to get away with it. Sorry, but they deserve to loose, as such behaviour sets a bad example in terms of industry ethics...

    1. Indolent Wretch

      No.

      The interface. The forward facing, public viewed part of your system-of-code or library. Regardless of how much effort it took to get right. How difficult you felt it was. Is, when all is said and done, just the instructions needed to interface with the much larger body of work behind it. It also marks the threshold by which in the old days you used to be able to rely on copyright.

      Now unfortunately that distinction has been removed.

      If another company spends years writing code that uses that interface you do not have the right to tie them forever to using your code. They have the right to get or write their own drop in replacement to do the same work as your code and implements the same API.

      Fair use has been ruled in this case (and shouldn't have to have been) but I wonder if now competitors offering a better-yet-compatible product are going to be having to constantly defend themselves in court.

  33. zerowaitstate

    If Oracle takes the position that Google's use of their API's is invalid, then it calls into question why Oracle's HTTP client sends the same HTTP headers and sequencing as every other browser maker, without obtaining their permission to do so. I can take a wireshark result of what Oracle Java sends and what Chrome sends over the wire, and there are *multiple lines* of copied code on each request, duplicated seemingly verbatim. It's like their code is designed to steal intellectual property in an automated fashion, thousands of times a day. Not only that, but they copy the IP packet header structure implemented in literally thousands of other devices. And on and on.

  34. JLV Silver badge

    Uh, not sure if I follow:

    I disagree (without admittedly knowing much about the legal aspects) with the author, both about his opinion and about the Gottardammerung nature of allowing Google to get away with it. But I respect his posting an article detailing his opposition, fully knowing that supporting Oracle is not a popular position, even against cuddly cuttlefish Google.

    These are some criteria to look at for fair use (easily found on the Net now):

    Factor 1: The Purpose and Character of the Use

    - Google is out to make $, not a charity or education.

    Factor 4: The Effect of the Use on the Potential Market for or Value of the Work

    - Google made a lot of $$$. Oracle may or may not have lost $$ - J2ME was hardly on the way to world domination beforehand and Sun was squarely to blame for that.

    So, far, good for Oracle.

    Factor 2: The Nature of the Copyrighted Work

    - here's where we agree to disagree. An API is not like other bits of code and has a specific intent and nature. Making API copyright rigidly enforceable is likely to lead into even more legal shenanigans and limit competition. That's a naive, dev-only, viewpoint, but we don't see the level of weird IP infringement in too many industries, compared to ours. Think rounded corners, one-click purchases, etc...

    I would hate to have APIs confirmed as an always-valid basis to sue. BTW, what was the original reason for Linux Samba, if not not to respond/appear somewhat like the imitated Windows networking services? Would that have been an API infringement?

    Last, take note that Sun, and later Oracle, always were the first to preach that their darling language was an open standard.

    Factor 3: The Amount or Substantiality of the Portion Used

    We also disagree here. Oracle originally complained that Google had copied some implementation code. IIRC the quantity of copied code was rather trivial. Fine, let Google pay $$ (anywhere up to 100M$ or so) to atone for the code they copied.

    Substantiality and amount is not high in the case of API (as opposed to implementation) copying.

    IP protection was always intended to balance rewarding creators vs promoting the good for society as a whole. When ABS/airbags and all sorts of other innovations come out in cars, we don't expect them to be fought over as stupidly as our own industry has the habit of doing. When I look at a ferry unloading cars simultaneously from 2 decks, using 2 bridges, one for each deck, I don't think the shipbuilder got 17 years of exclusivity from that idea before competitors applied an "obvious solution" to an existing problem. Or that boy racer car rear fins were frequent ground for lawsuits, a la "rounded corners".

    Also, it is easy to claim that Google only had to get a Java license, but it conveniently forgets that J2ME was the only Java implementation allowed on mobile devices at the time.

    So, sorry if I am not as clever about the legalese as Andrew, but I have an instinctive distrust of the repercussions of making APIs strictly copyrightable a priori. Or, if you prefer, finding them generally not to be ground for a fair use defense.

    In another industry, with saner IP behavior, I would leave wiser heads to decide. As it is, no sorry, I don't buy this.

    1. Tridac

      Re: Uh, not sure if I follow:

      As a developer, the interface to any software system is the definition of it’s functionality and getting that right can make fthe difference between a product’s success or failure. As such, it’s often the major part of the design effort and copyright should be available should the developers need it for commercial reasons. If you don’t like the license terms, fine, go away and develop your own equivalent, but without using any of the copyrighted work. As a general and ethical principle, seems sensible to me and the “fair use” argument really doesn’t stand up when what was taken was effectively the design definition for the product.

      I guess we just have to disagree about this and I’m not up to date with the legalities either, hence the general principles. That fact that this spat involves two of the most aggressively profit motivated companies doesn’t make it any easier to sort out either. However, design ip is a valuable commodity these days and there should be legal protections available for those who have invested time and effort and make a living from it. None of that stops it being given away for free though…

      1. energystar
        Childcatcher

        Re: Uh, not sure if I follow:

        "the interface to any software system is the definition of it’s functionality and getting that right can make fthe difference between a product’s success or failure. As such, it’s often the major part of the design effort and copyright should be available should the developers need it for commercial reasons. "

        No.

        An interface has only protocollary, connect-to-the-world purposes. If your piece of s#!t only do that, or mostly that, then copyright shouldn't be available for it, even for commercial reasons. And yes, you have to make it right.

        Sorry about the language, but needed to be clear.

        Public surfaces are not subject to copyright. If a Judge says so. Well, good for him. The issue here is the presumptively hurried conduct of Google on grabbing code.

        1. Indolent Wretch

          Re: Uh, not sure if I follow:

          No it isn't. Because except in the rangeCheck() issue (which itself is a hilariously good example of Oracles bad faith and you should read up on it) and in some testing code left in erroneously by an Israeli contractor and never included in a single shipped handset Google didn't copy any code.

          If they had of done Oracle would have shown it.

        2. Dr Stephen Jones

          Re: Uh, not sure if I follow:

          "Public surfaces are not subject to copyright"

          If it's code, then it is covered by copyright. No exceptions.

          What you mean is to say "interfaces should not guarantee that spurious copyright infringement claims are will be successful", and I agree 100 per cent, they shouldn't. But that's what the courts are for, and the standard has been set high. So high nobody tries to make infringement claims unless they have a very good chance of winning. Removing copyright from code without the giving it a special class of protection, which is discussed inter alia, means the developer cannot protect that code. That not only fucks up commercial software development but the GPL too.

    2. This post has been deleted by its author

      1. JLV Silver badge

        Re: Uh, not sure if I follow:

        Must be why patents have expiry dates. And even copyrights have those as well, though Disney has lobbied mightily to extend those ad infinitum. Why US drug companies are under pressure when carrying out minor reformulations of their meds to re-set the patent clocks to zero.

        IP protection does have try to strike a balance between remunerating innovation and not granting undue monopolies, even to deserving creators. One could argue that the 17 years of current US patents is inappropriate to the speed of modern innovation, but one can hardly argue that the laws were always intended to be creators-only.

        BTW, APIs have little to do with stolen DVDs and CDs - which I no way condone - so please use better straw men ;-)

        1. This post has been deleted by its author

        2. Anonymous Coward
          Anonymous Coward

          Re: Uh, not sure if I follow:

          OK, how about this since you mention CDs? Can you get a copy of the Red Book for free (which is basically the interface for designing Audio CDs correctly)? Legally?

  35. Andrew Jones 2

    It was my understanding that if you have a patent or own copyright on something, then unless you actively protect it you will lose it - for example, let's say a company makes a product that infringes on patents that you hold and you like the company so you ignore it, another company later on makes a product that infringes on your patent and you don't like that company as much - so you sue them. The company that you are suing can quite rightly point to other companies that are infringing on the same patent and question why they haven't been sued.

    Now - back to the case in hand, when the alleged copying took place, Sun owned Java and any patents and copyrights therein. Even if there were discussions internally in both Sun and Google about the legal standpoint of the Android project, publicly Sun championed the Android project. It is only since another company bought out Sun - a company that had absolutely no part in the development of Android or any partnerships between Sun and Google - that it got upset and decided to go after Google. The fact that the then CEO of Sun has stood up in court saying Google has done nothing wrong (from a legal standpoint at least) is quite important.

    If Oracle do in fact get away this - then there is nothing stopping any company from buying another company that created some software, and then suing anyone who made different implementations of that software, by claiming that the hooks that the alternative software uses are in fact copyrighted.

    This can be thought of like a landowner, who for generations has not bothered about the fact that people go for a walk through some woods on their land, and actively help maintain the wildlife on the land - putting up bird boxes and things like that. One day - someone else purchases the land and implements an immediate ban on anyone accessing the land. Legally - they are quite entitled to do so (provided nothing has been written into the deeds stating otherwise). Morally - they are a dick.

    This could all of been avoided if Sun had a written document that basically stated that they were OK with the way Google had used their code. But back when Sun was sold - the idea of suing anyone anywhere for the slightest thing - no matter how unlikely it might be that you would win - was not quite as common and depressingly frequent as it now appears to be.

    EDIT:

    As for fair use - well in music we are allowed to use 8 seconds of a song right? Given an average song length of 3 and a half minutes, I make that 3.8% of the total work. So - if it is alleged that Google stole 11,000 lines of code, can we simply say right - the total number of lines in the work is X million lines, and work out how many lines 3.8% would be. If it is less than the alleged theft - then Google is in the wrong, and if it is more than the alleged theft, then it's considered fair use?

    1. energystar
      Windows

      "This could all of been avoided if Sun had a written document that basically stated that they were OK with the way Google had used their code. "

      A sinking Sun 'expressively' raised up his hand grabbing Google papers and asking for best offer, as I understood the journals of the time.

      Who? Oracle... what a surprise.

    2. JLV Silver badge

      >unless you actively protect it you will lose it

      That's specific to trademark law.

    3. This post has been deleted by its author

    4. Dr Stephen Jones

      "It was my understanding that if you have a patent or own copyright on something, then unless you actively protect it you will lose it"

      Time to get that "Teach Your Toddler IP" book you've never got round to reading.

      Trademarks need to be actively protected. Patents need to be registered, then periodically re-registered. Copyright is automatic.

  36. Anonymous Coward
    Anonymous Coward

    When you are defending Google do you find what Andy Rubin wrote making it clear that Google did not need to license the code they were using?

  37. Tim Almond

    As a software developer and project manager, something that you and John Gruber aren't, let me explain why we're cheering Google: Because Oracle's case is ridiculous. Pretty much no-one cares about protecting the headers on their public interfaces. It's of almost no value. On the flip side, being able to reimplement an interface is healthy for the market in software. It means that if I buy a component from a company and they don't want to change it, or go out of business, I can get someone else to rewrite it without changing everything making the calls.

    And really, most people would be glad for this to happen. Your language/tool/standard gets used, it gives your language/tool/standard more community and then, more value. You've got Java developers on phones, well, it might make sense to run Java on your servers. And the natural fit there is Oracle as a DB. And maybe, we'll hire Oracle to do the work. That's how the modern world of software tools works. Unfortunately, Oracle are still dinosaurs that think you can make money licensing a language, despite the fact that there's dozens of free ones out there.

    1. This post has been deleted by its author

    2. JLV Silver badge

      Much more eloquent than me, but exactly what I was trying to express.

      Doesn't matter where you are on the BSD/GPL/proprietary continuum, strict API copyrights have a lot of potential to create a mess and little economic upsides.

      1. This post has been deleted by its author

  38. Anonymous Coward
    Anonymous Coward

    Let's face reality

    I agree with Andrew - Google have definitely driven a bus through the copyright law with this case. But walk back 35 years ... Bill Gates brought the rights to MSDOS from Seattle Computer Products who had directly copied the API from CP/M - there is a fine line between copying and reimplementing code.

    It will be interesting to see where this case goes.

  39. Anonymous Coward
    Anonymous Coward

    api vs implementation

    There is a lot of confusion, so let me illustrate with an example

    func getShills() []string { // API

    return []string{ // IMPLEMENTATION - here to end

    "enderle",

    "mueller",

    "orlowski")

    }

  40. BruceR

    "Let's take these three questions in reverse order."

    But you didn't!

  41. Schlimnitz
    WTF?

    A bit surprised...

    by all the 'developers' here saying that an API is 'nothing'.

    Everyone I've read on the subject says that designing a good API is hard, very hard.

    And generally, once you've done it (if you've done it well), the implementation 'writes itself'. (Exaggerating a bit).

    1. zvonr

      Re: A bit surprised...

      The individuals saying things like API is 'nothing' cannot be called developers...

      Just like the ones who say that concurrency is easy...

      Actually these are good interview questions, you can easily dismiss a candidate who ways stupid things like this...

      1. PassiveSmoking

        Re: A bit surprised...

        If you think writing an API is in the same intellectual league as doing concurrency that doesn't a) stamp all over its own state and blow up in a shower of corrupted heap and mangled stack frames, b) deadlocks or livelocks, c) do so much locking that it might as well be non-concurrent, d) leak memory/sockets/filesystem handles/any other finite resource and/or e) degenerate into an unmaintainable mess of spaghetti code then you're obviously not suited to API design, and I'd be inclined to doubt your qualifications to write concurrent code as well. All a good API takes is a bit of common sense (for example, always return an array if your call can return 0, 1 or n results. Don't return something other than an array if the output is 1 result (and yes, I have had to work with an API that did exactly that, resulting in having to do a lot of jumping through hoops that wouldn't have been necessary otherwise)). I'd seriously doubt the credibility of any developer that claimed API design was remotely as hard as concurrency.

  42. lleres

    Opposing views

    Hi there El Reg,

    While I am wholly on board with offering differing views on the same subject - it is indeed one of the reasons why I feel El Reg is a cut above most online publications - that would best be applied not just to articles appearing on the site but to comments to said articles.

    I am sure it has not escaped your notice the pattern of rejected comments by the author of this article whenever a disagreeing viewpoint is posted on one of them. For reference, see rejected comments on this very account and the many others that have commented along the same lines on many an article.

    Insisting on offering differing viewpoints in articles but rejecting comments that disagree with the article's view points can only be described as hypocritical, as much as it saddens me to say.

    1. gazthejourno (Written by Reg staff)

      Re: Opposing views

      Most of the comments we filter out on Andrew's stories are ad hominem attacks on him, rather than discussion of the article's content. And we don't allow attacks on Reg staffers. Easy as that.

      1. Daggerchild Silver badge

        Re: Opposing views

        Interesting. Because I have directly experienced the reverse.

        Also, as in the case of the Right-to-be-Forgotten, it doesn't matter if the judgement is nearly always fair, if you can repeatedly appeal, you only need to succeed once for the target to disappear permanently, silently. A 1% chance that can be repeated N times is absolute hacker honey.

        And yup, I have directly experienced those reattempts too.

  43. markokrajnc

    Regarding copying 11.000 lines of interface definitions: Amazon copied 10 million book covers and published them on their website - all without permission from publishers - this is called fair use, because you hardly sell a book without showing the cover. And like book cover is the "interface" between buyer and book contents, so is the API the interface between user and the implementation. Quantity (11.000 lines or 10 million book covers) doesn't matter here...

  44. markokrajnc

    It is Fair Use!

    Regarding copying 11.000 lines of interface definitions: Amazon copied 10 million book covers and published them on their website - all without permission from publishers - this is called fair use, because you hardly sell a book without showing the cover. And like book cover is the "interface" between buyer and book contents, so is the API the interface between user and the implementation. Quantity (11.000 lines or 10 million book covers) doesn't matter here...

    1. This post has been deleted by its author

    2. Charles 9 Silver badge

      Re: It is Fair Use!

      Oh? Then explain why you can't get the colored books on optical discs (like the Red Book for audio CDs) for free (those are APIs as well).

  45. logical

    Hmmm

    I completely fail to see any difference to what Google did with Java/Android and what the clone makers did back in the day with the IBM BIOS. The clone makers copied the BIOS API exactly, and IBM even sued over it and lost. Those clone BIOS's are still being sold to this very day. There is extensive precedence in software for re-implementing API's.

    For instance, all command-line tools have a defined API. An Oracle win would mean that you could never replace one tool with a newly written one that accepted the same API. Think what such a scenario would have meant over the years. Complete disaster would be the result and that's just one small area.

    It seems to me that the folks who want to prevent re-implementation an an API want to have the protection of a patent under the guise of copyright with the API acting as the claims. If you want a patent, the you should apply for one.

    1. Charles 9 Silver badge

      Re: Hmmm

      You're talking Compaq v. IBM. The catch here is that Compaq provably used clean-room techniques to duplicate the BIOS featureset and then release their own API for it. According to Oracle, Google flat-out copied the header files directly which could well be under pay-to-see restrictions like the Red Book for audio CDs, which you have to BUY a copy to read.

      1. logical

        Re: Hmmm

        Compaq did not release their own API. They released their own implementation of IBM's BIOS API. The cleanroom part was the implementation of the BIOS API's, not the API's themselves. The API was identical to IBM's otherwise the Compaq BIOS would have been useless.

        If Google, or anyone else, implements an existing Java API, it must have identical definitions otherwise it won't work. Your argument is silly. You could easily determine the API by simply looking at any Java program which used it. And that program could be under any license, including public domain.

        Also, I can certainly create audio CDs without ever purchasing the Red Book. Copyright only protects the book itself, not the knowledge it contains. That knowledge can be gotten legally in any number of ways, including simply reading the source of a program which implements CD audio creation.

        1. Charles 9 Silver badge

          Re: Hmmm

          "Also, I can certainly create audio CDs without ever purchasing the Red Book. Copyright only protects the book itself, not the knowledge it contains. That knowledge can be gotten legally in any number of ways, including simply reading the source of a program which implements CD audio creation."

          Except those programs are copyrighted, too, as was Compaq's clone BIOS. They made a CLONE of IBM's BIOS that happened to be feature-exact. That was the basis for the "clean room" defense. But note that Google apparently copied Sun/Oracle's Java header code down to the errata, which in a proper clean-room effort wouldn't have been encountered or copied in.

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