back to article After ten years, the Google vs Oracle API copyright mega-battle finally hit the Supreme Court – and we listened in

The decade-long mega-battle between two of the world’s largest corporations, which will decide the future of software development, began its final showdown this morning. Yes, it was Google versus Oracle at the US Supreme Court, and two hours of wide-ranging, fast-paced legal argument: full of analogies, pointed questions, …

  1. a_yank_lurker

    Nine Seniles

    I am concerned the Nine Seniles will rule in favor of Leisure Suit Larry and his MInions because they the technical grasp of a rock, a dumb rock a that.

    1. Doctor Syntax Silver badge

      Re: Nine Seniles

      I take it you've not spent much time in courts listening to legal arguments.

    2. whoseyourdaddy

      Re: Nine Seniles

      Except what Google did/is doing is SO obvious...as stated in the last section of the article?

      So, why didn't Google just sign a license?

      1. sbt
        Pirate

        So, why didn't Google just sign a license?

        They wanted to make incompatible changes to the Java API. They could have used taken the GPL license and made those changes, but they also didn't want to comply with the GPL and open source their implementation.

        1. Anonymous Coward
          Anonymous Coward

          Re: So, why didn't Google just sign a license?

          Android has always been available under the AOSP (Android Open Source Project) and is released under the Apache 2 licence so gives much more control to anybody who wants to take the Google code and make a proprietary system out of it/ The Linux parts of the Kernel are GPL.

          What you have stated isn't true - the issue was that the only licence for mobile was the offering from Sun (remember Oracle were not the owners and were actually calling for Sun to open up Java freely to everyone at the time) which was the Jave ME edition. This was completely unsuitable for a smartphone - more like WAP was to a web site. At the time you could use Java as long as you didn't want to call it Java and promote it as Java, as that required using the Java Compatibility Kit, which required licencing.

          You could not licence the compatibility kit for mobile phones, you could only licence the use of Java ME (which was awful). Google utilised the Apache Harmony open source clean room implementation of Java for Android.

          Sun were always publicly very supportive of Android and their use of the Java API.

          Oracle bought Sun, sued Google for Patent and copyright issues. They lost on every count (including their 9 lines of code for the range check function which was debated for quite some time). However they proceeded with their appeals based on just the fact that the API was copyright, which traditionally has always been fair use in software terms - everyone utilises APIs in programming across all sorts of software.

          The API has been turned into literary works for the sake of the court case and so we are now bizarrely describing the API like the words of a sitcom, rather than the interface that it actually is.

          Also, remember that Oracle became rich from SQL - they didn't invent SQL but they sure stole the methods, language and API from it.

          I'm off to print("something") while I'm still allowed to.

          1. Anonymous Coward
            Boffin

            @AC Re: So, why didn't Google just sign a license?

            I think you need to go back in time and consider that Java SDK was meant for PC's and larger. At the time, the smart phones of the day could only run Java ME. It was a lighter weight JVM.

            I don't think that anyone at the time thought about the implications of Moore's law and not just in terms of processing power, but lower energy requirements making it possible to put CPUs in your phones capable of running Java SDKs that could only run on PCs at that time.

            I haven't looked at the licensing so I don't know if there were restrictions of running Java JDKs on portable devices back in the day, so that Sun / Oracle covered themselves.

            But again, looking back at the court case's evidence against Google, they kinda documented that they could have gone and got a license under decent terms.

            That said... Google can easily afford to pay off the damages if/when they lose.

            And how sick does that sound... ~9 Billion plus interest will only have a short term impact on Alphabet's revenue stream.

            1. Anonymous Coward
              Anonymous Coward

              Re: @AC So, why didn't Google just sign a license?

              "I haven't looked at the licensing so I don't know if there were restrictions of running Java JDKs on portable devices back in the day, so that Sun / Oracle covered themselves.

              But again, looking back at the court case's evidence against Google, they kinda documented that they could have gone and got a license under decent terms."

              There was no bility to licence Java for mobile when Android was started, there was no need to licence it when Sun had publicy commended it. It was Oracle that saw the chink and paid 7 billion for the whol of Sun's operation so they could try to sue Google to get their money back.

              I'm not sure what actual part of the court case you are looking at but it was only after Oracle bought Sun that there was a mantion of negotiating a licence deal (for multi billions per year on a cost per handset basis which would probably have destroyed Android at that point as an open source system). They decided to try their luck in court and we're down to the fact that everything that Google did was deemed okay (clean room, java language functionality, no patent infringement), however the issue that remains is whether an API is considered fair use - and anyone in software up until that point would have probably said yes - including Oracle. However "Fair Use" in a developer sense of fir play has met a strict legal definition of copyright under the eyes of the law which doesn't differentiate beween films, song, books or software.

              I'm no fan of Google, but lawsuit just feels wrong - I would have some more sympathy if it was Sun bringing (as in they hadn't sold p) it and they had always objected to Google using a Java compatible system. It has the echoes of companies buying a small company up because they notice they have a patent that could be exploited to return millions in licensing fees, which then results in businesses being sued thousands for using a photocopier which has a scan-to-email function on it. No one wants to start getting letters from chancers claiming the software they are using has an API that is copyright to another company and they no have to pay additional licence fees to someone else.

        2. jilocasin
          Boffin

          Re: So, why didn't Google just sign a license?

          As it's been said way too many times before, Java ME (mobile edition) *was* *not* ever released under the GPL, Java SE (standard, or desktop, edition) was.

          Java in *ALL* it's forms wasn't fit for the purpose that Google wanted, a new GUI based smartphone language to compete with the Apple iPhone. Google used the Linux kernel and a completely rewritten runtime for Android. The only thing it shared with Java SE was the *language*. In the end that's what this case is all about. The only reason Google reused the existing Java language was to have a ready pool of developers who already knew the language enough to start writing Android apps immediately. Apple was initially using the same Objective-C language that they used for their Macs, that incidentally they *didn't* invent themselves. So Apple wasn't any better than Google on that front.

          Oracle's basically trying to require a license to use French, or English, or German, or C++, or Java. Other's have rightly pointed out that Oracle made it's money writing software the uses the SQL language. If you right a programming *language* you have no right to say that no one else can use it. They might not have the right to use/copy a program that was written in that language, or a compiler, or a runtime, but if they want to write something themselves in that language it's (or it should be) fair game.

          It always was until now....

        3. bombastic bob Silver badge
          Unhappy

          Re: So, why didn't Google just sign a license?

          but they also didn't want to comply with the GPL and open source their implementation

          And, consistent with your observation, if Oracle "wins", it means that closed-source APIs (say Win32, SMB, etc.) could THEN become threats to freely available open source equivalents.

          And yes, that WOULD threaten future (and current, and even past) software development, where the monopolistic big-boys get to KEEP their monopolies INDEFINITELY.

    3. Anonymous Coward
      Boffin

      @ lurker ... Re: Nine Seniles

      News flash.

      There are only 8 on the courts hearing this.

      RBG died. The case is being heard now, so even if the Senate confirms the new judge, she will not have any impact on the decision.

      And if there is a 4-4 tie... Oracle wins.

      1. Anonymous Coward
        Anonymous Coward

        Re: @ lurker ... Nine Seniles

        RBG would have gone against Google.

        For all the good she's done over the years, she had one glaring flaw. She was a big fan of expansive copyrights.

        At least a 4-4 tie would, while not helping Google (and the rest of us) defeat a completely idiotic interpretation of copyright law, leave no binding precedent.

        I don't know anything about the Handmaid's Tale nominee's position on copyright. If she's confirmed, she'll be an absolute nightmare for the country, millions of women will be forced to remain pregnant against their will, 20 million Americans (including me) will lose their healthcare, gays may lose the right to marry and may even have their marriages voided, but maybe it would at least be able to keep APIs open.

        1. bombastic bob Silver badge
          Thumb Down

          Re: @ lurker ... Nine Seniles

          at least 90% of what you wrote is UN-ACCURATE FUD. The only correct part was the characterization of an Oracle "victory" being "a completely idiotic interpretation of copyright law".

          downvote for all the rest.

        2. Anonymous Coward
          Coat

          @AC Re: @ lurker ... Nine Seniles

          Its interesting that a liberal person would side w Oracle. But then again, I don't think Google's lobbyists could impact a judge.

          And to your point about the new nominee...

          I think that you've been drinking too much of the liberal cool-aid. You should stop watching CNN and MSNBC because they're more often wrong than right and they are 'fake news'. Sorry but there are too many stories that they ran where they pushed a false narrative. The settlement w that Covington kid is proof.

          Where the new nominee is dangerous is that she's an academic. This has historically proven to be a bad choice when it comes to real world issues. We can go back to Kennedy's Brain Trust and Viet Nam. Or Obama's ACA which was spearheaded by an academic. What looks good on paper. Doesn't always work out the way you think it will.

          We can also see this in Trump's recent appointments. Many on the right. The far right... are not happy because their picks did what they said they would do in how they would interpret the Constitution and the law.

          The other problem is that many are panicking over things that haven't and won't happen. Too much case history to repeal Roe v. Wade and even if it did, you'd go back to states rights which is what RvW tried to solve. (You may be too young to remember that far back...)

          Healthcare is much more complicated that most understand.

          Want to fix it. Start with tort reform... and of course want to fix a lot of things? Try and get your Congress critter to agree to term limits. That will never happen. (Ever hear of a Congress swamp critter ceding power? )

          Mine's the jacket with the packets of salted peanuts, cans of beer, and a small towel.

          1. Anonymous Coward
            Anonymous Coward

            Re: @AC @ lurker ... Nine Seniles

            > Want to fix it.

            Then get the legislature to pass appropriate laws, saying that [abortion / gay marriage / whatever] is (or is not) legal.

            ISTM that the only reason such things are decided in the courts is because the legislature doesn't have the guts to make such difficult decisions themselves.

    4. TVU Silver badge

      Re: Nine Seniles

      "I am concerned the Nine Seniles will rule in favor of Leisure Suit Larry and his MInions because they the technical grasp of a rock, a dumb rock a that"

      I don't think that's being entirely fair to the majority of justices on that court right now. Six of those justices in their judgements have shown flexibility in their determinations. The only Dr NOs on that court have have been Thomas and Alitio, Indeed, Messrs Gorsuch and Kavanaugh have given us quite a few surprises since they were inaugurated so Oracle winning this case is not a done deal by any means.

    5. John Smith 19 Gold badge
      Unhappy

      This smells of the old Apple "Look & Feel" BS for the Mac,

      Lifted from Xerox.

      Newsflash.

      If you publish an API (Applications Programming Interface). it's an interface

      If you keep the implementation secret and someone copies that code, that's copyright infringement.It's a problem if there's only really 1 good way to do function X. :-(

      Tricky ones would be undocumented calls. Part of the API but not in the official list so what's that? Fish or fowl?

  2. mebh

    Status quo?

    I'm wondering about your repeated statement that Oracle's position is the status quo. I have seen others argue the opposite - that re-implementation of APIs is common and was understood to be legit for decades. Why do y'all consider Oracle's position the status quo?

    1. diodesign (Written by Reg staff) Silver badge

      Re: Status quo?

      Good question. It's the status quo for the stated reasons: the courts have decided in Oracle's favor (which is why it's at the Supremes now, brought here by Google) and it's the position of the US government.

      BTW, personally speaking, I'm not saying the status quo is right. It's just what it is.

      C.

      1. Anonymous Coward
        WTF?

        Re: Status quo?

        I am amazed that author is anti-google.

        Is it do know evil? or Do no evil?

        1. IceC0ld

          Re: Status quo?

          I believe you will find that it is actually "Don't be FOUND doing evil"

          1. Zippy´s Sausage Factory
            Devil

            Re: Status quo?

            That's the eleventh commandment: Do Not Get Found Out.

            1. Anonymous Coward
              Anonymous Coward

              Re: That's the eleventh commandment:

              There's always the 34th corollary: if you can think of a way to do evil, it's already being implemented on the internet.

            2. Maelstorm Bronze badge
              Devil

              Re: Status quo?

              I thought that the 11th commandment was "Thou shalt not comfort thy staff with thy rod." But ok, yours works too.

          2. zuckzuckgo Silver badge

            Re: Status quo?

            >I believe you will find that it is actually "Don't be FOUND doing evil"

            "Steal no evil" is more like it.

          3. Anonymous Coward
            Anonymous Coward

            Re: Status quo?

            Wow.

            I didn't take it as far... but just mocked Google's 'Do no evil' mantra.

            Seems that not many people got that.

            Tough crowd.

      2. Cuddles

        Re: Status quo?

        "Good question. It's the status quo for the stated reasons: the courts have decided in Oracle's favor (which is why it's at the Supremes now, brought here by Google) and it's the position of the US government."

        I'm not sure that's really a good way of defining the status quo. In legal terms, sure, the Supremes might favour not overturning a lower court's decision, so in a sense it's the legal status quo. But in terms of actual software development, which is the relevant point given that's what the case is about, there really doesn't seem to be a status quo at all. No matter which way the SCOTUS rules, it's going to set a definitive rule for how things must be done where no such rule previously existed.

        1. sbt
          Alert

          no such rule previously existed

          No; the precedent that source code (expression) has copyright protection and the API (idea) does not, is well established. See for example the errno.h issue in the much earlier SCO litigation: http://www.groklaw.net/article.php?story=20040221192536920

          Alsup's ruling in the first trial was where long precedent was first disturbed, where he tried to abolish copyright for the expression in the source code, because it was an API. It's taken a long time to work back from that departure.

          If a precedent is now established in Google's second SCOTUS appeal viz. "fair-use for compatibility" that could be a massive can of worms and calls into question the basis for source code library licencing. E.g. inlined functions.

          1. jilocasin
            Boffin

            Re: no such rule previously existed

            Alsup's ruling was the only one that could be made looking at the law and existing precedent up until that point. According to earlier case law and the idea/expression dichotomy underlying copyright law itself, the API was a method or operation. It was an idea. The source code that implemented that idea, actual programs, the runtime, etc. was the expression. Nothing in Alsup's ruling touched that.

            Your fundamental misunderstanding, where you've apparently drunk the Oracle kool-aid, is that an API == software. It's not. A dictionary contains the meaning of words in a book, but that doesn't mean that the words themselves, independently constitute a book. More importantly it doesn't mean that the publisher (Oracle is more like the publisher, Sun was the Author) of the dictionary now has the right to demand licensing fees from everyone who writes anything else using any of the words in that dictionary.

            1. Anonymous Coward
              Boffin

              Re: no such rule previously existed

              Your argument falls flat on a couple of fronts.

              Oracle isn't the publisher but the owner since they bought Sun. So Oracle is the 'publisher' and the author. And the author Sun is now Oracle since Oracle bought the company.

              In a dictionary example, you have a context sensitive grammar. You have a word, followed by one or more definitions.

              The word isn't an API. So your example falls apart. the API is the format of how you query and then retrieve the information.

              The API is in fact part of the software. You need to spend more time understanding programming language theory.

              Sorry.

              1. jedisnon

                Re: no such rule previously existed

                Who the publisher is doesn't matter. Was the API published? Was the API published with the intent that it be **used** by others?

                As the Supreme Court made clear over one hundred and forty years ago in Baker v. Selden:

                "The description of the art in a book, though entitled to the benefit of copyright, lays no foundation for an exclusive claim to the art itself. The object of the one is explanation; the object of the other is use. The former may be secured by copyright. The latter can only be secured, if it can be secured at all, by letters-patent."

                A book explaining the API may be protected by copyright. The actual API it describes - the useful art - can only be protected by patents. Oracle tried **and failed** to get a patent on the Java API.

                Your argument that an API isn't the same as a word in a dictionary is just...huh? What? It's word salad.

                Context is irrelevant. Definitions are irrelevant. Leaving aside that you cannot copyright a language - and Java is a language - the function names in an API are a method of operation: the means of controlling the behaviour and outputs of a (virtual) machine. They cannot be protected by copyright, per 102(b):

                "(b)In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work."

                The API is part of the software in the same way that the brake pedal is part of a car - you don't get to insist that everyone else's brake pedal has to look different from yours and go in the boot just because you were the first to put a lever by the driver's feet. Get a patent or go home.

                You need to spend more time understanding the law, programming and well - everything.

                Sorry.

        2. Michael Wojcik Silver badge

          Re: Status quo?

          I'm not sure that's really a good way of defining the status quo.

          It doesn't matter whether it's a good way. It's the court's way, so in the context of the claim in the article - that SCOTUS is likely to uphold the status quo - it's the only relevant definition.

          1. jedisnon

            Re: Status quo?

            Are you sure no other definition might be considered relevant by the court?

            JUSTICE SOTOMAYOR: (to Oracle) Counsel, at the in your beginning statement, you had the sky falling if we ruled in favor of Google.

            The problem with that argument for me is that it seems that since 1992, and Justice Kagan mentioned the case, the Second Circuit case, a Ninth Circuit case, an Eleventh Circuit case, a First Circuit case, that a basic principle has developed in the case law, up until the Federal Circuit's decision.

            I know there was a Third Circuit decision earlier on in the 1980s. But the other circuits moved away from that. They and the entire computer world have not tried to analogize computer codes to other methods of expression because it's sui generis. They've looked at its functions, and they've said the API, the Application Programming Interface, of which the declaring code is a part, is not copyrightable. Implementing codes are.

            And on that understanding, industries have built up around applications that know they can -- they can copy only what's necessary to run on the application, but they have to change everything else. That's what Google did here. That's why it took less than 1 percent of the Java code.

            So I guess that's the way the world has run in every other system, whether it's Apple's desktop or Amazon's web services,

            everybody knows that APIs are not -- declaring codes are not copyrightable. Implementing codes are.

            So please explain to me why we should now upend what the industry has viewed as the copyrightable elements and has declared that some are methods of operation and some are expressions. Why should we change that understanding?

            1. Anonymous Coward
              Anonymous Coward

              Re: Status quo?

              “ the Oracle kool-aid, is that an API == software”

              It’s part of a work that may or may not be copyrightable as a whole, because the law applies to the whole work. If the work as a whole is copyrightable, then it follows that those 11,000 lines of declaring code certainly are, and always have been.

              The Google kool-aid - that you have been guzzling - that APIs are not copyrightable turns the law upside down. Well guess what happened. Google argued on Tuesday that Java is not copyrightable and this was shot down pretty quickly by the Justices. Not a surprise to anyone who understand how copyright protects software.

              Google may yet win on Fair Use, but it was never for a second going to win on Copyrightability.

              1. Maelstorm Bronze badge

                Re: Status quo?

                As a software engineer, I hope that SCOTUS sides with Google. Besides, the current understanding in the industry is that the API, although it is technically code, should not and cannot be copyrightable. If it does happen to fall that way, then much software out there will suddenly become illegal.

                Take LibreOffice for example. They employ filters to read/write Microsoft Office formats. If it turns out that APIs are copyrightable, that functionality will probably go away since Microsoft will not want anyone using their formats to push people to their Office 360 offering.

                That is just ONE example. There's a multitude of more. The status quo is to side with Google in such a way as to say that APIs are not copyrightable, but implementations are. That is the logical and common sense decision.

                1. jedisnon

                  Re: Status quo?

                  If you can copyright an interface then you can copyright a network protocol or a file format. You can't implement either without embodying exactly the same kind of SSO that Oracle claims should be copyrightable. After all, what is a network protocol other than a serialised API?

                  It's a recipe for fragmentation, vendor lock-in, legal chaos and copyright trolls replicating the very worst elements of US patent law.

                  We just have to hope that SCOTUS understands it - and I'm not sure more than a couple of them do.

    2. doublelayer Silver badge

      Re: Status quo?

      To clarify, it's the legal status quo in this case because it's what the previous judgement is. When cases go to the Supreme Court, it is to either uphold or overturn the ruling of a lower court (simplification, but close enough). The opinion of that lower court is therefore considered the current approach unless it's overturned. This is why, for example, the opinion of the lower court stays if the court has a tie vote. This is smaller than it sounds; it mostly applies to one case. As a case rises through the appellate system, what the status quo is could flip a few times before the case is finally over. Once the case is over (taken to the Supreme Court and decided there or one side concedes defeat instead of appealing), that decision could become a much larger status quo that applies to lots of other cases and people.

      1. Anonymous Coward
        Anonymous Coward

        Re: Status quo?

        // so everyone is agreeing that the...

        new statusQuo(makes);

        this special;

        This case proves that lawyers sinking in a fish bowl can make YOUR reality worse. If Google wins, you lose. If Oracle wins, you lose. This is not the future of software, this is the present of oligarchy.

        Can we all forget about this and go home, or must we all be shown who has a bigger dick?

        1. sbt
          Alert

          If Oracle wins, you lose?

          Citation needed; folks seem really concerned about the precedent value here, but can anyone point to an another actual example where a product or project re-implements a proprietary API from a third party by copying the interface without a licence and would be threatened by a win for Oracle?

          1. _andrew

            Re: If Oracle wins, you lose?

            Off the top of my head, and without checking any of the details and original license terms:

            Any non-SGI implementation of OpenGL, probably including both WebGL and the Mesa library.

            Octave and/or whatever common library APIs they reproduced from Matlab.

            Win32 and DirectX reimplementations in Wine and Crossover and ReactOS.

            Probably every SQL database implementation, including Oracle's...

            Every VT100 (or derivative) compatible terminal, including xterm.

            The list is not small, when you think about it a bit.

            1. Anonymous Coward
              Anonymous Coward

              @_andrew - Re: If Oracle wins, you lose?

              I love the one about SQL. Someone should start enlarging his coffers because Oracle might have to pay dearly for this. Oh, and they can't go back in court to argue APIs should not be copyrightable.

            2. sbt

              The devel is in the details

              I asked for examples where this precedent of API copying would apply. Off the top of my head:

              * OpenGL is under a pretty liberal BSD-style licence. There is a trademark licence treated separately, but that isn't involved in the Oracle vs. Google case.

              * Octave/Matlab; languages, not an API.

              * SQL is an ISO standard and a language, not an API; anyone can buy a copy of the standard.

              1. sbt
                Windows

                Re: The devel is in the details - Part II

                Also, with respect to Wine, see https://forum.winehq.org/viewtopic.php?p=37364#37364. They seem to proceed on the assumption that reading, let alone, copying MS code is a no-no.

                VT100 and similar examples all fall down because it's possible to write an in-operable solution that supports the protocol or interprets the language without reference to a single line of proprietary source code by the originating vendor. Heck, I'd expect most terminal implementations weren't even open source; nothing to copy.

                The list is small, once you consider the specifics of this case.

                1. _andrew

                  Re: The devel is in the details - Part II

                  As near as I can tell, this case does not turn on whether or not the APIs in question were a clean-room implementation or not. The case is about the APIs themselves, absent any implementation at all.

                  1. sbt
                    Angel

                    The case is about the APIs themselves

                    ... or more precisely, as API source code has already been ruled by the SCOTUS to enjoy copyright protection, does Google have a 'fair-use' defence. It seems weak since the law on fair-use makes no mention of compatibility or APIs; It's not one of the 'four pillars'.

                    If Google loses, then Congress would need to make new law to fix this 'problem'. But they'd have to carefully define what an API is first, which as you have pointed out is not clear cut.

                    1. _andrew

                      Re: The case is about the APIs themselves

                      In Java there isn't any "API source code", as such: there is only implementation and the resulting .class files, and (pertinently here) the javadoc and interface description that can be mechanically extracted from the .class files. I'm pretty sure that that's what they're arguing about: the list of classes, methods and function names from the Java base library set. Names, arguments, structure. There isn't a source file with copyright notices on it, like a C header file. To be compatible, even a clean-room implementation would have to give you the same result.

                      1. sbt
                        Alert

                        There isn't a source file with copyright notices on it

                        Mechanically extracted or not, what was published by Sun and copied by Google was copyrighted. Again, this is already settled. The 37 files that ended up being at issue were marked PROPRIETARY/CONFIDENTIAL and included a copyright notice that included "DO NOT DISTRIBUTE".

                        See: http://www.fosspatents.com/2011/01/new-evidence-supports-oracles-case.html

                        But Google didn't just copy them, they distributed them.

                        1. GrumpenKraut

                          Re: There isn't a source file with copyright notices on it

                          fosspatents.com is a blog of Florian Müller, just as a warning.

                          1. sbt

                            just as a warning

                            OK, sure. Were his findings wrong, though?

                            1. GrumpenKraut

                              Re: just as a warning

                              He worked for Oracle and only admitted to it when pressed to disclose this. Let's say there is a big fat conflict of interest.

                              1. sbt

                                He worked for Oracle

                                At the time of the post in question? Or did that research get him the gig?

                                The question stands, was he mistaken/lying?

                                The courts didn't seem to think so; the code in question was litigated up and down the court system, with Google conceding they'd copied it. The later issues turned on whether it was protected (it was), not whether they copied it. Now it's about whether there's 'fair use'. That avenue of appeal only applies since they accept the copying.

                                1. NetBlackOps

                                  Re: He worked for Oracle

                                  Florian was bought and paid for before that post. That came out years ago.

                    2. jilocasin
                      Boffin

                      Re: The case is about the APIs themselves

                      API's != source code. The SCOTUS has *never* ruled that they were. You are assuming that an API *is* source code and then claiming that since source code enjoys copyright protection, then API's do to. If you start with a faulty premise it's inevitable that you will arrive at a faulty conclusion.

                      API's are a method of operation, they *must* be identical allow communication/interoperability in that language. If I have an API like:

                      long java.Math.Add(long a, long b)

                      Then any and every piece of software that calls the Add method has to match that exactly. How you choose to *implement* that is copy-writable, but that single line isn't.

                      1. Anonymous Coward
                        Anonymous Coward

                        Re: The case is about the APIs themselves

                        Individual words are not copyrightable. A collection of words that forms an original expression may well be copyrightable and it usually is, as that’s why the law was created, to form a property right over an original work.

                        Some works fail the copyrightability threshold because they are not sufficiently original, whille some succeed in the Fair Use defence because they have been sufficiently transformed - but these are two separate tests.

                        The Judges blew away the contention that APIs “never fell under copyright” - but this was only ever a rhetorical stunt created by Google’s PR department, in an attempt to make Google look like the poor innocent victim, and to scare people. But it was gibberish to anyone who understands what the law does and what a Court must do.

                        As you say yourself:

                        “ If you start with a faulty premise it's inevitable that you will arrive at a faulty conclusion.”

                        1. jedisnon

                          Re: The case is about the APIs themselves

                          Which judges "blew away" the contention that APIs “never fell under copyright”?

                          Not the district judge, as he found in favour of Google. Was it the CAFC judges who had to reverse their own rulings when the jury failed to give them the verdict they were after? The CAFC judges whose ruling is now in front of SCOTUS for review?

                          If the CAFC judges got it right and this was never anything but a "rhetorical stunt" then why did SCOTUS grant cert? Why is it one of the just *2.8% of cases* to succeed in getting SCOTUS to grant certiorari?

                          Could it be that you don't understand what you are talking about? That you don't understand the limitations to copyright described in 102(b)? That you don't understand the implications of Baker v. Selden, which dates all the way back to 1879?

                          Or... Larry? Is that you?

                        2. jilocasin
                          FAIL

                          Re: The case is about the APIs themselves

                          Too bad you don't seem to understand the limitations of copyright before you posted. Not all; "...collection of words that forms an original expression...". And it not just the insufficiently original that can bar a work from enjoying copyright protection. According to US Copyright law section 102. (https://www.copyright.gov/title17/92chap1.html ) :

                          "(b) In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work."

                          Did you notice the; "...procedure, process, system, method of operation..." portion of the law that states what's *not* able to be copyrighted? Guess what an API is? Spoiler alert: it's a procedure, process, system, method of operation.

                          The fact that the notoriously intellectual property maximal appellate court decided to rule to *expand* intellectual property wasn't all that surprising. If they had to ignore the black letter of the law, prior court cases, Supreme Court precedent and a lower judge and jury to do so, so be it. It hasn't stopped them before. If the Supreme Court agreed with their findings it wouldn't have taken up the case. The fact that it did, means that they aren't pleased with the appellate court (again).

                          So no, no "... rhetorical stunt created by Google’s PR department ...", just an accurate stating of the facts. Just because you don't seem to understand neither copyright law, or APIs, or even the history of this court case, doesn't make you right.

                          You might want to look into all three *before* calling other people's premises faulty.

                    3. Anonymous Coward
                      Boffin

                      @sbt Re: The case is about the APIs themselves

                      I agree with what you're saying.

                      Its hard for many to follow because they haven't been following this decade long case.

                      (longer than that...)

                      W.R.T 'Fair Use'... Google would lose on that argument. Fair Use has limitations and what Google did is outside of that.

                      IMHO I think it could be unanimous in Oracle's favor but lets say 6 to 2 in their favor.

                      1. jedisnon

                        Re: @sbt The case is about the APIs themselves

                        Google already won on that count. Multiple times.

                        Can the CAFC ignore the jury decision? The decision they ruled they were NOT competent to make? The decision they ruled MUST be made by a jury? The jury decision that Oracle explicitly agreed to be bound by?

                        That's a total car-crash and SCOTUS knows it stinks.

                      2. NetBlackOps
                        Mushroom

                        Re: @sbt The case is about the APIs themselves

                        If Google doesn't have fair use to API's, none of us do. I'm lucky, never once have I made use to any API's save, at the university the C and C++ standard libraries. Everything else I've done to now and been totally standalone. I fear that going forward, the only safe way for software engineers and developers to work, is that way. Here's to the rampant bugs of the future.

                        Perhaps, at least in software engineering, formal verification will see positive uptake.

                2. iron Silver badge

                  Re: The devel is in the details - Part II

                  In what way does an API need to be open source to be copied? Even lines of code don't need to be open source to be copied. This has nothing to do with if Java is open source or if lines of implementation code were copied literally, it is about copying of interface definitions.

                  For example if I write and copyright a language where multiplication is done like this:

                  MULTI(X, Y)

                  If Oracle win then you can't write a language which uses the same keyword and takes two parameters to multiply them. Probably all languages are infringing on each other because there are only so many ways to express the same basic concepts and everyone, Oracle included, will have to pay royalties to IBM because they invented FORTRAN. (I'm assuming the University of Manchester didn't bother to copyright Autocode.)

                  1. sbt
                    Meh

                    it is about copying of interface definitions

                    Yes, which were subject to copyright. But you can write as many MULTI(X, Y) functions as you like; copyright isn't in a single function signature (or even a list). You can add MULTI(X,Y) to every language you create. This case is not about what most developers do, or even library software vendors.

                    You just can't copy Java's API source code and make it your own (unless you accept the GPL, or promise to be 100% compatible).

                    1. FeepingCreature Bronze badge

                      Re: it is about copying of interface definitions

                      You can write a file that has the same content as a Java API source code ("as many MULTI(X, Y) as you like"), but you cannot "copy" the Java API source code?

                      So you're saying cleanroom engineering applies to copyright?

                    2. jilocasin
                      Boffin

                      Re: it is about copying of interface definitions

                      But an API *is* a function signature. That's the point you don't seem to get. Oracle's arguing that it can license "MULTI(X,Y)" and demand licensing fees from anyone that adds that to ANY language or any piece of software.

                      What Google copied was the listing of Java's function signatures. What this Supreme Court case is about is whether that list of function signatures (a.k.a. an API) is entitled to copy write protection. Until now the answer was no.

                  2. eionmac

                    Re: The devel is in the details - Part II

                    My Autocode handbook circa 1957 is copyrighted.

                  3. eionmac

                    Re: The devel is in the details - Part II

                    PS My original printed copy was given to Computer Museum. I have PDF of same.

                  4. Anonymous Coward
                    Boffin

                    @iron Re: The devel is in the details - Part II

                    Its not that simple.

                    Remember that when you compile the language your MULTI(a,b) gets broken down.

                    Naming conventions of code are one thing... what google did was far more severe than that.

                    You're jumping to a conclusion that doesn't make sense or hold water.

                    1. jilocasin
                      Boffin

                      Re: @iron The devel is in the details - Part II

                      Mike,

                      No, that about sums it up. Oracle is arguing that you need a license to copy the collection of the structure of functions and the signatures themselves. Everything else is just smoke from people trying to conflate APIs and source code.

              2. _andrew

                Re: The devel is in the details

                I think that you'll find that the border between "language" and API is fuzzier than you are making out. Not all programming interfaces exist just as function prototypes in a C-like syntax: some syntax is api. Every word in forth, smalltalk and lisp/scheme "languages" is a function API. Whether access to an API is by changing an instruction pointer value or a dialog in a particular serialised protocol (say, HTTP, or CORBA) is unlikely to make any significant difference to the principle at stake here. Sure, Matlab and SQL are languages, but they're also the APIs to a database and matrix engine, and within them there are both procedures and functions that have specific meanings. Now SQL has been standardized, but it originally belonged to IBM, and not all standards (even ISO standards) have free terms, let alone RAND, especially where patents are involved.

                That OpenGL was open-sourced by SGI themselves may or may not be pertinent. Java was open-sourced by its creator too. Clearly the details do matter, but I think that reasonable people can disagree about the significance and meaning of specific details.

                I'm not saying that there are impending court cases in any of these examples. Just pointing out that the activity in question is, on one form or another, common practice and has long historical record.

                If we're really, really lucky, the ruling on the current case will be narrow enough that we (other than google and oracle specifically) can go about our business as before.

                1. sbt
                  Childcatcher

                  The activity in question

                  To the extent that APIs are like languages, they get little to no protection as lists of words; the language/API distinction doesn't matter here. Devs can write parsers for languages and implement the behaviour of functions to provide compatibility without copying source code. This is common practice, but not the 'activity in question'.

                  1. jilocasin
                    Boffin

                    Re: The activity in question

                    Glad you agree with Google. That's *exactly* what they did. They wrote *their* *own* compiler, *their* *own* runtime that uses *their* *own* byte code format. And they did it with their own (well with some help from Apache Harmony's Apache licenced work) source code What they *didn't* do was copy Java's *source* *code*. They wrote, in your parlance a

                    "...parsers for languages and implement the behaviour [sic] of functions to provide compatibility without copying source code."

                    It is common practice, it *is* the 'activity in question', and if the ruling goes in Oracle's favor will *definitely* impact the way software is developed going forward.

              3. doublelayer Silver badge

                Re: The devel is in the details

                "* OpenGL is under a pretty liberal BSD-style licence. There is a trademark licence treated separately, but that isn't involved in the Oracle vs. Google case."

                This one probably holds. Worth keeping in mind that the person you're replying to specifically stated that they hadn't checked, so while this one's choice of license makes it unlikely to take advantage of a precedent, it could have fallen into it had the developer made a slight change to the license chosen.

                "* Octave/Matlab; languages, not an API."

                A language and an API are very similar. Both take creative effort and specify a way of running things, the implementation of which is provided later. I would not expect them to be treated differently.

                "* SQL is an ISO standard and a language, not an API; anyone can buy a copy of the standard."

                Anyone can read a copy of Oracle's Java APIs, but reimplementing them is what Oracle thinks they can forbid you from doing. Someone who decided to license SQL could allow you to purchase a copy and read it, but woe to those who try to reimplement it without receiving permission. This is not unusual with standards; if I try to reimplement the LTE specification from its standard without purchasing licenses to the components, they would be very grumpy. I also contest your language-not-API distinction here. I don't think it matters anyway, but I think it's also incorrect in this case. SQL may be both, but it provides a series of functions with parameters. That's effectively an API, it's a list of possible functions which exist. SQL also includes a language in which the functions are called.

                1. sbt
                  Angel

                  but reimplementing them is what Oracle thinks they can forbid you from doing

                  Well, no. Otherwise they'd have a case against GNU Classpath.

                  The case hinges on whether Google has a 'fair use' defence for copying.

                  "A language and an API are very similar."

                  As pointed out elsewhere, 3rd party support for languages doesn't require copying code; APIs, maybe, maybe not. To the extent it does or would, the original author gets copyright protection, and therefore license control. But the more an API has in common with a language (i.e. a list of words), the less protection it has. The Supreme Court has already ruled against Google in their first appeal that the specific Java source code at issue has copyright protection, and that Google copied it. It's come down to fair use.

                  Standards also can have patent issues. I'd expect your LTE example hinges more on patents than copyright.

                  1. doublelayer Silver badge

                    Re: but reimplementing them is what Oracle thinks they can forbid you from doing

                    Yes, that is exactly what they think they can do. It's simplified, since they think they can prevent you from doing it if you haven't complied with one of their licenses, either the GPL or one where you pay them, but they think they get to set the terms under which you can create functions with the same names and parameters. They think that, if you don't follow the terms, you aren't allowed to create those functions. They might end up being right according to the legal system, but all we're discussing in this thread is what that could mean later.

                    Reimplementing an API doesn't require copying code, but it does require writing very similar code. If the original API reads like this:

                    int factorial(int n); //returns -1 if n is invalid

                    int fibonacci(int n); //warning: negative numbers means undefined behavior

                    There's only so much you can do to create a reimplementation. You can change lots of things, but probably the most you can change and have it still work is this:

                    int fibonacci (int x);

                    int factorial (int x);

                    The person who typed that may never have seen the code specifying the previous API, but their code necessarily looks very similar. If copyright prevents me from copying a list of function names, it almost certainly prevents me writing down the list of names myself and going from there. No matter how I change the comments, spacing, or parameter names (and I probably shouldn't be doing that), it's going to end up being basically the same.

                    1. sbt
                      Alert

                      almost certainly prevents me writing down the list of names myself and going from there

                      No, lists don't get copyright protection, and Oracle don't get to determine what lists of functions you write. Google could have avoided this whole case if they'd done what GNU Classpath did (effectively what you suggest). Copyright protection isn't in ideas. That's patents. Similarity/confusion, that's trademarks.

                      Google went and copied, but by the time the licence issue came up, their code and dev team were already tainted. They should have worked out their willingness to license the Java source code before investing.

                      1. doublelayer Silver badge

                        Re: almost certainly prevents me writing down the list of names myself and going from there

                        Except for some mistaken copying of a few lines, what Google copied was a list. A list of functions. Just like my list of functions. Oracle claims that this code, the declarations of the API they own, is theirs to control. Whether someone copies the file containing the list or writes down the list, it's still a list and contains the same items.

                        Oracle claims that copying that code is a violation of their copyright rights. They're not hinging it on the nine lines accidentally copied; everyone agrees that wasn't allowed and the lines were removed. They're basing it on the 11K lines that remain. Here's the problem with the argument you're making. Either those lines are copyrightable or they're not. If they are, then it doesn't matter whether I reorder them or make slight modifications, whether I copied them with a clipboard or typed them manually, I'm not allowed to copy them without permission. Oracle owns the text and I'm only allowed to use it if they approve. You are arguing that Oracle can copyright just those declarations, but that it would have been just fine had Google somehow written the list themselves. Not only is that impossible, but it is directly contradicted by copyright law; copyright law doesn't care how I duplicated work, whether I ran a book through a photocopier, got a bunch of blank paper and copied it out by hand, or had someone else play a word game to give me each word in sequence.

                        There are two logical ways to resolve this. The first method is to state that APIs are too basic to copyright, being lists of names. In this case, Google can keep using their file. You seem to disagree with the legality of this option. The alternative is to say that they are copyrightable, and therefore to copy the essence of them without permission is forbidden. In this case, it's not possible to take the steps you suggest to get around that. The two APIs I wrote above are the same. They're reordered a bit and I dropped some comments, that's all. But copyright doesn't care about this. If I dropped every second page from a book and randomized those pages before publishing them, I still committed copyright infringement against the author. Even if I rewrite those pages without reading them myself through some complex arrangement.

                        1. sbt
                          Pirate

                          what Google copied was a list

                          No, what googled copied was protected by copyright. The Supreme Court already ruled in Google's first appeal that it was.

                          It is possible (as per the GNU Classpath example) to provide a novel implementation of an API that is compatible with Oracle's without violating the copyright protection, but Google just made theirs by copying the files.

                          The ideas or 'essence' that GNU Classpath re-implemented are not protected, so they're OK; copyright protects expression, not ideas. There was nothing stopping Google doing the same, except perhaps, poor planning, laziness, and/or hubris.

                          1. FeepingCreature Bronze badge

                            Re: what Google copied was a list

                            Well, then isn't this trivial to fix?

                            Google just have to stop distributing their headers, and start distributing 100% identical headers that are produced by somebody describing the content of the headers to another person who is sitting at a keyboard and just jotting down the types. Few weeks of work, no long-term impact on Android.

                            Maybe they have to stop distributing the existing files, rebuild precisely binarily equal files and start distributing those. It'd be a giant farce, but it's a doable giant farce.

                          2. jilocasin
                            Facepalm

                            Re: what Google copied was a list

                            Incorrect, the Supreme Court never ruled in that manner. They refused to hear Google's appeal of the case the first time. The Court denied the certiorari petition on June 29, 2015. That's *not* the same thing. They obviously didn't think it was ripe for appeal at that time. Now that they have granted certiorari, they obviously believe that it is (or they were hoping that it would be resolved/allowed under Fair Use and keep them from having to step in).

                            You *can* *not* by definition provide a novel implementation of an API without *using* that API. Something Oracle's arguing if the API itself is granted copy right protection.

                            You seem to be commenting quite a bit about something that you are obviously confused over. I would suggest that you learn more about what an API actually is and not what Oracle, the notoriously patent friendly United States Court of Appeals for the Federal Circuit, or other arm chair programmers think it is.

                        2. Neil Stansbury

                          Re: almost certainly prevents me writing down the list of names myself and going from there

                          I think the interesting analogies to answer this are:

                          1) An API is an index into your wider "story". Is the index of a book part of it's copyright? Is the index part of the creative act in its own right? Can I copy the index of your book and use it in my book, if the chapters have different content? On the other hand, is the layout and design of these chapters uniquely creative and fundamental to the expression of this book as a creative work?

                          2) Can I copyright a recipe? If you publish a recipe for the best apple pie can you copyright it? Can you claim your mixture of ingredients, weights, measures and the order they are mixed in is a creative work?

                          1. Anonymous Coward
                            Anonymous Coward

                            Re: almost certainly prevents me writing down the list of names myself and going from there

                            "Can I copyright a recipe?"

                            Oddly, the established answer is mixed. You *CAN* copyright a recipe - the exact wording of the list of ingredients and the instructions. You *CANNOT* copyright what ingredients and their quantities are used. So photocopying a written recipe can be considered copyright infringement, but jotting down the ingredients and quantities and then writing your own instructions is fair use. Weird, isn't it?

                            1. Mike 137 Silver badge

                              Re: almost certainly prevents me writing down the list of names ...

                              "Weird, isn't it?"

                              Actually it's not weird if you recognise that copyright traditionally subsists in form and presentation, not in content. A Harry Potter book is copyrighted but in principle you could legitimately write a book containing the same story, provided no character or event is expressed in the same words. It's a very important distinction - that ideas can not be protected by restrictive rights, but their expression can be.

                              However this principle has been overlooked in several recent (and unfortunately successful) cases against musicians, where short musical phrases or rhythms (merely the equivalent of words) have been deemed to be protected. A growing body of decisions is progressively blurring what used to be a clear framework of balanced intellectual property rights into an increasingly restrictive amorphous heap.

                              1. NetBlackOps

                                Re: almost certainly prevents me writing down the list of names ...

                                Be damned hard to copyright the ideas behind a story as, according to folklorists (anthropologists that specialize in folklore) that there are seven fundamental story ideas across all human cultures. You'd recognize them if I listed them and provided examples.

                                Mom's an anthropologist and I used to wander through her library collection.

                            2. jilocasin
                              Coat

                              Re: almost certainly prevents me writing down the list of names myself and going from there

                              Not really. A recipe is a method of operation (for example on how to make a delicious chocolate cake) and as such isn't entitled copyright protection. A *collection* of recipes along with any commentary would be. It's why, at least on this side of the pond, you can't copyright the phone numbers in a phone book, but you could copyright the book itself along with the ads, notes commentary it may contain. It's also why there can legally be a hundred books containing that same delicious chocolate cake recipe. ;)

                            3. bombastic bob Silver badge
                              Unhappy

                              Re: almost certainly prevents me writing down the list of names myself and going from there

                              IANAL. Heres a real world example: an electronic circuit board.

                              a) patent the circuit itself, its overall design and uniqueness to solving a problem or providing a product. The overall design, excluding how it's presented, would not be upheld under copyright.

                              b) copyright the board layout itself, which may also contain a presentation of design [such as the size of copper or unique layout, very important in the RF world].

                              The first protects your basic design. The 2nd protects your board layout from plagiarism. Significant changes to both would be needed for a competitor to NOT license the design from you and legally produce a competing product.

                              No solution is perfect, but each part has its use. And IANAL. yet WRONGLY interpreting what copyright means, when a patent might be needed, could throw the entire system into CHAOS with various forms of abusive legal trolling, or outright piracy going unchecked.

                          2. Zolko Silver badge

                            Re: almost certainly prevents me writing down the list of names myself and going from there

                            "An API is an index into your wider "story".

                            that depends: if it's a distinctive and separate entity, like header files, then you can argue that it's similar to an index. But if the API is extracted from the full source code, as happened here if I understand correctly, then the API is not an index, it's a partial copy of the source code which is copyrighted.

                            Google didn't want to license Java from Oracle, and also didn't want to follow the GPL license. I can't see Oracle loosing here, and the big winner would be open- and free-source software.

                            Google wouldn't only have to pay Oracle, but would have to GPL the proprietary derivative works they laid on top of Android, like the Google Play Store !!! A big win for .... Huawei.

                            1. jilocasin
                              Boffin

                              Re: almost certainly prevents me writing down the list of names myself and going from there

                              Nope. An API is an API is an API. It doesn't depend if it's in a header file (like in some C like languages) or used in an individual program. An API is a method of operation, in order to have multiple programs be compatible, to be essentially using the same *language*, they have to be using the same API. So, if the listing of function signatures is in a separate file, included as part of a larger file, in the back of a book you bought, or written down on a bunch of index cards, it doesn't matter. It doesn't change the essential fact that an API is a method of operation, a collection of function signatures, and as such is excluded from copywritable material.

                              As for licensing Java from Sun (they couldn't Sun only wanted to license JavaME, and the GPL'd version of JavaSE had a range of use limitation *forbidding* it's use in mobile applications) Google didn't have to. If Java was fit for purpose, they could have just used the Apache Harmony version of Java SE that was licensed under the Apache license. The only restriction was that they could not call it Java (hence Harmony). But Java wasn't, and some would argue still isn't. Google's dialect of the Java *language* was better for Google's needs (which required them to rewrite the compiler, the runtime and even the bytecode). Just like Apple with it's transition from Objective-C to Swift, Google is transitioning from Java to Kotlin to better support development on their respective platforms. It may even make the Go language an option.

                              Either way, even *if* Oracle would win this case (shudder) it won't do a thing for the GPL, it wouldn't force Google to release *anything*, it would just put a lot of money in Oracle's pocket and hasten Google's transition away from the Java language.

                              What it will do is spawn a new cottege industry of API/copyright trolls.

                              1. Zolko Silver badge

                                Re: almost certainly prevents me writing down the list of names myself and going from there

                                "Nope. An API is an API is an API."

                                just because you say that doesn't make it so. Google claims it's an API, Oracle claims it's copyrighted code.

                                And as for the licenses, as you say, Google had multiple legal choices, but none that suited it's corporate needs, so they simply ignored everything. If Google wins (shudder) it's the end of open-source licenses, as any BIG corporation can simply bypass the license of a small but successful project and take it over.

                                1. Hawkeye Pierce

                                  Re: almost certainly prevents me writing down the list of names myself and going from there

                                  Hmmm, just as Oracle *COPIED* the AWS S3 API and claimed that because Amazon released an *SDK* under an open-source licence which __called__ the API, they were legally on safe ground on by reimplementing that exact API?

                                  If Oracle win this, Amazon will release their lawyers on Oracle.

                                2. jedisnon

                                  Re: almost certainly prevents me writing down the list of names myself and going from there

                                  Say what? Oracle agrees that it's an API. An interface. The declarations aren't even code - they don't do anything other than tell a developer how to invoke functionality. They are labels on the levers that make a machine perform tasks.

                                  You can't copyright the names or functionality of levers and buttons, even if they are expressed as text and even if there are thousands of them. 11,000 * 0 == 0. Get a patent or GTFO.

                                  Oracle didn't have a licence to implement IBM's SQL. Instead they stole it. Oracle didn't have a license to implement Amazon's S3 API. They stole that, too. They now want to make their own behaviour - the foundations of their existence - illegal. It's beyond stupid.

                                  Your point (I use the term loosely) about license is nonsensical. This isn't about removing copyright from all computer code - just the interfaces that open-source projects such as Samba and Wine have *always* thought they were free to copy and re-implement.

                                  It's not the end of anything except a hugely damaging money-grab by One Raging Ar$eh0le Called Larry Ellison.

                      2. Doctor Syntax Silver badge

                        Re: almost certainly prevents me writing down the list of names myself and going from there

                        "They should have worked out their willingness to license the Java source code before investing."

                        IIRC Oracle were unwilling to licence the particular flavour of Java that Google needed, hence Google's decision to roll their own.

                        1. Anonymous Coward
                          Anonymous Coward

                          Re: almost certainly prevents me writing down the list of names myself and going from there

                          Oracle weren't involved, Oracle were actively trying to get Sun to relax licensing on the Java Compatibility Kit more and be more open. That all changed when Oracle bought Sun.

                      3. Anonymous Coward
                        Anonymous Coward

                        Re: almost certainly prevents me writing down the list of names myself and going from there

                        "They should have worked out their willingness to license the Java source code before investing."

                        There wasn't an option to licence the Java source code - for mobile you had to use JavaME (which was awful) or nothing.

                        This was pre-Oracle - they invented nothing, they bought Sun who owned the rights to Java. Sun had welcomed Android knowing how it was implemented.

                        You couldn't licence it, the owners publicly approved of your implementation, you'd think they didn't have another option if they wanted to make something that was Java Language compatible.

                  2. JetSetJim

                    Re: but reimplementing them is what Oracle thinks they can forbid you from doing

                    > Standards also can have patent issues. I'd expect your LTE example hinges more on patents than copyright.

                    They do indeed, but given there are freely available open-source implementations of LTE I suspect the implementation license is rather liberal and they'll only try and take a bite from you when you sell it

              4. iron Silver badge

                Re: The devel is in the details

                > SQL is an ISO standard and a language, not an API; anyone can buy a copy of the standard.

                You clearly don't know much IT history. SQL was originally written by IBM and described in a research paper. Ellison read that paper and created his own copy which became the Oracle database - this is exactly what Google did with Java. Efforts to standardise SQL came much later and that is why SQL is subtly different on Oracle, DB2, MSSQL, PostgreSQL, etc.

                1. sbt
                  Alert

                  this is exactly what Google did with Java

                  No, not exactly. Google copied the Java code. Larry wrote his own code, following the language specification; no problem, copyright wise.

                  This case is about a rare situation where code is copied, not where APIs are reimplemented. A win for Oracle will have no major effects; it's the status quo. A Google win opens up a whole new line of fair-use defence, though, so much more impact (e.g. on GPL developers).

                  1. jedisnon

                    Re: this is exactly what Google did with Java

                    Larry COPIED the language specification and wrote his own implementing code.

                    You are not arguing honestly.

                    1. sbt
                      FAIL

                      the language specification

                      has copyright protection. But Larry didn't distribute copies of the specification. He wrote code and distributed that. If you can't see the difference between the specification and his implementation, I don't know what to tell you.

                      1. jedisnon

                        Re: the language specification

                        If you can't see the difference between the specification and Google's implementation, I don't know what to tell you.

                      2. jedisnon

                        Re: the language specification

                        Oracle distributes these things called specifications for both the Java SE language and VM.

                        https://docs.oracle.com/javase/specs/

                        Your argument is that it is okay For Larry Ellison to copy other people's specifications but not for Google to copy his.

                        How very odd.

                  2. jilocasin
                    FAIL

                    Re: this is exactly what Google did with Java

                    So you *still* don't know what you are arguing (or are purposefully ignorant).

                    Larry copied the API from a piece of paper (well lots of pieces). Google copied the API from a software file. It's a difference without a difference. Would it make you happier if Google had *printed* *out* the API before they reimplemented it?

              5. jedisnon

                Re: The devel is in the details

                "SQL is an ISO standard"

                It wasn't at the time Ellison stole it from IBM. He copied the structure, sequence and organisation of IBM's SQL along with it's syntax, commands and parameters "right down to the error code values" (Donald Chamberlin, one of the creators of SQL, 1995)

                It was flagrant theft of IBM's new database interface - IBM's creative, hard work - and it cost IBM millions, if not billions. Ellison got rich while IBM lost a huge new market.

                If copyright protected software interfaces then Oracle wouldn't even exist. They would have been sued into oblivion for blatant infringement.

                See: https://arstechnica.com/tech-policy/2020/03/before-it-sued-google-for-copying-from-java-oracle-got-rich-copying-ibms-sql/

            3. coconuthead

              Re: If Oracle wins, you lose?

              "Every VT100 (or derivative) compatible terminal, including xterm."

              The VT100 escape sequences are a subset of ISO 6429, which is itself an adoption of ECMA-48. ECMA-48 is available for free from www.ecma.ch. I can't find any acknowledgement of DEC copyright or indeed any copyright notice in my copy of ECMA-48 (from June 1998). It is usual for standards like this to explicitly call out any copyright, patent or other licensing encumbrances if they exist.

              If whatever part of the old HP that now owns the VT100 IP did try to assert copyright over the escape sequences, they'd look a bit silly considering the HPGL escape sequences for the old HP plotter also became a de facto standard in scientific programming, and HP never showed any sign of being unhappy with that.

              1. jilocasin
                Unhappy

                Re: If Oracle wins, you lose?

                And Sun never showed any sign of having an issue with what Google did, that was until they were bought out by Oracle, and gee look, now they do.

                So, if Oracle wins you can expect companies to by out old companies that could be considered the copyright owners of the APIs in use and start suing everyone else that implemented them.

          2. jedisnon

            Re: If Oracle wins, you lose?

            Oracle copied and re-implemented Amazon's S3 API. They did so without a license.

            Justice Sotomayer even brought it up in oral arguments:

            "So I guess that's the way the world has run in every other system, whether it's Apple's desktop or Amazon's web services, everybody knows that APIs are not -- declaring codes are not copyrightable. Implementing codes are."

            Ouch.

          3. Anonymous Coward
            Boffin

            Re: If Oracle wins, you lose?

            This is where it gets a bit wonky.

            Suppose you create a bit of software written in Java/Scala/C++ or whatever.

            You publish the APIs for the language in which the code was written.

            Another company, a competitor writes a bit of code that allows their products to conform to the API. The underlying code is completely unique and different.

            The Oracle case would have no bearing on this use of the API.

            And its important to note that Google didn't do that. Their version wasn't a clean room copy. (You have to go back years into the court case to see this evidence.

            1. jilocasin
              Boffin

              Re: If Oracle wins, you lose?

              Actually I think you might be a bit confused. There are actually a few different parts of this case, the current Supreme Court case is only about the last one the API question.

              First there was the very small amount of code that Google had copied without a license, they said by accident, into their software. That was ruled O.K. under a de minimis defense. Google removed it anyway.

              Next there's the *legally* copied source code that Google got from the Apache licensed Harmony project. This project was an IBM backed open source project to re-implement the Java API through a clean room process in order to have a version unencumbered by any Sun restrictions. It was never certified as *Java* because the compliance tests required agreeing to a use restriction that was incompatible with the Apache license. This is where I think you are confused. Yes, Google copied Java code, no it wasn't Sun's and no it wasn't illegal. There's no disagreement between Oracle and Google on this point.

              Finally there's the case of the APIs, the form, structure and signatures of the Java language. Oracle's arguing that they never licensed these separately. You only get to use them if you use an Oracle blessed version of Java, either the open sourced GPLed Open JDK version, or their closed source version. In effect they are arguing that they have the right to prohibit anyone else from ensuring compatibility with Java without their say so. Remember, Google wrote their own compiler, their own runtime, and the resulting files are stored in their own bytecode. You can't take a Google compiled program and run it with a 'Java' runtime, nor can you take a program compiled with a 'Java' compiler and run it under Google's runtime. The only thing the two share in common is the *language* and the *API*.

              That's what this case is about.

              1. oliversalmon
                Thumb Up

                Re: If Oracle wins, you lose?

                Thanks, that was unusually informative

    3. sbt
      Holmes

      Re: Re-implementation of APIs is common ... and legit

      Maybe, but not Google's unlicensed copying. Ignore the hype that Google has stirred up over this case; it's not representative of a widespread practice. An Oracle win just means that it's not a free-for-all to copy proprietary APIs without a licence, and may mean folks will choose the APIs they build on more carefully. Remember that Google wanted to do the dirty on Android devs by making proprietary extensions/incompatible changes as well, somewhat against the 'write-once, run anywhere' selling point of Java; one reason devs (that Google was trying to attract) would invest in learning the skills and API knowledge to code in it.

      I don't like Java or Oracle, but the enemy of my enemy is not necessarily my friend. Life (and law) is more complicated than that.

      1. Anonymous Coward
        Anonymous Coward

        Re: Re-implementation of APIs is common ... and legit

        An Oracle win would impact trading in the US. The EU on the other hand has no issue with reverse engineering for compatibility purposes. Implementation of an API would fall under that.

        As for write once run anywhere (without any additional work). Reality would demonstrate that claim to be false right off the bat.

      2. jilocasin
        Big Brother

        Re: Re-implementation of APIs is common ... and legit

        That's assuming the conclusion. You are assuming that APIs are copyrightable and that makes any unlicensed copying problematic. It is, and should be, a 'free-for-all' to re-implement API's. It doesn't matter if they are proprietary or not. If it did, we wouldn't have non-IBM BIOS, Microsoft-DOS, Quatro Pro, Oracle's database, GIMP, Linux, Apple's GUI, the Amiga's GUI, Windows, OS/2's Windows compatibility layer, the list goes on and on and on.

        Any software written for Amazon's cloud would have to be rewritten for Oracle's cloud. If you didn't like the compiler written by the manufacturer, then you wouldn't be free to write your own. The software industry will become a fragmented mess as people try to make sure anything new doesn't use any existing APIs, and companies are forced to defend themselves in court against the new breed of API trolls.

  3. Anonymous Coward
    Meh

    Nine Laypeople

    For most cases, the justices don't have any more knowledge than the average person except for matters of law. They are attempting to fit the facts of the case into laws, also written by laypeople and signed by a layman (since no woman has held the post) president. For all of this they have more knowledgeable aides that they can consult. Goddess only knows what the result will be.

    I wonder how many of the justices use Android phones?

    1. Doctor Syntax Silver badge

      Re: Nine Laypeople

      There seems to be a widespread view, which I find very odd, that judges live in isolation from the rest of the world and know only about the law.

      A moment's thought should lead to the realisation that all manner of cases are brought before them. As a defunct Sunday paper used to claim, all human life is there.

      1. Anonymous Coward
        Anonymous Coward

        Re: Nine Laypeople

        Laypeople was not meant as an insult. It was originally to distinguish between the clergy and those in the pews, the laity.

        Because we are reading ElReg, we probably understand the concept of APIs but the proverbial average person does not.

        Similarly, the justices understand patent law, copyright law, and case law while the proverbial average person does not. Even after 10 years of this case (and others) my knowledge of patent and copyright law is better than average but still limited and when it comes to case law the accounting books case was new to me.

        As far as the cases brought before them, keep in mind that they don't act like the initial court. They can't call the Oracle and Google developers to testify. They can only look at the testimony that is already in the record and the presentations of the designated attorneys.

        1. jilocasin
          Coat

          Re: Nine Laypeople

          Actually at the moment there are only eight people (God rest her soul).

          And if you've been reading some of the comments posted here, I think the Supreme Court Justices may have a better understanding of what and API is and how it's different than source code than many of the commentors.

      2. Claverhouse Silver badge

        Re: Nine Laypeople

        There seems to be a widespread view, which I find very odd, that judges live in isolation from the rest of the world and know only about the law.

        .

        "Who is Dan Leno ?" asked the Judge.

        1. lglethal Silver badge
          Trollface

          Re: Nine Laypeople

          "Who is Dan Leno ?" asked the Judge."

          Is that Jay Leno's brother?

      3. doublelayer Silver badge

        Re: Nine Laypeople

        Judges don't live in isolation, but some things are sort of hard to understand if you've never learned about them. How does one operate a phone? They know that. How do you manufacture a phone? They have a fairly good idea. What is the difference between an API, a language, and a functional implementation? They have no reason to know that.

        It's not that they live in isolation but instead that very few people know that kind of detail. Things we assume everyone on the comment board understands are things the general public has never heard of. I present you the following challenge: find ten random people who don't now and haven't before write code or administrate complex computer systems. Ask them the following questions, which I'm sure we could all answer in an instant. One point for understanding what the terms mean, one additional for getting the details right.

        1. What does an operating system kernel do and what does it not do?

        2. What is the difference between ROM, RAM, and nonvolatile storage?

        3. What does compiling code do?

        4. What is the difference between little endian and big endian encoding?

        5. What is an API?

        6. What is the difference between an IP address and a MAC address?

        7. What is an ISA and which one or ones are you using?

        8. Identify a piece of software you use. What language or languages was it written in?

        Run this test on the nontechnical public. I'm guessing you'll see a lot of zeros, the occasional one, and maybe a two. Not a sixteen. You don't need to be isolated to not understand points core to the topic.

        1. Caver_Dave Silver badge

          Re: Nine Laypeople

          I sat next to a Florida based judge on a Transatlantic flight once. It very quickly became clear that he wanted to learn about specific aspects of computer control systems for an upcoming case. I suggested that he should request that the parties engage "expert witnesses" rather than speaking to me. He said that he only wanted the gist of things from me so that he didn't look so dumb when the "expert witnesses" turned up.

  4. all ears

    Good analysis

    This is one of the best discussions of this case I have seen. It covers the nuances well, and doesn't freak out at the prospect of Oracle winning.

    As the article pointed out, despite the ramifications of this decision for the software industry, the decision is being made by people who are largely ignorant about software development, and will be on legal grounds. These legal precedents have been set by creative works such as fiction, and have only a tangential relationship to writing code, even though both are expressed as text.

    In any case, programming will go on. And don't worry about the possible additional cost of producing code -- it'll just be passed on to the consumer.

    1. Chris Gray 1
      Unhappy

      Re: Good analysis

      Yes, good analysis, but I do wish to freak out about the possibility of Oracle winning. The reason for that is that I program by myself, with no umbrella organization over me. If Oracle wins, it may well become illegal for me to release my software! Given that I've been working on it off and on for nearly 2 decades, its a big deal for me. I do not and will never have the resources to find out if my ideas were already considered by some large corporation and then filed in a drawer.

      Take things back a while - could Linux exist in a universe in which Oracle won before Linus started his project?

      Could we end up in a situation where large corporations force project repositories out of GitHub/GitLab, much like is done for videos on YouTube, etc.?

      1. Snake Silver badge

        Re: Good analysis

        "If Oracle wins, it may well become illegal for me to release my software! Given that I've been working on it off and on for nearly 2 decades, its a big deal for me. I do not and will never have the resources to find out if my ideas were already considered by some large corporation and then filed in a drawer.,

        But if Google wins then there is the possibility to crib off your work with no compensation under the guise of "fair use". Google did it for decades with the publishing industry, reprinting articles, books and magazines under a claim of "fair use", so don't believe that it can't happen again, just to you this time.

        ...

        The fact is that, if Oracle's position does indeed represent the status quo, then yelling out fear of "Leisure Suit Larry and his lawyer minions" is just a dog whistle. If it's "status quo" then that is what is occurring NOW, and a court decision upholding it won't change the dynamic that already exists in the known world. The court will only be reaffirming said status quo. It won't be anything new.

        1. eldakka

          Re: Good analysis

          The fact is that, if Oracle's position does indeed represent the status quo, then yelling out fear of "Leisure Suit Larry and his lawyer minions" is just a dog whistle. If it's "status quo" then that is what is occurring NOW, and a court decision upholding it won't change the dynamic that already exists in the known world. The court will only be reaffirming said status quo. It won't be anything new.

          I think you misunderstand what is meant in this article by 'status quo'. It is referring to the most recent precedential ruling by the highest court to date to have heard this issue, the Federal Circuit Appeals Court, that is a recent ruling.

          For decades the 'status quo' has been that APIs weren't copyrightable, but that status quo was upended a few years ago by the Federal Circuit Appeals Court, and is now the current status quo. Thus the status quo is a new status quo that has only existed for 3 or 4 years for copyrightability, and only 2 years with respect to denying "fair use".

          1. sbt
            Terminator

            For decades the 'status quo' has been that APIs weren't copyrightable

            I'm not sure that's the case. If you mean 'APIs' in terms of a list of words, then that remains the case. But the earlier ruling that Oracle's source code which defined the Java API was entitled to copyright protection as a novel expression of an idea was also reasonable, and hardly a great upset in settled jurisprudence.

            This time, Google's looking for a fair-use defence on stony ground; giving it to them would be a significant departure from 'status quo' given the 'four pillars' in law make no compatibility allowance.

            1. Jimmy2Cows Silver badge

              Re: Earlier ruling

              Just because an earlier ruling reversed the status quo, that doesn't make that ruling correct. It came from a misunderstanding of what an API is, in the context of language, interface and implementation.

              1. jedisnon

                Re: Earlier ruling

                There was no earlier ruling.

                His entire narrative that SCOTUS has already ruled that the Java API declarations are protected by copyright is false. It's a bit of a theme.

            2. jilocasin
              Flame

              Re: For decades the 'status quo' has been that APIs weren't copyrightable

              That's a non-sequitur. There is no such thing as; "Oracle's source code which defined the Java API...".

              The appellate judges incorrectly conflated the API with the source code, it isn't the same. One is a list of structure and function signatures and the other is an attempt to use the former to accomplish something. Justice Alsup ruled correctly. The fact that they might look remotely similar to the untrained eye doesn't mean that they are in fact the same.

              For decades, and there have been previous cases on this point, it's been that API's were uncopyrightable. The appellate judges, who have a history of ignoring both the black letter of the law and Supreme Court precedence in order to expand intellectual property protections when ever they can, overruled him. When it was sent back for remand, the jury *again* found no problem with what Google had done. Just as predictably the appeals court overruled the jury this time.

              Hopefully the Supreme Court gives the lower court the bench-slap they so rightly deserve.

              1. NetBlackOps

                Re: For decades the 'status quo' has been that APIs weren't copyrightable

                The Supreme Court has had a lot of form over the last twenty years slapping down the Court of Appeals for the Federal Circuit in both patent and copyright cases.

            3. Anonymous Coward
              Anonymous Coward

              Re: For decades the 'status quo' has been that APIs weren't copyrightable

              @sbt I don't get your understanding.

              Oracle does

              print(val){

              buf_write(val)

              }

              Someone else does

              Exihibit A

              print(val){

              character_handler_system(A)

              }

              Exhibit B

              print_c(val){

              character_handler_system(A)

              }

              Exhibit C

              print_c(value, dummy_val_that_makes_it_not_copied)

              {

              character_handler_system(A)

              }

              According to you,

              Exhibit A is illegal, but B isn't, or must it have a dummy argument to be legal (Exhibit C)

              Or is no one allowed to ever name a function "print" ever for 20 years?

      2. TVU Silver badge

        Re: Good analysis

        "Yes, good analysis, but I do wish to freak out about the possibility of Oracle winning"

        I fully agree with you not least because of the wholly negative implications for software developers in the event of an Oracle win. That's why many other large corporations, e.g. Microsoft, IBM, etc, fully support Google's position.

        1. sbt
          WTF?

          wholly negative implications

          Can you be more specific? An Oracle win just means that proprietary APIs remain under copyright by their authors, and will sink or swim based on the liberality of the licencing terms on offer. If Google wanted a free API they could modify in incompatible ways, they could have chosen something else but Java. Java's popularity shouldn't be a vulnerability.

          There are issues with monopolistic control and vertical integration with Big Tech, but it's not solved by voiding copyright protection.

          1. rgmiller1974

            Re: wholly negative implications

            How about this for a more specific example: GNU Classpath

            GNU Classpath is (as far as I understand things) a re-implementation of most of the standard Java class libraries. As such, the developers did exactly what Google is being sued for: kept the API's but wrote new implementations. If API's really are copyrightable (and re-implementing the functions they define yourself is *not* fair use) then can Classpath continue to exist? If people thought the API's were copyrighted, could Classpath have ever gotten started?

            And leaving Java behind and switching to C: If Oracle wins, what happens to (for example) stdio.h? Does GNU (and every other compiler vendor) have to launch a massive software archeology project to determine who first came up with the printf() function? And then ask, "Pretty please, may we continue to use this function as is?" And then repeat that process for *EVERY OTHER* function in all the standard C libraries? And until that's settled (if it ever is), pretty much every single program written in C is left in copyright limbo.

            1. sbt

              Re: wholly negative implications

              GNU Classpath doesn't include any Oracle source code, and they actively refuse contributions from folks who have looked at it: https://www.gnu.org/software/classpath/faq/faq.html#faq3_2

              They're going beyond the clean-room work-around precisely because they think copyright operates the way the status quo would indicate.

              As for the standard C library; there are freely licensed (e.g. BSD) versions available. This is not a proprietary API controlled by one vendor, like Java is. There is no danger to C apps/libraries from a win to Oracle.

              1. rgmiller1974

                Re: wholly negative implications

                I remain unconvinced.

                WRT GNU Classpath: Classpath presumably includes a System.out.println() (and I assume that function is one of the 11,000 lines of code that Oracle and Google are fighting over). I believe you when you say Classpath's version of that function was *implemented* completely independently of Oracle's version, but so what? I'm sure Google independently implemented the Android version. Oracle is trying to claim that you need a license from them simply to use that function signature even if you provide your own implementation.

                As for the C library, yes there are freely licensed versions available now. But if the courts rule that function definitions are copyrightable, do those licenses remain valid? Take the example of the printf() function: I *assume* that was first written by Dennis Ritchie when he was working for Bell Labs. If function definitions are copyrightable, then Bell Labs would have started out with the copyright. Given the long and tangled history of C and Unix, I don't know who owns the copyright now. But it could be argued that whoever does own the copyright never gave permission to have that function definition placed under a BSD license and thus that license is invalid.

                1. sbt
                  Alert

                  claim that you need a license from them simply to use that function signature

                  No. A single function signature or even a list wouldn't have copyright protection. You have to look at the copied material as a whole, which is what SCOTUS did when ruling on Google's first appeal; they found that taken as a whole, what Google copied was worthy of protection.

                  You can't void Oracle's claim on the basis that there's no novelty in a particular function signature. On that basis I could argue that I can copy novels since all the words are in the dictionary. The arrangement of the 'text' also plays a part.

                  But you can still make a compatible library/API by re-implementation rather than copying; remember that 'lists' are not copyrightable. That's also why the variety of C libraries are quite safe; their licences are already settled, anyway. No ruling in this case is going to affect anyone other than folks who copy code wholesale.

                  1. Joe W Silver badge

                    Re: claim that you need a license from them simply to use that function signature

                    And it's also which way it was licensed (last section of the article). Google did not want to go the GPL way (keeping their implementation closed, and presumably copyright protected), so it would have had to buy the license, which they did not want to - as they wanted to make their implementation incompatible with the "standard" one, which the license forbids (which is a good thing, in my mind).

                    1. jilocasin
                      Black Helicopters

                      Re: claim that you need a license from them simply to use that function signature

                      Sorry, but no. Google didn't want to license Java ME under any terms and the official GPL's Java SE had a use restriction clause in the license that prohibited it from being run on mobile devices. Sun made their Java money licensing Java ME to phone manufacturers and set top box developers.

                      Since the IBM backed Apache Harmony project did a clean room re-implementation of the Java API and licensed it under the much more permissive Apache license, Google was free to use that. Java SE wan't fit for use in Google's new Android phone so they dropped those portions of the API that were useless on a phone, added missing ones that their phone would need and wrote their own compiler, runtime, and bytecode. If you really wanted to you could have done the same yourself with Google's API. You wouldn't be able to legally reuse their source code without their permission, but you were free to create something compatible with the API.

                      So no, contrary to popular believe, it wasn't the GPL that scared bad old Google away.

                  2. jilocasin
                    FAIL

                    Re: claim that you need a license from them simply to use that function signature

                    You can keep claiming that the Supreme Court ruled against Google after their first appeal, but that won't make it true. The Supreme Court denied certiorari.

                    The Supreme Court has never ruled on the subject of APIs and they certainly didn't rule that; "...taken as a whole, what Google copied was worthy of protection."

                    You really should stop claiming otherwise.

              2. jilocasin
                FAIL

                Re: wholly negative implications

                You are being dishonest by omission.

                Google implementation of the Java API doesn't contain any *Oracle* (really Sun) source code either. Any source code that was copied was copied from the Apache licensed Harmony project which was a *clean* *room* implementation. The Apache license expressly allows this. The only exception being the rangeCheck function and eight security files which were a copyright infringement.

            2. Peter Gathercole Silver badge

              Re: wholly negative implications

              IIRC stdio.h appeared either in PWB or Edition 7 of UNIX (it certainly wasn't in Edition 6). Thus it was Bell Labs./AT&T code. But the re-implementation of it was decided in the AT&T/BSD cases, and exists in the various BSD derived implementations, including Linux and GNU because it had been deemed free of AT&Ts copyright, even it it performed the same task.

              Of course, the Oracle/Google case originally revolved around the literal copying of some or part of the files defining the API. If we take the UNIX cases as a reasonable precedent, then provided Google has made reparations for the initial literal copying of the files, and now uses it's own compatible but different definitions, i.e. not a direct copy, I don't see Oracle's case.

              I don't know how a Supreme Court ruling is likely to affect what is in technology terms is ancient history, but if Oracle wins, and defines a precedent that can be applied to previous cases, then the AT&T/BSD case could be overturned, and the entire UNIX/BSD/Linux ecosystem could be thrown into turmoil.

              I really don't know who owns this part of UNIX IP now. It would have been Novell, but their demise was sufficiently complicated that it could be Attachmate (or whoever bought them), MicroFocus or even (gasp!) Microsoft.

              1. naive

                Re: wholly negative implications

                That is spot on. The AT&T Unix programmers manual from 1979 did specify all the relevant system calls available to interact with the Unix operating system. Others took this list, implemented a similar Operating system (BSD, AIX, Linux etc), offering equivalent functions.This allowed application developers who wrote C-code for AT&T System V to compile the software on other Unix variants without modification.

                Both BSD and AT&T Unix have a system call: FILE *fopen(const char *pathname, const char *mode);

                Both implementations have equivalent ways to invoke them, the code with which they are implemented bear no relation with eachother. The command line interface of AT&T Unix was also replicated in the new Unix variants, so people could use the same commands. In case Oracle wins, it would not be allowed to replicate naming and parameter conventions of function calls and command line interfaces, the current owner of AT&T Unix could make a fortune on litigation against IBM and Linux users.

                1. Peter Gathercole Silver badge

                  Re: wholly negative implications

                  Just a couple of points of clarity.

                  BSD used Bell Labs. academic license internally to develop BSD (which was originally a series of add-ons and utilities to be merged into a Bell Labs UNIX distribution). This meant that they would only distribute their modifications to organizations which already had a Bell Labs. UNIX license, which meant that in reality it was just academic institutions, as Bell Labs. and later AT&T did not want to be in, and later were prohibited from commercial distribution of UNIX.

                  Where it went sour was when UCB started distributing complete UNIX systems (I guess this was with the 32 bit release of BSD 3.0 or 3.1 whatever it was), and they tried to break the requirement for the recipient to have a Bell Labs./AT&T license, and AT&T took exception to this. In the resultant series of court cases for this and other things, AT&T appear to have become able to distribute commercial UNIX licenses

                  Also, IBM had (and still has as far as I believe as they were purchased in perpituity) AT&T UNIX SVR2 source and distribution licenses which allow derivative works, and I believe that they had also updated this for SVR4 some time back. This means that the older AIX versions 1.x and 2.x were ports rather than re-implementations, so would not be affected by any change. The same could be said for HP/UX, Solaris and Tru64 Unix or whatever it is called now. There are many orphaned licenses from any number of now defunct UNIX system providers around somewhere.

                  I had sight of the AIX 3.1 (first release on the original POWER systems) source code at one time, and from what I saw, there was still significant AT&T code in it.

                  Lots has been re-written since then, but the fact that IBM have a license removes any ambiguity.

                  Oh how ironic it would be if there was an uptick in Solaris and AIX implementations if Linux validity came into question!

                  Back before I joined IBM in 1989, they were widely considered as the enemy to UNIX, and I was very heavily criticized by my colleges (I was working for AT&T at that time) for leaving the 'good guys'.

                  I also find it incredibly ironic that after all this time, IBM appears to be the 'last man standing' in the genetic UNIX field. Of course, Oracle and HP are still keeping a toe in the water, but only just.

          2. jilocasin
            Facepalm

            Re: wholly negative implications

            An Oracle win, besides changing the landscape of software development going forward forever, would mean open season on a large amount of software currently in existence. This doesn't include the court time and expense defending yourself from API trolls claiming your software violates their newly acquired copyright to the API you've been using for decades. It wouldn't matter if it does or not, you'll still have to defend yourself. Unlike patents which only last for 20 years (and that's already too long) copyright can last from 95-120 years.

            So basically forever.

      3. sbt
        Stop

        Could ... large corporations force project repositories out ...?

        No, repos that just consume APIs from other projects or vendors would carry on as before. Interface/Library vendors with unreasonable licence terms might need to re-consider, though. Who will want to use a library or interface which doesn't allow users to freely ship their code? The GPL has more impact on this than the Java licence. Hence why there's a LGPL.

    2. Doctor Syntax Silver badge

      Re: Good analysis

      "In any case, programming will go on."

      If Oracle win any vendor that wants to see its libraries used will have to make very specific declarations as to the ability of developers to include the API's declarations in their code. It will be interesting to see how Oracle themselves deal with that. On the whole it'll probably be safer not to develop in Java and probably a good idea to develop outside the jurisdiction of the US.

      1. Snake Silver badge

        Re: Good analysis

        I don't see why everyone is blowing the dog whistle over the possibility of Oracle winning. Thier position is the stasis quo - what the courts currently interpret the system as now, today. A verdict for them is only reaffirming this; no new law, no new interpretation, will be taking effect. Only a confirmation that "Yes, that's the way it works now".

        1. Filippo Silver badge

          Re: Good analysis

          This "status quo" has only been around for a few years. Also, everyone who may have an interest in using it in the ways we are concernd about is waiting for the Supreme Court decision.

        2. jilocasin
          Unhappy

          Re: Good analysis

          That's because, until now, Oracle's version of reality has been on hold pending the appeals process. API's have always been uncopyrightable. Technically *that* is the status quo. As far as the progress of this case is concerned allowing APIs to be copyrightable is the status quo insofar as that's what the appellate court has ruled to date. It's important to keep the two straight.

          Until this case is decided, programming and the software world get to continue as it has since you programmed computers by moving plugged wires from one socket to another. API's are uncopyrightable.

          When this case is decided either;

          Google wins, in which case the current status quo stays the legal status quo.

          Oracle wins, in which case the current legal status quo becomes the *new* practical status quo and the flood gates open to API trolls, among the other ills that people here are concerned with.

          Oracle wins with a 4-4 deadlock. Oracle gets their money but there is no precedent set. The rest of us get to breathe a sigh of relief until the next greedy company takes a swing at the API pinata. Google stops using Java, and everyone revisits their use of Java with an eye to abandoning it as soon as possible.

          1. jedisnon

            Re: Good analysis

            4-4 deadlock?

            Everyone attaches a patent claim to their API copyright lawsuit so that they can later drop it, whilst ensuring that the appeal for their case goes to the CAFC. The CAFC hears the appeals for *all* cases filed with a patent claim, whether or not that claim is still part of the case on appeal. That's why the CAFC *patent court* heard this copyright case despite (clearly) not having any idea about how copyright law works!

            It won't matter that no precedent is set for other courts. Easily rigged forum shopping will put every single API copyright case in front of the CAFC on appeal, for whom this case *will* be the controlling precedent. The API trolls will be slowed only by how fast the CAFC can find everyone guilty of stealing print(x).

            1. jilocasin
              Meh

              Re: Good analysis

              True, until they get the CAFC's rulings appealed to the Supreme Court and the justices either side with the CAFC or rule against them. If for no other reason than to bench-slap them and keep all of these cases from bubbling up to them.

      2. sbt
        Meh

        the ability of developers to include the API's declarations in their code

        If your code 'consumes' an API, then you can include the declarations. You don't have to ship them. Google wanted to re-implement the Java API, but refused a licence so they didn't have to maintain compatibility. This is not a typical use-case, at all.

        1. eldakka

          Re: the ability of developers to include the API's declarations in their code

          It is a typical use case.

          Say Oracle has a function that prints out a line of text,

          printLine(string) {

          Oracle's code to print out the $string text passed in

          }

          Google used the same function name and parameters, but wrote their own code to do the actual printing of the text:

          printLine(string) {

          Google's code to print out the $string text passed in

          }

          The 'code' that does the work, the implementation, wasn't copied, merely the function name and parameter list (1 parameter of type string).

          The "11,000 lines of code" is because there are thousands of functions/classes/procedures. If Google had of copied the function names (declarations) and the code that implemented those functions, it would have been millions of lines of code copied, not just 11,000.

          1. diodesign (Written by Reg staff) Silver badge

            Declarations and implementations

            Complicating the matter is that most / a lot of the 11,000 lines are declarations and not implementations, but Google did slip some implementation code in there.

            For example, the infamous nine lines in the rangeCheck function that were copied. It's negligible in the grand scheme of things but gave Oracle a gotcha against Google. The function was included as a temporary measure and forgotten about -- oops.

            C.

            1. _andrew

              Re: Declarations and implementations

              Java doesn't have declarations, only implementations. The things that show up in javadocs that look like declarations are extracted from the .class files automatically. There _is_ no source file to claim copyright on in this case. The claim is over the structure and names of the base classes themselves, irrespective of their origin.

              And to comment on a different topic up-stream: the fact that no-one has filed suit against GNU classpath is almost certainly that no-one cares, because it is costing no-one any assumed business. Or perhaps they will, once this case goes Oracle's way.

              1. sbt
                Stop

                There _is_ no source file to claim copyright on in this case

                Sorry, but that's just not true. SCOTUS has already upheld the copyright protection on the 11,500 lines of source code. It's not from thin air. It was authored by Sun and copied/distributed by Google, despite the "DO NOT DISTRIBUTE!" copyright license file direction.

                This 'generated' code issue is a red-herring; it's not part of Google's fair-use argument. Javadoc is generated from the code, not the other way around. Google copied the copyrighted source code.

                1. jedisnon

                  Re: There _is_ no source file to claim copyright on in this case

                  When did SCOTUS rule on the copyrightability of the Java API? That's one of the key questions in front of them now!

                  Please provide a reference where this actually happened.

                  1. sbt

                    When did SCOTUS rule on the copyrightability of the Java API?

                    Google's first petition to SCOTUS was denied, so the appeals court decision upholding the copyrightability of the copied source stood. Note this wasn't a ruling about copyrightability of the Java API, it was about the copied source.

                    The arguments for Google's first ground of appeal seem weak, since they are looking to replay the basis for their first petition without any substantive new argument. I expect the key question is now 'Is there a fair-use defence for copying, for the purposes of interoperability?'

                    For the first appeal ruling, see: https://www.leagle.com/decision/infco20140509135

                    1. jedisnon

                      Re: When did SCOTUS rule on the copyrightability of the Java API?

                      No, that was NOT a ruling that the declarations were protected by copyright. Denying cert is not the same thing as a ruling.

                      You have repeatedly made this claim and it is WRONG.

                      The first time that SCOTUS is considering the question of whether or not copyright applies to the Java API is in the current case.

                      Stop repeating a lie.

                      1. jilocasin
                        Pint

                        Re: When did SCOTUS rule on the copyrightability of the Java API?

                        Glad to hear someone else calling sbt out on this bovine excrement.

                    2. jedisnon

                      Re: When did SCOTUS rule on the copyrightability of the Java API?

                      Reminder - the two questions before the Supreme court:

                      1. Whether copyright protection extends to a software interface.

                      2. Whether, as the jury found, petitioner’s use of a software interface in the context of creating a new computer program constitutes fair use.

                      If SCOTUS had previously ruled on the first issue they wouldn't be considering it now.

                      Your repeated assertion that the copyrightability of the declarations is a settled matter - settled and upheld by SCOTUS - is utterly, unequivocably WRONG.

              2. diodesign (Written by Reg staff) Silver badge

                "Java doesn't have declarations, only implementations"

                Ah mate, you know what I mean. The stuff outside the { } versus the stuff inside the { }.

                C.

                1. TimMaher Silver badge

                  Re: "Java doesn't have declarations, only implementations"

                  Exactly.

                  Abstract class anyone?

      3. Claverhouse Silver badge

        Re: Good analysis

        American Law does not recognise any limitation to its jurisdiction outside the US.

        1. Steve Davies 3 Silver badge
          Flame

          Re:American Law does not recognise any limitation

          and I fully expect that adoption of US Copyright Law and acceptance that US Copyrights prevail will become a key part of trade deals in the future.

          Frankly, I hope neither side win. It is a case of deciding who is the lesser of two very evil companies.

          We'll see restrictions on code that makes it inoperable where US Copyright law prevails. Another brick in the wall of america's self isolationism. 4th world here thet come.

          All it needs is for some large corps to decided that they are going to boycott US Markets and Companies and stating that doing business with them is just too expensive from a litigation POV.

          As Cpl Jones would say, 'they don't like it up em'.

  5. Sgt_Oddball
    Coat

    This could all have been avoided...

    If Google just behaved as it usually did and after lots of fanfare, a hardcore support base, a few weird wholely misjudged products and a total lack of support just dropped the whole project for reasons never truly explained.

    Cynical? Moi?

    Mines the one with the Google glass in the pocket.

    1. Snake Silver badge

      Re: This could all have been avoided...

      Lol! So true, tho.

    2. jilocasin
      Unhappy

      Re: This could all have been avoided...

      It could have also been avoided if Oracle never bought Sun and acted so typically like Oracle.

  6. Sorry that handle is already taken. Silver badge

    Damn it all

    Is there any way for both parties to lose? I think I'd prefer that outcome.

  7. Anonymous Coward
    Anonymous Coward

    Are we talking compo here? But as always the only winners are the lawyers.

    1. Zolko Silver badge

      GPL and open-source might also emerge as victors: clear and open functioning.

      1. naive

        No it would mean the end of open source. Any company could replicate parts of a successful open-source project and start litigating claiming they have rights on the API. A company is a legal entity, an open-source project is not a legal entity unless authors of open-source code burden them selves with legal issues to protect their ideas.

  8. Claverhouse Silver badge
    Angel

    Rosenkranz & Goldstein

    SRSLY ?

    1. TimMaher Silver badge
      Thumb Up

      Re: Rosenkranz & Goldstein

      Are missing?

  9. Anonymous Coward
    Anonymous Coward

    Oracle will win.

    While this may piss people off, it shouldn't.

    Oracle has a stronger case and for those who are worried about the greater implications, those worries may be noise.

    SCOTUS can rule in Oracle's favor and limit how to interpret this win.

    The evidence in this case kind of condemns Google. By their own admission they could have licensed Java ME and this would never have been an issue.

    1. jilocasin
      Thumb Down

      Re: Oracle will win.

      I am glad to hear you are so confident, I just figure you probably don't actually make your living in this field.

      Oracle has the weaker case, it always did. If they didn't sneak those ridiculous patent issues into the case it would have been heard by a sane appellate court. They would have, you know actually followed the law and denied Oracle's appeal and that would have been that.

      Google *could* have licensed Java ME, but then they could have *also* decided to use assembler written in hexadecimal. Sure it would have been more difficult to use and there would be a smaller pool of developers initially, but at least it would have had the benefit of, I don't know, actually being useful. Java ME sucked for the set top boxes and the character screened phones is was being used on. It was completely useless as the basis for a GUI fronted phone to compete with the Apple iPhone.

    2. eldakka

      Re: Oracle will win.

      By their own admission they could have licensed Java ME and this would never have been an issue.

      By the admission of Scott McNealy the then CEO and Chairman of the board of the predecessor-in-interest to Oracle, Sun Microsystems, Google didn't need a license to do what they did..

  10. FelixReg

    C# anyone?

    First, Kieren, great article. You laid out a lot of stuff clearly in limited space.

    Beyond that, why hasn't C# never come up? Sun made it clear that they wanted control of not just the implementation of Java, but of the wider language - the Java "API". So Microsoft, craftily augmenting the "API" with code-in-comments and such-like kludges, decided to write their own Java, in house.

    Why didn't Google do the same? Of course, we all know why. It's expensive and time consuming to design an "API".

    Google's lawyer said many times that Oracle was trying to make copyright law in to patent law. Well, yes. The border between the two will always be fuzzy. And, yes, this court case is trying to nail down that border.

    Just at a glance, it seems to me that Sun/Oracle made it plain that they consider their "API" to be proprietary and valuable in its own right. That is, the "API" is part of the implementation. Public, sure. But copyrighted and not reusable by others.

    Other people and organizations who have built "API"s and implementations have been clear that they are copyrighting the implementation, but that the API is meant to be public and freely clone-able.

    1. Flocke Kroes Silver badge

      Re: Of course, we all know why.

      apparently not it the entirety. The other reasons:

      Many programmers already knew the java API and it would and taken everyone of them lots of effort to learn the the Gobbledegoogle API.

      Many programmers had existing java code that they could slot into new projects. It would have taken every one of them lots of time to re-write that code Gobbledegoogle.

      If people had started writing code in Gobbledegoogle it would then need to be re-implemented in java if the same functionality was required in an existing java project.

      Programmers used to understand the correct balance was that APIs were not protected but the implementation of an API were. This used to be the status quo as understood by the courts in AT&T vs the Regents of the University of California decades before Oracle and the appeal courts invented a new status quo because of java litigation.

      1. sbt

        Re: Of course, we all know why.

        Google could have written their own API, and an automated porting tool if they were that worried about copying the Java API. They were lazy.

        1. jedisnon

          Re: Of course, we all know why.

          How do you implement a porting tool without implementing the copyrighted API which you are porting from? Your code has to recognise every Java API call and it's parameters - at which point you have already "copied" all the declarations!

          1. sbt
            Angel

            How do you implement a porting tool ... ?

            Easily. You are writing a parser, not a library. You could easily write it in Perl, so you write exactly no Java code and copy exactly no Java code. There cannot be a copyright issue with respect to Java, in that case.

            1. jedisnon

              Re: How do you implement a porting tool ... ?

              So I can write a parser that converts every Java API call and parameter in question to a "new" language/API and then feed that into an implementing VM? I can copy the entire Syntax, Sequence, and Organisation of the API but not the names?

              You are saying that it's ONLY the names which are protected by copyright? You are saying that Oracle lied when they claimed it's the SSO that is protected and *not* the names? Really?

              Why can't I just cut out the intermediary step and feed the Java API calls directly into the VM? What magic is happening that copyright disappears when I **reversibly** translate the declaration names?

            2. jedisnon

              Re: How do you implement a porting tool ... ?

              So you can include the entire API and all it's parameters if you disguise it well enough?

              If you ROT13 a Harry Potter novel and provide a decoder with your **copy** are you free and clear of copyright claims? Of course not.

              You have no idea what you are talking about, despite being all over this thread like a rash.

            3. jedisnon

              Re: How do you implement a porting tool ... ?

              Thinking about this more:

              Your argument is that it is perfectly legal for Google to write an interpreter for the Java language (including the entirety of the declarations at issue), write that to an intermediary format (which we will call "bytecode") and then execute that bytecode on their own implementing VM.

              ***Which is exactly what they did.***

              Do you understand the absurdity of your own argument? That you are arguing that an implementation of the API (which is what your parser/intermediary-code/execution-machine *is*) is both totally legal and totally illegal at the same time?

            4. Anonymous Coward
              Anonymous Coward

              Re: How do you implement a porting tool ... ?

              >> so you write exactly no Java code and copy exactly no Java code.

              Huh?? At what point then does a string of text become "Java Code" then.

              If Google took the Java API calls, used by the App developer code, and translated it to its internal mangled API variant via a compiler with a parser stage, (without developer knowledge), you say it is fine?

              But if the runtime did this, no it is illegal?

              And you believe current copyright law distinguishes the above?

        2. jilocasin
          FAIL

          Re: Of course, we all know why.

          You sir are obviously not a programmer, nor are you qualified to play one on T.V. (or on the internet for that matter).

    2. jilocasin
      Windows

      Re: C# anyone?

      C# never came up because it wasn't relevant to this discussion. You don't seem to be too familiar with your history. Microsoft *did* write their own Java that they called 'J++'. It was included back in their old Visual Studio package along with Visual Basic 6 and as a standalone product. Microsoft *extended* Java so that it would only run correctly on Windows machines (something Microsoft was fond of back in the day). Sun sued Microsoft and they lost. It wasn't about the API it was about the Java name/trademarks and the contract that Microsoft had with Sun at the time. Microsoft had expressed agreed *not* to do what they turned around and did. So, not unsurprisingly, they lost. They stopped selling J++ and the version of Visual Studio that contained it. While you can still get that *version* of Visual Studio on MSDN, it's missing the J++ portion (I still have the actual CDs that contain it).

      Microsoft wrote QuickBASIC, then Visual Basic, they write their own C and C++ compilers (which some people still think isn't a 'good' thing). It is no surprise that they took the principals of Java, and all the other interpreted languages that came before and wrote their own interpreted language. Personally, having coded in both Java and C#, I much prefer C# (and I'm glad that Microsoft's opening it up to the wider community with Linux run times).

      Yes, it's expensive and time consuming to design an API, so what's your point? US copyright law doesn't recognize any "sweat of the brow" based claims. At the time Google wanted to get it's phone out to market quickly and have a ready based pool of programmers who could hit the ground running writing new software for it. They weren't a software company and there was lots of languages that already exist to choose from. C, C++, Python, FORTRAN, JAVA, etc. etc. etc.

      The question was what language was easy enough to use to have a large pool of developers, powerful enough to use to get the kind of application written that they wanted to see, and had a license compatible with their use case. Well at the time JAVA was being taught to practically every CS major. It was simpler than C or C++, and with the Apache Harmony project there was an Apache licensed base they could start with. Seems like a no brainer. I mean it's not like Sun was going to license Java SE to them for use in a mobile device, never mind the changes they wanted to make.

  11. Bruce Hoult

    An analogy

    Let’s liken an operating system to a house.

    A house provides electrical sockets with a certain pin layout and voltage e.g. type A or B at 120 V . Phone sockets RJ11. Internet RJ45. Clothes washer water connections of certain diameter and thread.

    It is convenient for an occupier to move their appliances (code) from one house to another if both houses have the same connectors.

    Moving your appliances to a house with type G sockets at 230 volts, BT phone sockets, different water connections is inconvenient. You may need to get new appliances, or at the least add some kind of adaptor.

    Google wanted to build houses on a newly discovered uninhabited island (or on the Moon) where people could move to with their existing appliances.

    1. sbt
      Thumb Up

      Re: An analogy

      This example just illustrates why interfaces in hardware and software are best built on standards, not in the control of one vendor.

      If folks invest in a proprietary solution they are accepting that they mightn't like where the vendor/inventor takes it. Consider Oracle's licence changes from 8u202 that made all commercial use of their JRE payable.

      1. thondwe

        Re: An analogy

        So this uses standards and standards define what's the socket actually does. But the Java API probably doesn't formally do this with sufficient (legal) rigor to allow Oracle to chase Google because their code actually does the same thing with the same interface.

        In theory you could reproduce the API and do something completely different in the code - just happens to share the same interface?

        Would Ford (e.g.) manage to Copyright a Car Interface (Steering wheel, peddles etc) and try to sue Logitech for their gaming interface (Wheel,Peddles) even though one operates a car and he other a games console?

        So Oracle are trying to claim that Google copied a complete implementation based on just having copyrighted some text descriptions? I can see that Google are in the wrong since the two implementations will be mostly functionally equivalent - but I don't think Copyright of the Interface is legally sufficient to cover it????

        1. Anonymous Coward
          Anonymous Coward

          Re: An analogy

          Cars are a horrible example. Have you *seen* the number of stupid subtle differences even between models from the same brand? "Let's put this knob *here* instead of over *there*. "OOOO, let's rotate the functions on this lever by 90 degrees." "Oh, hey, let's randomly change which lights turn on with this switch!"

          Don't even get me started on the centre console....

      2. jilocasin
        FAIL

        Re: An analogy

        Again you illustrate why your comments fail to add anything approaching usefulness to this conversation.

        Oracle changed the license on the *run* *time*, not the API. You *do* realize that a run time is a *compiled* *program* that lets you run Java byte code on a particular operating system right? So, Oracle changed the license on one of their programs. That's no more news than if they changed the license on their Oracle database. Kind of sucks if you are using that database, doesn't really effect you if you are using a *compatible* database. Since OpenJDK there are at least 10 alternate JRE's besides Oracle's to choose from.

        Once again, doesn't involve API's, not even remotely applicable.

    2. Flocke Kroes Silver badge

      Re: An analogy

      Argument by analogy.

      Step 1A: decide what you what to prove

      Step 1B: select an analogy that that supports (1A)

      Step 1C: declare victory

      Someone who disagrees with you:

      Step 2A: Decide to prove the opposite of (1A)

      Step 2B: Select an analogy the supports the opposite of (1A)

      Step 2C: Declare voictory.

      Please can everyone throw these analogies in the bin and spend the time that would otherwise been wasted in pointless argument actually trying to understand the real problem? Judge William Alsup did exactly that. He took the time to learn how to write simple programs so he could quickly spot argument by false analogy and sided with Google. It is unfortunate that actually trying to understand the problem is as rare among judges as it is in the population at large.

      1. sbt

        Re: An analogy

        Agreed about analogies, but Alsup still got it wrong based on settled copyright law (and overrode the jury! what's the point?).

        This whole thing about teaching himself to code is way over-blown. Dunning-Kruger effect dies hard.

        1. jilocasin
          Facepalm

          Re: An analogy

          Alsup got it right. You keep getting it wrong on settled law (see Bell Labs, and Quartro pro cases for a start).

  12. Anonymous Coward
    Anonymous Coward

    I find it disgusting that *American* courts are being "trusted" to deal with a question they ill-understand based on jury decisions made by people who understood the issues of software development even less.

    Perhaps Ronald McDonald would be a better arbitrator - at least McDonald's has computer networks and software of their own so they can grok what the issues are.

  13. Anonymous Coward
    Anonymous Coward

    errno.h

    10-15 years ago in SCO vs IBM SCO claimed copyright for errno.h

    that was real fun

    1. sbt
      Linux

      Re: errno.h

      SCO lost, hard. A list of error numbers was always going to be a weak claim, what with copyrightability of lists being limited and all.

      But if Google prevails with fair use for 'header files' on the basis of interoperability, then authors using the GPL will be no better off than those using the LGPL. No header file licence conditions will be enforceable.

      1. jedisnon

        Re: errno.h

        The Java API declarations are just a list of function names and parameters like this:

        Java.lang.Math.max static int (int a, int b)

        Java.lang.Math.min static int min(int a, int b)

        What makes a list of facts about the Java API protectable, copyrightability of lists "being limited and all"?

  14. SecretSonOfHG

    If Oracle wins, development in the USA will stall

    Because no one will risk being sued to oblivion by someone else thinking they can get some easy money. Not because most developers create compatible replacements of standard libraries, but because most developers use some of these (get a license!) and every now and then create a few without realizing it (copyright!) So now, before writing a single line of code, you'll have to conduct an extensive due diligence and research, lets not you accidentally re-implement someone else's API. Which is, for common functionality, much common than you think. How many different ways you have of writing a string conversion function? Date handling?

    The crapfest will reach such dimensions that at some point it will be cheaper to move your development away from US law.

    And all this because they can't use the right analogies: shift gear patterns, plug/pin layout, etc are "interfaces" So are public method declarations. End of story.

    1. sbt

      Because no one will risk being sued to oblivion

      No; if the status quo is upheld and code still gets copyright protection, the average developer will keep using library code under the existing licenses just as they have before. On the other hand, a win for Google creates a fair-use defence for copying licenced/copyrighted source. That's the real shit-show.

      And the chilling effect will be that developers will hesitate to release source or publish APIs since that will risk their IP being freely exploited by their competitors/diluted, and maybe quality/reputation issues. Remember that the purpose of copyright protection is to incentivize the production of creative, original material.

      The major winners will (as always) be the lawyers; defending 'fair use' (or fighting it) could tie developers up for years.

      1. SecretSonOfHG

        Re: Because no one will risk being sued to oblivion

        You're not realizing that the average developer using library code will have to think about getting a license each time he/she overrides a library method, because its declaration has to look a lot like the same as the library one.

        And I think you're perhaps confusing releasing source code with publishing interfaces. If Oracle wins, anyone implementing an existing API will have to be very careful when releasing source code, as they can accidentally create a funcion/method with an existing signature.

        However, if/when you release the header files/method declarations for the purpose of being interoperable you're pusblihsing an interface, whose very purpose is for people to be able to interact with it. You cannot expect copyright law to restrict people creating compatible interfaces. That's what patents are for, but have been degraded as to be essentially a money source for lawyers rather than provide incentive for innovation.

        1. sbt
          Alert

          will have to think about getting a license each time he/she overrides a library method

          No, there's no equivalence between writing your own new function with the same signature and copying 37 files of 11.5 KLOC. You'd have, if you needed it, a fair-use defence of transformative use. No library maker worth anything will destroy their customer base by suing their customers for developing with their library as intended. And they'd lose.

          Again, mere functional signatures don't attract copyright protection on their own. Creating compatible interfaces isn't the issue. Wholesale, careless copying is.

          1. doublelayer Silver badge

            Re: will have to think about getting a license each time he/she overrides a library method

            "No, there's no equivalence between writing your own new function with the same signature and copying 37 files of 11.5 KLOC."

            When those 11K lines are a bunch of function declarations, yes there is. If I create enough functions with the same signatures, I'm copying those lines one by one. I want a library that implements archive operations with a different format so I create a class implementing all the same functions that the original .zip one handles, I've copied twenty lines in a row. Then I decide to implement a new module which does mathematical operations faster, so I retype each line in the mathematical module and implement the functions differently. While I'm speeding it up, I think I can get AES functions to take advantage of hardware acceleration, so that's another set of lines copied.

            These lines have to look similar because the function name is the same, the parameter names are the same, the parameters have the same types, the parameters appear in the same order, the function returns the same type, and the function is in the same class. Certain other parts might be skippable, for example comments, but if I decide to properly write comments for my functions, they're going to say similar things. Why would I ever do this if I expected the company who wrote the original interfaces to sue me for my hundred copied names?

            Google copied the names for a lot of functions and classes. They reimplemented basically all of the ones available. In other words, they did what you just said I could do, and they did it five thousand times. Why am I allowed to do it but Google isn't?

            1. jilocasin
              FAIL

              Re: will have to think about getting a license each time he/she overrides a library method

              Because sbt has no idea what he's talking about.

              He's apparently got it in his head that Oracle's right, Google's wrong and that an API == source code. Anything to the contrary will be conveniently ignored, misinterpreted, or misconstrued.

              It's why he keeps repeating that:

              * the SCOTUS already ruled that Google copied too much code illegally (they didn't).

              * that an API == source code (it isn't)

              * that Google could have licensed Java SE from Oracle (they couldn't)

              * that Google copied vast amounts of source code directly from Java (they didn't just the API, the majority of the files copied were done so legally from Apache Harmony)

              * that the fact that the API was contained in a computer file as opposed to a book is in any way legally significant (it isn't)

              * that the number of function signatures you copy is legally meaningful (if you can copy one you can copy a million, it doesn't change the legal analysis)

              * that there haven't already been lower court cases that have decided an API wasn't copyrightable (there was, see USL v. BSDi 1992, Lotus Dev. Corp. v. Borland Int'l, Inc., 1996, heck even Baker v. Selden all the way back in 1879)

              I could go on, but you get the idea.

              1. jedisnon

                Re: will have to think about getting a license each time he/she overrides a library method

                He's that single sulky thumb-down for the factual arguments that prove him wrong.

          2. SecretSonOfHG

            Re: will have to think about getting a license each time he/she overrides a library method

            "Again, mere functional signatures don't attract copyright protection on their own"

            You're contradicting yourself. That's exactly what those 11K lines are, function signatures.

      2. jilocasin
        FAIL

        Re: Because no one will risk being sued to oblivion

        Keep repeating the 'big lie' in hopes that people start believing it.

        The practical status quo is that software retains copyright protection, but APIs which *aren't* software don't. If that's the case development can continue as it has since the beginning. Software will be built to be interoperable, with the decision to re-implement or license an existing implementation based on the needs and ability of the company/developer not on arbitrary limitations of the originator (Do you really think IBM was pleased when the first company re-implemented the BIOS for the IBM PC?).

        If Oracle wins, the chilling effect, as mentioned many times before, is that no one's safe. No software is safe. Every Unix/Linux/MacOs re-implements at least some portion of the original Unix API. Most relational databases re-implement SQL, Most GUI's re-implement at least some of the original Xerox Parc work (you know the folks that invented the windowing system + mouse that we all love and hate). API trolls tie up software development for years and people strive to create purposefully incompatible software lest there be any whiff of illegal re-implementation going on.

    2. StrangerHereMyself Silver badge

      Re: If Oracle wins, development in the USA will stall

      Or it could mean the focus will shift even more to open-source software which is impervious to Oracle's claims.

  15. StrangerHereMyself Silver badge

    Legalization

    Let me first state that I thought it was a strategic mistake of Google not to buy Sun Microssystems. Instead they thought they could get away with nabbing some parts and claiming it was open-source. It wasn't. Even Sun had tight restrictions on which parts of Java were open-source and which weren't. And the ones that weren't were the ones that they made money from.

    What really bugs me is the "legalization" of the entire tech industry where thousands of lawyers are now needed to navigate though the patent and copyrights swamps and which will eventually stifle innovation and produce even more monopolies.

  16. MadAsHell

    IBM BIOS replication

    I'm puzzled why little or none of the coverage of this case seems to mention the IBM PC and BIOS replication (pardon me if I've missed this).

    IBM's legal/IP team were shocked at how quickly 'clones' of the PC BIOS appeared. Those developed by the two team clean-room approach were never hit with legal claims as it was obvious to IBM that the APIs had been reproduced in a fair-use/reverse-engineering approach which didn't infringe on their rights, no matter how much it annoyed IBM.

    They say in Press Training never to accept the premise of the question: the Supremes are being asked to choose between *all* of Oracle's claims and *all* of Google's. When all the options are equally unacceptable, start looking for more options.

    And the middle road here appears to be, protect the IP of the code that makes something work, while ruling that APIs, whether documented or not, cannot be protected by copyright.

    A lot of the excellent comments going before cover patents and copyright and their differences. Copyright is actually a poor model for software (easy to obtain copyright protection, lasts - these days - nearly for ever or as long as Disney want, it's free to obtain, doesn't need to be renewed annually, and protections are massive), while patents are extremely expensive to obtain, have to be renewed annually, and each one only applies to a specific jurisdiction - and they last typically 12-16years and then that's it. Good, basic patents really do reflect the work that went into their creation - the patent protecting the Fritz-Haber process for Ammonia production from nitrogen was perfect - covered all methods without revealing the trade secrets of pressure and temperature that had been so expensively determined by theory and experimentation. Most patents these days are Secondary - e.g. patent covering CDs. No-one had thought to use optical phase-contrast to store digital information before, so it was novel.

    1. Anonymous Coward
      Anonymous Coward

      Re: IBM BIOS replication

      Or Microsoft.

      When they first started you could write bare code that would run on CP/M or DOS!

    2. Brewster's Angle Grinder Silver badge

      Re: IBM BIOS replication

      Because a BIOS API is very clearly not copyrightable - nowhere is there a header or copyrightable text. A BIOS API is the knowledge that you load 0 into ah, load the mode number into al and call int 010h to change the video mode. There might be a macro file that equates names with numbers but (as per the errno.h discussion) that's not copyrightable.

      This is also a vision of what APIs might look like in the future: void interface(int id,...); or void interface(); (remembering that an empty argument list doesn't mean void interface(void); in C.)

      1. jilocasin
        Boffin

        Re: IBM BIOS replication

        Then you don't know what an API is. It doesn't depend on a header (only certain languages use them, I don't recall ever needing one in FORTRAN for instance). Any other text, is by definition, not copyrightable. Assembler is in fact a language. It may be written in hexadecimal and not look like English, but that doesn't mean it not a language. If the API were copyrightable, then the IBM BIOS could not have been reimplemented. The API is simply the related structure and function signatures that allow disparate programs to get the same functionality on the same system.

        If I write an MS-DOS program, it'll run on an IBM-DOS computer. If I write a Java SE program with the Oracle SDK it will run under the Oracle JRE, or any of a number of OpenJDK JREs. If I write an application under Sun's Glassfish server it will run under Apache's Tomcat server. The list goes on and on. This is only possible because APIs have until now been recognized as uncopywritable.

  17. odyssey

    Programming is partly logic, partly art

    The difficulty for the justices who I assume are not programmers is that programming is partly logic, partly art. Copyright is simple when it comes to art - Harry Potter is a creative work, if I wrote a book and had a school called Hogwarts I would be obviously copying it as I could have called the school anything else.

    But when it comes to programming, there are many ways to express something (which is why programmers argue endlessly over languages and styles) but only so many ways to implement something. So if someone has a function called rangeCheck I could call my function examineTheRange just to be different, but I'm doing the same thing. I need to check if one number is greater than another, etc. I can call my variables what I like but I can't change what the function does. Logic means you can't make up what you like, art means you can - and software is a bit of both. This is going to be hard to understand for the justices because Oracle are going to use analogies with literature. But literature isn't a good analogy because you can always do whatever you like in your own novel. In programming you can't. And classes of functions are going to be limited - a File API would have open, close, read, write, etc - even if called something else to get around a copyright troll.

    What's needed is an update of international copyright agreements, a Berne Convention 2, that fully recognizes that software is different from literature. And protects APIs from being copyrighted by recognizing them as logical expressions rather than creative works.

  18. Anonymous Coward
    Anonymous Coward

    API = proxy = Ad = Repost = Retweet

    If one claims nothing else than API without claiming about the services provided behind the API is meritless. Is like a door manufacturer asking all manufacturers to stop making doors. Republishing a public API should not be neither a part of IP litigation. Is like taking to litigation a TV news program that talks about services provided in a billboard. Google bass calculation was not to have hold of Sun Microsystems and put all the Java in Open Source projects. Oracle has done it's fair contribution (let the community do it) to open source but at times engages on this kind of lawsuits you would not see from the big ones supporting open source development like Google, IBM and hey even Microsoft these days. If google did not have the success it had with Android this litigation would haa never started. It is pretty clear Oracle intentions here will be problematic for javas future.

  19. Eclectic Man Silver badge

    Fundamental principle of Java

    Forgive me, please, I have not read all 95 (at time of writing) comments above, but I was under the impression that a major point of Java as a computer language was portability. Code written in Java for one platform would run on any other platform which supported Java, other things being equal. People learn to code in Java so that their skills are transferrable, rather than, say, Cobol which is somewhat niche at the moment, I understand. As far as I understand the article, specifically the final section which states:

    Google " wanted Java and it needed programmers’ knowledge of, and trust in, Java to jump-start its entry into the smartphone market. It asked Oracle for a license, and Oracle told Google it would have to make its subsequent work interoperable with the rest of the Java world."

    If Google refuses to make its Java apps interoperable, then that completely subverts that fundamental aspect of Java. Sounds to me that Oracle / Sun should present themselves as the guardians of interoperability, and say what the licence with Google would have cost had they agreed to comply with that fundamental principle of Java.

    Also, I remember a while ago seeing a BBC documentary about a king whose inner council consisted of the 8 most trusted advisors. They never came to a conclusion on anything because, it seems, that 8 people split too easily into 4 vs. 4 and psychologically it is really difficult for anyone to defect to the other side. Of course, Justices of the Supreme Court of the United States of America are probably different, particularly if there is an in-built political divide which renders 5 vs. 3 pretty much a given.

    Disclaimer: I am not and never have been a professional programmer, in Java or any other language, although I have coded in C, C++, Cobol, Pascal, Lisp and Prolog for research purposes, and occasionally hacked the odd Unix Kernel whilst SySadmin for a small cluster of Sun Workstations. (I am not currently seeking employment in any way shape or form either.)

    1. jedisnon

      Re: Fundamental principle of Java

      "Portability" has nothing to do with whether or not something is protected by copyright.

      It could be a factor in the fair use determination but portability is directly counter to the argument that Google's use of the API on a new platform is "transformative" - a key fair use factor. Compatibility would be an argument *against* transformation.

      Oracle are trying to argue that *if only Google had copied more* they wouldn't have breached copyright - which is every bit as absurd as it seems.

    2. jilocasin
      Boffin

      Re: Fundamental principle of Java

      Yes, that was a major 'claim to fame' for Java, though in practice it was more like 'write once, fail many'. Google's problem wasn't keeping it interoperable that prevented it from taking a license it was that Sun didn't want to license them Java SE for use on mobile. They insisted that Google license Java ME (like all the other mobile developers did at the time). Java ME sucked and was completely useless for what they needed in Android. No one would have been under the illusion that a Java application written for a mobile phone was going to run on a text based phone, or a set top box, or a desktop. Google wanted something that had a large pool of available developers (something CS degree programs were churning out in droves at the time) and that was legally malleable. Java, specifically Apache Harmony, fit the bill and so they went with it. Sun was even supportive of Google's work at the time rightly believing it would lead to more developers learning Java. It wasn't until; 1) Android's popularity took off, and 2) Oracle bought out Sun and the rights to Java that we are in the dumpster fire you see before you.

  20. nintendoeats

    ISAs?

    I'm curious, how does this differ from the copyright law surrounding an ISA? Everybody seems to agree that in order to implement x86 or x86_64, you have to licence them from Intel and AMD respectively. AFAIK, an ISA is really just a very precise listing of very tiny functions. So what's the difference?

    1. TripodBrandy

      Re: ISAs?

      Also if you want to implement an ARM-compatible processor, you have to pay for a very expensive architecture licence. I would agree, and ISA is the same kind-of thing as an API.

      1. jedisnon

        Re: ISAs?

        That architecture is protected by patents, not copyright.

        1. nintendoeats

          Re: ISAs?

          Then why are the patents still in force? IA-32 is well over 20 years old.

          I suppose you might be referring only to ARM in that case (since they sell IP blocks)

          1. jedisnon

            Re: ISAs?

            https://en.wikipedia.org/wiki/Zet_(hardware)

            "Zet is a clone x86 architecture microprocessor that is machine code compatible with x86 processors developed as an effort to make open-hardware processor."

            Copyright hasn't expired so how can this exist?

    2. coconuthead

      Re: ISAs?

      I don't understand this either. There are examples in the past where instruction set architectures were copied by other companies.

      IBM's System/360 was cloned by Fujitsu and Amdahl.

      DEC's PDP-10 was cloned and extended by Foonly. After DEC discontinued the PDP-10 line, a company called Systems Concepts supplied Compuserve with modern machines using the architecture.

      1. jedisnon

        Re: ISAs?

        This may help: https://arstechnica.com/information-technology/2017/06/intel-fires-warning-shots-at-microsoft-claims-x86-emulation-is-a-patent-minefield/

        Notice that copyright isn't mentioned. It's patents all the way down.

        Note also the complete absence of any successful court cases claiming copyright protection for the x86 instruction set. Intel tried that for their microcode - not the interfaces/instructions themselves - and they lost. The *implementing code* was too different. Other chipmakers could present the same interfaces to calling code so long as they did their own implementation.

        See: https://jolt.law.harvard.edu/digest/intel-and-the-x86-architecture-a-legal-perspective

        Nobody - not IBM for its PC BIOS, not Intel for x86, not Microsoft for MS-DOS - has ever tried to claim in court that their **interfaces** were protected by copyright. The closest we got was Lotus v. Borland in 1982 with Lotus losing, Borland free to re-implement a competitor's software interface, and SCOTUS affirming the ruling that a software interface is exempt from copyright protection - but with a 4:4 tie and therefore no binding precedent. For more than forty years the entire software industry considered the case to be closed. Until now.

        Let's hope SCOTUS get it right again - this time with a binding majority.

        1. nintendoeats

          Re: ISAs?

          I only just saw this. Thank you for the very clear answer. Though I wonder, what is it that AMD and Intel cross-license with one another?

  21. vincent himpe

    is it actual code , or just function headers ?

    An API is typically a list of function names and their arguments and return values.

    void do_something (void);

    int16 add_two_int16 (int16 a , int16b );

    ...

    and so on

    That is NOT code. That is just prototype function definitions.

    This would be like you: Here is "English", we patented all the words and the way you use them.

  22. Anonymous Coward
    Anonymous Coward

    Something is being misunderstood...

    The whole argument so far seems to be wrong, to me at least.

    They're arguing over code, yet bang on about APIs, APIs are NOT code, they are the interface TO code.

    Why? Because the code that the API calls may be different, or utterly different because its a common API name. You can write a function with the API "Multiply( a, b )", and one could just do "c = a x b; return c", whilst another implementation does a loop with addition, "c=0; while( b-- ) c+=a; return c", either way "Multiply" gives the same answer.

    And, in just the same way, Google should have written the "code" part blindly, based on logic or guesses based on knowing how the API call was meant to work, and not by just copying Oracles code directly.

    Obviously, because there arent always other ways of doing something, the code might be similar or identical, but thats how coincidences go.

    I think the analogy about a safe isnt, in itself, a bad one, just misrepresented.

    Lets say there are 100 unique ways to make the actual locking and tumbler mechanism in a safe door, if 100 companies make 1 each, but ALL use a rotary combination dial to open said locks, are they copying each other?

    As for the Seinfeld one, you wouldnt be copying the "best of the script", you are, at best, duplicating the episode and scene titles (the API), but none of the actual dialog (the code).

  23. Do Not Fold Spindle Mutilate
    Happy

    The purpose of the Supreme Coart is not to decide who is guilty.

    As a non-lawyer Canadian former programmer and DBA, was told by a lawyer that the Supreme Court of Canada does not decide who is guilty because that is all done by the lower courts. The purpose of the Supreme Court was to hear new strong novel arguments about how lower courts were misunderstanding the law. If the U.S. Supreme Court is a similar body, then the question in front of the court is Google's proposal to overturn another court's decision. I have not read the other courts decision. If the US Supreme Court rules in favour of Oracle but does not make any grand statements about software in general then not much will change other than money moving from pocket to pocket. My own feeling is that Google wanted to use the organization and structure expressed in the API, that is to me an API can express new ways of organizing complex things and therefore is subject to copyright, but was unwilling to pay the price. They copied the code and got caught. They should have created their own virtual machine, or paid for a licence from someone else. Having the same definition for one function is not a problem but having > 11,000 lines is copyright violation.

    I hated doing support for Oracle databases because Oracle was expensive and many thing did not actually work. Oracle did not have a reliable program to do backups while I was supporting them so each company had to write their own. So I don't want Oracle to get any money but that is legally correct decision, from my point of view.

    The author of the article, and many of the commentators have added valued knowledge about the case. Thank you. If you want to listen to the oral arguments

    https://www.c-span.org/video/?469263-1/google-v-oracle-america-oral-argument

    For other cases:

    https://www.c-span.org/supremeCourt/

    1. jedisnon

      Re: The purpose of the Supreme Coart is not to decide who is guilty.

      Google didn't copy any code - they copied the declarations. Declarations don't do anything.

      Google *did* create their own VM.

      Since when was a way to organise complex things protected by copyright? Copyright is supposed to protect creative expression, not complex systems. *Patents* protect complex and/or novel systems/machines/methods, not copyright.

      Oracle tried to get a patent on Java and failed. It was neither sufficiently novel nor non-obvious to be worthy of such protection. Making such protection *automatic* via copyright (for decades longer than a patent!) with none of the scrutiny is exactly why an Oracle win would be such a disaster for the software industry.

    2. jilocasin
      Boffin

      Re: The purpose of the Supreme Coart is not to decide who is guilty.

      Here in the U.S. of A. copyright protects an *expression* of an idea, not the idea itself (there are patents for that). Even that is limited in some cases. If the amount of work is too small (like a single word or phase), a fact (like news or a phone number), are obligatory in a genre (scènes à faire) like a Swiss bank account, and a femme fatale in a spy novel, is the only way to accomplish something, or is a method or process, then it can't get copyright protection. Similarly the U.S. doesn't recognize "sweat of the brow" copyrights, or getting a copyright just because something was difficult to do.

      So, having written that, it's clear that APIs fail to be copyrightable under three different cases:

      it's an idea, not an implementation

      it's a method of operation

      there's only one way to express it

      For example: if we have the API:

      long java.Math.Add(long a, long b)

      the idea is adding two whole numbers together

      the method is to call this function supplying the two numbers you wish to add and getting the result as a whole number

      if you want to be compatible with other programs or systems using this API this is the *only* way you can express this.

      It doesn't matter how beautiful or expressive or how many things you can accomplish with an API. Nor does it matter how long it took you to come up with this API. None of that transforms it into something copyrightable.

      I see you have also fallen victim to the confusion between the API and source code. While the API is *not* copyrightable, the software that implements it it.

      Oh, and Google *did* write their own virtual machine. They wrote their own compiler, their own development kit, their own run time and their own byte code. All that they used from Sun was the *language* and the *API*.

      I hope that clears things up.

  24. Pclogic

    GUI vs API

    Here is another angle — what if this case was about Google copying the look, feel, and behavior of a GUI instead of the case being about a text API? Would that fall under the same question of copyright versus patent?

    Is the GUI vs API discussion even an apples-to-apples comparison? GUIs take visual creativity, but APIs also require creativity to design.

  25. martyn_buttersmear
    Trollface

    © me 2020

    As soon as Oracles wins, I’m getting first dibs on main.

    int main ()

    int main (int argc, char *argv[])

    1. Peter Gathercole Silver badge

      Re: © me 2020

      I think you might have to fight Brian Kernigham and the estate of Dennis Richie for that one.

      Or was it in BCPL?

  26. Maelstorm Bronze badge
    Alien

    Anyone remember USL vs. BSDi, or Sun Microsystems vs. Microsoft?

    Although not exactly the same, this is somewhat of a similar argument to that old 1992 case. Based on some of the comments, I think the SC justices are aware of that case and the precedent that it set. This is a very complex case with very deep legal questions. Things that only a lawyer can love. IANAL, but I remember something about a Java case between Microsoft and Sun Microsystems where Microsoft was ordered to pay something like USD $1.5 billion to Sun for extending Java along the lines of their embrace, extend, extinguish mantra. I also remember Windows XP Service Pack 1.0a which removed Microsoft's implementation of Java from Windows.

    The USL vs. BSDi (which later included UC Berkeley) was an interesting case about reimplementing code. The details of the settlement was sealed until the SCO vs. IBM zombie case (which is still kicking from my understanding). The case revolved around the copying of 6 files from Unix that was incorporated into the BSDi version of Unix, and the removal of copyright notices, and lack of acknowledgements in source code and documentation. A settlement was reached and everyone was happy, until now.

    I know of one clean-room implementation of software that exactly fits this case: MS-DOS vs. DR-DOS. Bill Gate's Microsoft tried EVERYTHING to kill DR-DOS, but couldn't. Kind of a moot point now though, but the people at Digital Research went through MS-DOS and wrote a complete specification of it, including the APIs and then sent that specification to a group of programmers who reimplemented it. Since it wasn't the same, Microsoft couldn't call copyright protections on it, even though it did the same thing.

    And there was Chamberlain Group Inc vs Skylink Technologies Inc. relating to interoperability of garage door openers. Granted, that one is kind of a stretch.

    1. jedisnon

      Re: Anyone remember USL vs. BSDi, or Sun Microsystems vs. Microsoft?

      Sun sued Microsoft for trademark violation when MS "extended" Java in incompatible ways on Windows but continued calling it Java. No copyright claims were involved.

      The USL vs. BSDi case was (a hot mess) about allegedly copied code (and licenses and trademarks) not software interfaces so doesn't have much relevance. USL got slapped down hard and had to print public apologies for making false ownership claims - so much for that clever idea!

      You are correct that MS never tried to suppress competitor products with copyright claims despite very much wanting to kill the competition in any way they could. MS-DOS was allegedly a copy of CP/M so any copyright claim would have been a legal and PR disaster. More importantly. Microsoft filed an Amici brief to SCOTUS for this case - in support of Google.

      Microsoft agrees that software interfaces/APIs should be free to copy and re-implement.

  27. TJ1
    Thumb Up

    And the winner is ... Fair-Use (Google)

    Decision: https://www.supremecourt.gov/opinions/20pdf/18-956_d18f.pdf

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

Other stories you might like