back to article Happy as Larry: Why Oracle won the Google Java Android case

One piece of paper. Just one lousy piece of paper. That's the difference between success and a potential $8.8bn payout. Google's lucky streak finally ran out this week. Its defense for using Oracle's copyrighted Java code in Android – without paying the database giant a penny in royalties – collapsed in a US Federal appeals …

  1. Anonymous Coward
    Anonymous Coward

    "Google clearly had the choice of making a cool new OS, or getting a Java license and building on that."

    Google didn't need to licence the Java code, it wrote its own implementation from scratch.

    The bits it copied - the API header files - could hardly be described as "a cool new OS". Let's leave aside that a programming language and its libraries are not an OS. The header files are at best described as "the definition of how the OS/language should interact with the world", not the implementation of that behaviour.

    But all right, let's assume that API definitions are as copyrightable as the code that implements them.

    What we're left with is one big confidence trick. You announce to the world that your platform is open and free, and espouse the benefits in great detail:

    "Sun has chosen a GPL v2 license ... Open sourcing Java ME should help reduce fragmentation and benefit application developers and service providers. For example, the adoption of a common implementation across handsets will significantly reduce the development, testing, porting, and maintenance costs associated with the creation and deployment of mobile applications over a wide range of mobile handsets." -- Shannon Lynch, Sun's senior director of Mobile & Embedded platforms.

    But then due to some legal nonsense which I don't begin to understand, somehow Sun (and hence Oracle) actually retained all rights to using Java on mobile platform. Anybody who took their declaration that Java was open and free was taken for a mug.

    And that's the big risk here: it means more anti-open-source FUD from commercial vendors. "You use GPL software? Think you can't be sued? Just look at Google and Java"

    1. Dave 126 Silver badge

      > The bits it copied - the API header files - could hardly be described as "a cool new OS".

      AO was making the point that Google didn't make a wholly new cool OS. They are now though, it's called Fuschia, though it's only in the early stages.b

      1. Anonymous Coward
        Anonymous Coward

        "AO was making the point that Google didn't make a wholly new cool OS."

        The OP was making the point that Java has nothing to do with the OS, which for Android is Linux, not Java. Java is a runtime providing the language and API for Android development, which then compiles to run in Google's implementation of the Java runtime (Dalvik/ART).

        At no point have Google copied the JVM used on desktops or Java mobile applications, their runtime is compatible with the Java API definition, nothing more.

        My question is this: if you extend a standard Java class, adding functionality to it by overriding methods, could that not be considered breaching the API copyright? It's essentially your own implementation using their (copyrightable) API definition.

    2. Anonymous Coward
      Anonymous Coward

      The Register reported here in 2016:

      Java SE is free for what Oracle defines as “general purpose computing” – devices that in the words of its licence cover desktops, notebooks, smartphones and tablets. It is not free for what Oracle’s licence defines as “specialized embedded computers used in intelligent systems”, which Oracle further defines as – among other things – mobile phones, handheld devices, networking switches and Blu-Ray players. [emphasis added]

      Seems even El Reg can't draw the line between "smartphones" and "mobile phones".

    3. Robert Halloran

      If API declarations are in fact copyrightable...

      Consider this, folks: if the API declarations can be copyrighted, even if you create new code underneath to implement the actual functionality, then

      a) all those developers creating clean-room BIOS' for the IBM PC market back in the early 80s would be subject to penalties and the compatibles market would have been stillborn

      b) a certain Finnish grad student would have been in trouble for creating an O/S kernel mimicking the UNIX docs (Ghod, don't let the SCOX zombies hear about this...)

      c) Hell, *ANY* reverse-engineering effort where you take spec XYZ and create a call-compatible version is doomed.

      The potential hit to the engineering & software industries here is tremendous; trying to replicate *ANY* existing functionality with new code is a potential legal minefield for the developers. Do these feckwit judges understand the impact of their ruling, or are they too busy slipping on their kneepads as they step into Ellison's secret island lair?

    4. Ian Michael Gumby
      Boffin

      @AC

      "Google didn't need to licence the Java code, it wrote its own implementation from scratch."

      No it didn't. As Andrew points out, they raised an affirmative defense of 'Fair Use'.

      What Andrew got wrong is that Google wasn't going to get that piece of paper for free from Sun.

      Remember that Sun had a mobile version of Java that required that the company needs to buy a license while the desktop version was free. It was their way of monetizing Java.

      Could Google have bought a license from Sun? Sure.

      Most likely a cash payment and then a royalty per phone. Would have been much cheaper than what they now owe Larry. But it wouldn't have been free or cheap.

      1. Anonymous Coward
        Anonymous Coward

        @Ian Michael Gumby

        > "As Andrew points out, they raised an affirmative defense of 'Fair Use'."

        The "copyright infringement" which Google was accused of was for independently implementing a publicly documented API. In no version of Android was any code from Sun's or Oracle's Java ever used.

        Of course, you wouldn't understand that from AO's opinion-piece which disingenuously claims, or the very least uses ambiguous language to suggest, that Google used Oracle's Java code.

    5. Anonymous Coward
      Anonymous Coward

      "What we're left with is one big confidence trick"

      That is exactly right. Sun has such a convoluted relationship with Java that I am surprised that anyone ever used Java. It is open source and completely free, even for enterprises.... except when it is OEM embedded, then, sometimes, you need to buy a license depending on the definition of OEM.

      Either make a free and open software program or make a proprietary program... but it is a joke to go advertise Java as free and open everywhere, except for a few occasionally enforced exceptions.

      1. Jason Bloomberg Silver badge
        Facepalm

        I am surprised that anyone ever used Java. It is open source and completely free, even for enterprises.... except when it is OEM embedded, then, sometimes, you need to buy a license depending on the definition of OEM.

        Ah yes; the fun of figuring out what the licensing situation was in using Java on a Raspberry Pi for a commercial application.

        Best option, last time I looked, was to use something else.

    6. Oh Homer
      Mushroom

      Unqualified to judge

      Anyone who thinks something as simple as a header file should rightly qualify as a creative work deserving of copyright protection, clearly doesn't have the first clue about programming, and should not be allowed to make legal judgements about something they don't understand.

      For those, like this judge, who apparently don't understand, it'd be like claiming that the definition of sodium chloride as a salt is copyrightable, the sole intellectual property of Premier Foods, and as a result nobody else is allowed to produce and sell salt that is described as "sodium chloride", because Premier Foods has monopoly control of that definition.

      Note, we're not talking about a patent, since Premier Foods didn't invent sodium chloride, and we're not even talking about a trademark, as "sodium chloride" is merely a chemical formula, not a commercial brand name. The simple act of stating the definition of salt is, in itself, prohibited, unless you hand big wads of cash over to Premier Foods.

      That's header files. They're simple definitions, and something that simple, and not even remotely "creative" in either the scientific or artistic sense, should never, ever be copyrightable. Period.

      Next up, Bertrand Russell copyrights "1 + 1 = 2". Everyone is forced by lunatic copyright laws to stop using mathematics. Chaos ensues. Civilisation ends. "IP" laws prevail, but it doesn't matter, as no one can read any more. And the lawyers lived happily ever after.

    7. TVU Silver badge

      "And that's the big risk here: it means more anti-open-source FUD from commercial vendors. "You use GPL software? Think you can't be sued? Just look at Google and Java""

      That this case has gone on so long and has swung back and forth in different courts indicates that there is merit to Google's arguments.

      Furthermore, this is not a definitive verdict. That can only be effectively handed down by the US Supreme Court and, given the principles that are at stake here, I sincerely hope that Google contests this case all the way to the Supreme Court.

      I frankly detest Oracle these days because they are using litigation to extract money instead of innovating and providing a good service to customers. They have, in effect, become the new SCO Group.

  2. Anonymous Coward
    Anonymous Coward

    I knew from the beginning that Java would bite Google in the ass. If only because of its shit performance.

    Should've gone with C++ and HTML for their App needs.

    1. Anonymous Coward
      Anonymous Coward

      That's right, swap performance on the CPU, or reduced developer performance.

    2. Anonymous Coward
      Anonymous Coward

      "Should've gone with C++ and HTML for their App needs."

      Yup. There was zero reason to use java given that Android is just a worked over version of Linux with an alternative display system. They could easily have simply present the standard Posix API along with new sound and visual APIs for app developers to work with , but no, they decided to go with the Kool Kids and Java. AFAIK they don't even use a JVM or java bytecode anyway - it gets compiled down to something else (too lazy to search) so they can't even say it was to use a sandboxed JVM for app security. Not that you need that anyway if the kernel has been modified properly for extra process security and protection which no doubt they've done.

      1. Andy 73 Silver badge

        Haha

        Yes, because we see thousands of C++ and HTML based apps don't we - clearly that's the better technology... *sigh*

        OK, sarcasm over. When Android was just starting, you had next to no consistency of hardware between vendors, and manufacturers actively attempting to create walled gardens by building in 'special' (and incompatible) features into both their hardware and the O/S running on top. HTML at the time was purely a presentation layer, with pitiful performance and a complete inability to deal with many UI concepts (multi-touch, 3D rendering, real time processes etc). HTML is still a stupid place to start if you want an immersive UI and to retain your sanity. That's why the cool kids are using Unity.

        A VM that abstracted both the hardware features and the user interface was *exactly* what was needed to avoid going the Nokia route. The moment devs could be tricked (or willingly leap) into using device specific APIs, the 'universal' nature of the platform would be lost - and it needed to be universal to match the monolithic and well managed walled garden that Apple had created.

        The usual moronic nonsense about Java performance simply didn't apply. It was *good enough* (and still is - VM technology is very smart these days) and provided a development environment that was accessible, consistent, neatly sandboxed and supported by tools that were an order of magnitude better than the command line torture inflicted on C++ devs.

        "Android is just..." - it's not 'just' anything - it's the largest mobile platform globally, despite many attempts to offer alternatives. Many. Attempts. Some using C++ and HTML...

        1. Anonymous Coward
          Anonymous Coward

          Re: Haha

          "It was *good enough* (and still is - VM technology is very smart these days) "

          Pfft, sure, thats why on the last java project I was involved in the VM reserved over 100MB just to start up and load the program.

          "consistent, neatly sandboxed and supported by tools that were an order of magnitude better than the command line torture inflicted on C++ devs."

          Have you ever actually programmed in C++? I have my doubts. And there was nothing stopping google creating a C++ sound and visual API specifically for android plus an IDE. Which they had to do anyway for java. So none of your arguments stack up.

          1. PerlyKing

            Re: Java IDE

            @boltar

            there was nothing stopping google creating a C++ sound and visual API specifically for android plus an IDE. Which they had to do anyway for java.

            Which IDE did Google create for Java? I know that they made an Eclipse plugin and they now package IntelliJ IDEA as "Android Studio", have I missed something?

          2. Andy 73 Silver badge

            Re: Haha

            I have programmed in C++ and C and Javascript, and Pascal and x86 and Scala and.. it's a long list. I'm old. The tooling for C/C++ at the time was poor, with second rate refactoring, unit testing, code coverage, and even simple things like autocompletion. Build tools were inconsistent and setting up 'an environment' a dice game unless you happen to live in happy Visual Studio land (welcome to the Hotel California). In comparison, the same set of Java tools ran consistently on your machine, regardless of whether it was a Windows, OSX or Linux box.

            Do tell me how you sandbox a C++ executable? Or perform static analysis on it without symbol tables you hope are consistent with the binary. Or ensure that your arbitrary third party library (hint: there are thousands of those freely available for Java and hence Android) is safe to run on any of the thousands of phones out there?

            And if you think that all Android is is a 'sound and visual API', you've really missed the point by a country mile.

            1. Anonymous Coward
              Anonymous Coward

              Re: Haha

              "In comparison, the same set of Java tools ran consistently on your machine, regardless of whether it was a Windows, OSX or Linux box."

              Actually they didn't always, at least not in look and feel though thats improved in recent years.

              "Do tell me how you sandbox a C++ executable?"

              "Or ensure that your arbitrary third party library (hint: there are thousands of those freely available for Java and hence Android) is safe to run on any of the thousands of phones out there?"

              Hmm, I wonder how apple do the above with objective-C binaries from itunes. It must be woowoo magic!

              "And if you think that all Android is is a 'sound and visual API', you've really missed the point by a country mile."

              Feel free to fill me in on what else Android has over a standard linux installation. Sure , it has phone and touch support but thats just drivers. BFD.

            2. Anonymous Coward
              Anonymous Coward

              Re: Haha

              In some ways it is a pity that Google went with Java and not Qt... they could always have bought Trolltech for a lot less than $8 billion (as Nokia did a few years later). In practice, the application memory and CPU requirements are so much higher, and the Java build tools (and the coding style, and the library dependency hell) - have always felt so kludged, fragile, and bloated - to me - compared to what's available on Qt.

              1. keithzg

                Re: Haha

                It really is a pity, isn't it? Anecdotal evidence time!

                When I first got a smartphone, it was a Nokia N900, which allowed me to write Qt apps for my phone. On the desktop, people generally pair Qt with C++, but you don't have to, and I personally used Python. It was ludicrous how easy it was to program apps that way; I literally programmed an app for my city's public transit *on the phone itself* (or "tablet" as that division of Nokia was calling them, perhaps to avoid other areas of Nokia from taking Maemo away from them).

                When I finally had to admit that Android was winning rather than Nokia's more standard Linux stack, I gave Android programming a shot. I did make a few basic apps, but dear lord, just all the extra nonsense and faffing about you have to do, the additional baseline complexity at work, it's ludicrous. I found it way harder than writing Python Qt apps (or later, I tried C++ and Qt's QML and it similarly blows Android development out of the water), and I'm someone whose only formal training in computer programming *is* Java!

              2. Andy 73 Silver badge

                Re: Haha

                QT - The point here is that Java wasn't just chosen as a convenient hardware abstraction layer (though yes, it is that). It was chosen as an extensive ecosystem, with decent tooling, vast amounts of documentation and many libraries that can be pulled in to do... well, pretty much anything. The problem Symbian had, and QT still has is that, outside of the core development community, there is nothing comparable to the amount of support and development activity that there is with Java.

                What feels kludged, fragile and bloated to you feels consistent, predictable and unremarkable to most Java devs - it just works. Like any language, the quality of the output depends on the consideration that goes into its development and the understanding of the platform. Sure you can create your own hell, pulling in the entire universe, but dependency management on Java is incredibly robust and the ecosystems that have built up around it are simply not matched in other platforms. I've got ancient projects that still build and run consistently on an O/S that has since had five major revisions (and a whole bunch of point releases).

                And application memory and CPU requirements have never had the impact devs believe it should on platform penetration. What is important is that the users can get their hands on thousands of apps that do whatever is cool right now - and guess what? They can. That's why people buy Android phones not Windows Phones or Blackberry Phones and so on.

                None of this is to say Java is better than *insert language here* from a technical standpoint. The thing is, it's not those technical details that drove the adoption of Android.

            3. Flounder

              Re: Haha

              You forgot to point out that Java allows multiple programs to run concurrently, without memory mapping hardware or even an OS, because it is impossible to create a "pointer" in Java. A "reference" is a very controlled notion of "pointer", and you cannot access the memory of one Java program from another which is cohabiting the processor, in the same address space, because of these references. Do that in C or C++! (There are many other languages that do not embody the concept of "pointer", Java is only one of them. C and C++ are not).

          3. Flounder

            Re: Haha

            What are "command line tortures"? I have been using C and C++ for decades, and not once have I had to do anything on a "command line" to compile, execute, and/or debug my code. What alternate reality are you living in?

    3. Anonymous Coward
      Anonymous Coward

      "Should've gone with C++ and HTML for their App needs."

      Google wanted the easiest path. HTML is bad for mobile UIs.. C++ is hard, and have far fewer developers. Also, less friendly tooling, especially under Linux. Java came with IDEs, libraries, developers, etc. etc.

      Google is greed - just this time it may pay its greed dearly.

      1. Anonymous Coward
        Anonymous Coward

        Re: "Should've gone with C++ and HTML for their App needs."

        "C++ is hard, and have far fewer developers"

        C++ has a fuckton of developers, you just don't hear much from us since we're busy working and getting the job done rather than making a big noise about how we're so cool for using [insert trendy language of the month here].

        1. Ian Michael Gumby

          @Boltar Re: "Should've gone with C++ and HTML for their App needs."

          I stopped coding in C++ because I was sick and tired of fixing other people's obvious mistakes and piss poor code.

          I prefer C over C++, but in terms of coding today... SCALA.

        2. Someone Else Silver badge

          Re: "Should've gone with C++ and HTML for their App needs."

          C++ has a fuckton of developers, you just don't hear much from us since we're busy working and getting the job done rather than making a big noise about how we're so cool for using [insert trendy language of the month here].

          I wanted to put up the beer icon for this comment, but for some reason, the icons are missing. No matter; this one's for you (it's just very pale today...)!

        3. JohnFen

          Re: "Should've gone with C++ and HTML for their App needs."

          This.

          Also, C++ isn't "hard" -- and I have to wonder about developers who think that it is...

        4. JMcL

          Re: "Should've gone with C++ and HTML for their App needs."

          "C++ has a fuckton of developers, you just don't hear much from us since we're busy working and getting the job done rather than making a big noise about how we're so cool for using [insert trendy language of the month here]."

          I wouldn't deny that at all,speaking as somebody who spent a considerable part of their career programming in C and assembly of various shades.C/C++ IS hard for most developers (ability to easily shoot oneself in the foot, different architectures, endianness etc). To illustrate, you only have to look at the horrorshow that was Windows software until they handed out the blunt scissors in the form of C# to the more plebian masses (there were other reasons of course, but Imho, this was a major one). Unfortunately from my experience, a lot of blame must fall at the feet of educational curiculums. Graduates more often than not have no meaningful exposure to C/C++, often only scripting languages, because this is what "industry" demands.

          I'm firmly of the opinion that if you have gone through the experience of freezing the machine solid a few times through uninitialized pointers, buffer overruns, etc., you'll (hopefully) have a better grasp of the underlying architecture and fundamental computer science concepts, and this understanding will better inform any software you develop even in the Java, Node or whatever you're having yourself world.

    4. Blank Reg

      No, Java was the only sensible choice. At the time Java was by far the most popular language for mobile development. For most mobile developers it was the only language they had ever used for app development. So the path of least resistance was to base their new platform on what everyone was already using.

      But despite warnings from their own staff that they needed to negotiate a license, they just went ahead and used Java anyway rather than have to pay a few pennies per phone in royalties.

  3. Dan 55 Silver badge
    Stop

    "Get a licence or build something new. It's really that simple."

    No, no it's not. Every new language that appears is inspired by or built on the previous languages that came before it, if only for developer familiarity which reduces learning time and helps speed up development time.

    If you think otherwise, you might as well bin Java in its entirity because half of it is copied from C and C++ (trollface: and the other half is done wrong).

    However there are limits. You can't argue that Java's API was the sole reason for Android's success because Java ME got absolutely nowhere.

    1. Anonymous Coward
      Anonymous Coward

      Re: "Get a licence or build something new. It's really that simple."

      "If you think otherwise, you might as well bin Java in its entirity because half of it is copied from C and C++"

      Java is a poor mans C++. Its less powerful, is generally slower (though improving) and the JVM uses up far more memory than a C++ binary would for the same program. The upside? Its easier for beginners to learn and use, is sandboxed when running as bytecode and has cutesy IDEs.

      Your pays your money....

      1. JohnFen

        Re: "Get a licence or build something new. It's really that simple."

        "Its easier for beginners to learn and use, is sandboxed when running as bytecode and has cutesy IDEs."

        All of which I've come to think of as downsides, as they make it far too easy to write code that is borderline unintelligible and incredibly hard to maintain -- much worse than C++ (or even C) could aspire to.

    2. Blank Reg

      Re: "Get a licence or build something new. It's really that simple."

      "Java ME got absolutely nowhere"

      Um, it was deployed on nearly every phone on the planet, from nearly every phone maker. 100's of millions of devices per year, and millions of apps. And it was quite capable as well, giving you APIs for everything from the mundane like Bluetooth up to opengl and GIS.

      The problem was that Sun tried to play nice and let manufacturers pick and choose which optional API's to use. This did make sense since there was a huge difference in capabilities between the lowest and highest end phones. But it meant you had to be more careful when coding as you couldn't assume what API's would be there.

      Apple went their own way (or course) and inflicted the abomination that is Objective-c upon us poor developers. Android rightly chose Java since the majority of the worlds mobile developers were already using Java ME. But Google didn't want to pay those few pennies of royalties per device and so instead took Java SE and started adding and removing APIs, against the advice of their own staff.

      And now they owe billions in damages, as I expected they would all along.

      1. Colin Wilson 2

        Re: "Get a licence or build something new. It's really that simple."

        "Apple went their own way (or course) and inflicted the abomination that is Objective-c upon us poor developers."

        At least they've redeemed themselves by giving us the delectable Swift

    3. Blank Reg

      Re: "Get a licence or build something new. It's really that simple."

      That's BS. Java ME was on pretty much every phone in existence, over a billion of them. Even on Symbian and Brew based devices where the platform owners were pushing their own native development platforms.

  4. Graham Dawson Silver badge

    Andrew, in your haste to celebrate thus outcome, you are overlooking the key fact: they copied the api. Not code. Not software. A list of function names.

    APIs are now subject to copyright. The means by which software interacts with other siftware is now subject to copyright. The ability to develop an api-compatible implementation of a piece if software, in order to compete in an open market, is now subject to copyright licensing.

    If i wanted to make an os to compete with windows, that was compatible with windows api calls so that windows exrcutables could run on it, i would now require a license from microsoft.

    If i want to build a phone os that can run android aps, i now have to license the list of function names.

    I would require a license from my competitor in order to compete with them.

    I really don't think you have grasped what is at stake here.

    1. Blank Reg

      Why do you think you have the right to copy someone else's work? Do you think API design is a trivial exercise? The implementation of an API is largely grunt work, yes there are often some hard bits, but most of it isn't.

      Designing a good, consistent and usable API of any substantial size is hard, and that work should be protected.

      1. JulieM Silver badge

        Bollocks

        Just because something was hard work, doesn't mean you deserve to get paid for it.

        There is no way on Earth that an API should be copyrightable.

        1. Blank Reg

          Re: Bollocks

          Just because you don't want something to be copywritable doesn't mean it isn't.

          As a non-obvious, non-trivial original work, an API should be copywritable. Any potential implications on the industry are not really relevant to the issue of copywritability.

          If APIs were obvious and trivial then there wouldn't be so many different APIs to accomplish the exact same goals. And they would all be well designed, but in fact many or not.

          1. Anonymous Coward
            Anonymous Coward

            @Blank Reg

            "As a non-obvious, non-trivial original work, an API should be copywritable"

            If APIs were copywritable the Wine project (and probably a dozen others) would be dead in the water and its doubtful Unix would have become as popular as it was since AT&T would have kept the API to themselves and BSD and Linux would never have existed.

            How do naive, historically clueless idiots like you get into IT? FFS.

            1. Blank Reg

              Re: @Blank Reg

              As I said, the implications are not relevant here. The judge only has to go by the law, not by whether it causes you some grief. If it's a problem then it is up to those making the laws to change things.

              And I'm well aware of the history, I started programming on a PDP-11.

      2. doublelayer Silver badge

        I disagree

        An API is a list of commands. All of them had to be implemented in the first place, and so the design of the API could be considered secondary to the design of the original implementation, as otherwise it's useless. There are so many things that could be considered API-ish enough, but copyrighting them is ridiculous.

        For example, imagine that SQL was a copyrighted language. Instead of having a lot of possible database systems, which you could choose with the knowledge that your core app will keep working because basically all of your SQL statements are identical from one to another, you'd have one or two products. The open source one might have tried to get the rights to use SQL, but the company would have said no way, so things would work differently on that one. What's the big deal, you say? The big deal is that people start working on those products that are free so they don't have to pay to learn. I started to program with languages that required no commercial components. My first server was a linux one, because I could try and fail with it as many times as I needed without having to worry that microsoft would make my license not work because of something I messed up. Admittedly, I'm still using linux servers, so that might be a point in favor of the alternative. However, going back to the SQL example, people who you were hiring to deal with databases would have two options. Either use the open source one they know, which might be brilliant or might be inefficient, or learn the other one with no guarantee that they will ever use it again. SQL fixed that--I have a website with MySQL running on the databases. I needed to write a client-side program in C to deal with the same type of data. I migrated the relevant database to SQLite so the program had its copy of it. If MySQL breaks, I remove it and put a different one in. I'll have to change a few parts where I use modules only designed for MySQL, but the statements are the same. That is what API agreement can do.

        Back to programming languages. Python is a language that has an implementation. It's fine, and people use it often. There is another implementation, pypy, which is more efficient and is also used often on different systems. They adhere to the same standards, so I don't have to rewrite my code if I intend to run it on other devices. I don't even have to recompile to byte code. Would that have happened if python was run by a company that decided to copyright __name__=='__main__'? No, it wouldn't. Python would be dying. It isn't now. Guess how they managed that.

      3. Brewster's Angle Grinder Silver badge

        As, I've said before, an API is like the index to a book. So "copying" the API is like arranging for your book to have an index which has all the entries that are present in the book you're "copying". (Although you can throw in a few extras.)

        1. Anonymous Coward
          Anonymous Coward

          It's like the table of contents. A list of chapters, divided into sections, talking points, themes, major ideas, that you sketch out when planning your book, before you write it. The index is generated from the content after you've written it.

          If you wrote a 1000 page book on, say, the history of the Roman empire.

          Then discovered someone else has written a near identical book, that touched on every single point and idea you made, in the same order, but using slightly different wording (because they 'reimplented' each paragraph) do you think you'd have a claim for copyright infringement? Would a university consider the work plagiarism?

          Of course a non-trivial API is copyrightable. It takes effort and skill to get it right. As an example, the original Java date and time api is a pile of shit. JODA isn't. The intellectual effort and energy invested in turning a pile of shit into something that works well deserves protection.

          Google didn't want to put in that effort, they wanted in effect to parasitise other people's work, and they're discovering courts don't like parasites.

      4. JulieM Silver badge

        Turning it around

        I could just as easily throw your question right back at you. Where do you get the idea that your work should be "protected" against copying by other people?

        An API absolutely must be free for anyone to implementate, with their own code behind it. Exactly what your implementation does is your own business (especially if you have chosen not to share that work with the world at large; some would even regard such failure to share as a form of theft) but anyone else has a natural right to create their own competing, interchangeable code which behaves identically when given identical commands.

        An API, as a collection of names and definitions, is really just an emergent property of a software program. Even if you don't sit down in advance and plan an API in detail, one will spring into existence all by itself anyway, as a direct consequence of the existence of the program.

        Your creative work is in deciding precisely how you will deal with the mechanics of rendering data into a particular form and passing the results to a stream, not in deciding that the command to do so is going to be called printf . Anyone else can make their own implementation of a language with a printf command that behaves exactly as yours. You might want to bully people into having to write their own code, but you absolutely don't get to tell them that they can't call their own implementation of a command to format data and print it to a stream printf . In fact, they have to call it printf , in order for other people to be able to take a program written in your implementation of a language and run it using their implementation of the same language. That way, the users can decide fairly whose particular implementation they prefer. They compete on their various merits -- some users might be prepared to put up with a slightly slower implementation than yours, if it's free; others will prefer the devil they know. Nobody with a sense of fairness could disagree with that.

        1. Roml0k

          Re: Turning it around

          > Where do you get the idea that your work should be "protected" against copying by other people?

          Perhaps because of the amount of creative thought necessary to craft an intuitive, consistent, thorough, and future-proof interface to a system or application?

          > An API, as a collection of names and definitions, is really just an emergent property of a software program. Even if you don't sit down in advance and plan an API in detail, one will spring into existence all by itself anyway, as a direct consequence of the existence of the program.

          That's the kind of thinking that gives us unplanned, undesigned, agglomerated nightmares like PHP, or anything from Microsoft.

          If that's your attitude to API design, then I can see why you'd think they can't be copyrighted, and perhaps some APIs shouldn't be. But I certainly hope to never again have to develop against such a thoughtlessly assembled API.

    2. John G Imrie

      Summary

      Yesterday API's where not copyrightable. Today they are.

      1. DZ-Jay

        Re: Summary

        Wrong. As Mr. Orlowski has mentioned in the past, APIs were *always* copyrightable. Google's defense does not even contradict this; it just says that it fell under fair use. In other words, "we did infringe, your honour, but we had a very good reason for it, so we're OK."

        dZ.

    3. DZ-Jay

      Here, read this, for a measured and well reasoned response to the alarmist reaction in your post:

      https://arstechnica.com/information-technology/2016/06/the-googleoracle-decision-was-bad-for-copyright-and-bad-for-software/

      Consider that interoperability has always weighted heavily in favour of fair use. The examples that you provide are typical cases of attempts to interoperate with a system via its API. In the case of Android, no attempt was made at interoperability wi Java. None. You cannot execute a Java application in Android, and you cannot execute an Android application in the JVM. The API was copied as a way to attract Java developers and shortcut the barriers to adoption.

      This is a fundamental difference when considering a fair use defense. In fact, this is the reason copyright cases and fair use arguments are applied on a case-by-case basis, rather than by precedent alone, because the nuances in the answers to all the questions regarding fair use applicability, are so significant.

      dZ.

    4. jelabarre59

      If i wanted to make an os to compete with windows, that was compatible with windows api calls so that windows exrcutables could run on it, i would now require a license from microsoft.

      As if ReactOS didn't have enough roadblocks as it is.

  5. Duncan Macdonald
    Mushroom

    As usual Andrew hates Google

    If it had been another firm, he might have engaged his brain and thought what the impact of this ruling would be on software development - instead as usual he gloats on anything that could hurt Google.

    1. Captain Hogwash

      Re: As usual Andrew hates Google

      I'm all for hating and hurting Google but I also think the court got it wrong. The wider implications are anti-competitive and likely to entrench monopolies.

      1. ForthIsNotDead

        Re: As usual Andrew hates Google

        @Captain Hogwash:

        What monopolies? Do you mean a company that has spent millions developing a product? Is Microsoft a monopoly? Is SAP a monopoly? How about Oracle?

        If I produce a software product, and it becomes hugely, massively successful, that is not a monopoly. It's a successful product. Other people are still free to produce competing products.

        Better still, if YOU produce a software product, and it becomes hugely, massively successful, having spent all the money on its development, upkeep, marketing, staffing costs, salesman costs, pension contributions etc., would you be okay with me *effectively* copying it (by copying your API) and either massively undercutting you, or (worse) giving it away for free, rendering your product worthless overnight?

        Would you just walk away and say "Oh well, fair enough?" and walk away, or would you fight.

        Larry, as much as I think he's a twat, decided to fight, naturally. And so would I.

        And so would you.

        1. find users who cut cat tail

          Re: As usual Andrew hates Google

          ForthIsNotDead: A successful product which others cannot be legally interoperable with is one of convenient ways of creating monopolies.

          And BTW, yes, Microsoft is a monopoly. It just happens to be a monopoly in a market which is quickly becoming niche.

          1. sabroni Silver badge
            Thumb Up

            @ForthIsNotDead

            Awesome post! I could almost see the veins standing out on your forehead!

        2. John Savard

          Re: As usual Andrew hates Google

          Here's the problem:

          I could write a new operating system that is "better" than Windows in some technical sense.

          But competition between operating systems isn't strictly based on the merits of the operating system itself. It's based on the choice of applications that can run on it.

          So if an operating system - or a computer architecture - becomes very successful... you can't just swap out Microsoft Windows for OS X or Linux and still run all your old software. Nor can you just swap out an x86 chip for a PowerPC or a SPARC or a RISC-V chip and still run all your old software.

          This is a barrier to true competition. An operating system isn't just a generic product that can be made by anyone cheaper or better. This leads to higher prices for consumers. So it is against their interests, even if it is not in any way against their "rights".

          If the rules from the beginning made it clear that computer architectures and operating systems wouldn't be allowed to make themselves non-generic in this way, people would still have built computers and written operating systems, because computers are very useful devices. They would have priced them differently because there would be different options when it came to monetizing them.

          And there are certain efforts that wouldn't have been invested in.

          I'm not sure what the solution should be, but it is to the disadvantage of computer users that only one company makes an operating system 100% guaranteed to run all Windows programs, and only two companies make x86 processors. Changing that many not be fair to some investors, but it is in the interest of a large chunk of the public, and would spur genuinely constructive technical innovation.

          1. Anonymous Coward
            Anonymous Coward

            Re: As usual Andrew hates Google

            @John Savard,

            So if an operating system - or a computer architecture - becomes very successful... you can't just swap out Microsoft Windows for OS X or Linux and still run all your old software. Nor can you just swap out an x86 chip for a PowerPC or a SPARC or a RISC-V chip and still run all your old software.

            This is a barrier to true competition. An operating system isn't just a generic product that can be made by anyone cheaper or better. This leads to higher prices for consumers. So it is against their interests, even if it is not in any way against their "rights".

            Back in ancient history the US Department of Defence decided they'd had enough of buying military equipment containing bespoke computing hardware / software. They championed the development of the POSIX API standard (essentially a standardisation of what was commonly found in C libraries on various Unixs of the day), and open hardware architectures (principally VME). In this they were highly successful. VME became (still is in many ways) a major hit. POSIX is literally everywhere - even Linux mostly implements it, and MS for quite some time had to have a POSIX runtime for Windows to qualify for DoD contracts. POSIX is the closest we've ever got to a legally mandated API for interoperability for source code.

            The end result in that space was that software written again POSIX and hosted on VME compliant hardware could pretty easily be re-targeted on a different OS on hardware from a different vendor. So when the DoD wanted to build more radar sets, they could do so without having to pay $mega to have the software written again.

            It's no coincidence that Linux (mostly) does POSIX - it is the way to inherit, and indeed add to, a massive source code base.

            Where POSIX didn't venture (so far as I recall) is in things more commonly associated with the Desktop; X11 is not DoD mandated, nor is GTK, or any of those things nor ways to interact with sound devices, printers, etc. DoD's major focus was on embedded systems like radars, communications systems, etc.

            No Standard Deskop

            One of the biggest challenges today for a developer is picking a GUI framework that has the right features and works on the platforms one wants to support. Because there are very strong single-platform frameworks out there (Apple's toolkits for OSX, iOS, and Microsoft's toolkits for Windows such as WPF, MFC before that, etc), the choice has inevitably boiled down to the question, "Am I writing this for Windows or Mac?". Google simply created another non-portable platform called Android.

            Language Standards

            Plus, POSIX is firmly in the land of C/C++. Other languages might well be implemented on top of C/C++/POSIX (i.e. the Java runtime is written in C++ and uses glibc, and so it relatively portable to other platforms).

            However it's up to the language developer, if they care, to enforce standardisation of their language across all platforms. This is what both Sun and Oracle have done with Java; they care enough about the standardisation of Java (language, APIs and bytecode) to take legal action against those who do something Java-esque that breaks that standard. They have successfully sued both MS (long time ago) and now Google.

            Similarly MS are fairly protective of their .NET runtime; they're very un-keen on the idea of someone doing an alternative stack which produces code that doesn't run on their CLR without their blessing.

            Good Standards Enable Prosperity

            Personally speaking I think that there should be more government intervention in the enforcement of standards. Strong standards strongly enforced are a big enabler of business; they're a level playing field on which good ideas can thrive.

            Standards like HTML, Javascript, CSS are pretty weak - every single damn browser does it all slightly differently and all of them permit developers to take liberties with the standards, but somehow the world muddles through despite that. Javascript is particularly bad thing. We would be much better off if these things were more rigidly adhered to and better designed.

            Having said that, strong enforcement of obsolete standards leading to the oppression of new standards is bad. So if there were to be more governmental enforcement of standards, governments would have to become far more nimble and responsive to new ideas, not something they're noted for being (which is probably why they've kept out of it).

            Government Web Standards in the UK

            A good example of where government interference can be good is in the UK. There is a central group whose job it is to ensure that all .gov.uk websites work in pretty much any browser, for pretty much any user (e.g. partially sighted, not very IT literate, etc). Take a look here. They're working their way through the whole of .gov.uk, and the results are pretty good. The resultant sites aren't very pretty, they're dull, but they do work, links don't rot, etc.

            This is less of government setting a standard for things like browser, it's more of a case of government saying how they're going to use the inconsistent piles of shite served up by the browser developers and web developers. This page defines the browsers in which a gov digital service must work in, and it's pretty comprehensive. Note there's no mention of Linux!

            This page is quite illuminating, setting out what assistive technologies web sites must work work with. The reason I find it interesting is that IE, Mozilla and Safari seem to be well supported by assistive technologies, but there's no mention of Chrome. Perhaps Chrome makes it particularly difficult for assistive technology vendors to target Chrome, which if so would be unkind of Google.

    2. charlieboywoof

      Re: As usual Andrew hates Google

      Anything hurting google is great new IMO

      1. JohnFen

        Re: As usual Andrew hates Google

        Even when it distorts the law and harms all of us?

        I'm not in favor of burning down my house to get rid of rats nest, myself.

    3. ForthIsNotDead

      Re: As usual Andrew hates Google

      Duncan, this is a large rant, so you may want to skip it! :-)

      The impact is clear: If you want to make a compatible version of my operating system, and in so doing, take advantage of the money that I have spent in developing it in the first place, marketing it, and generally doing everything I can to make it successful (to the point that it becomes an attractive enough target for you) then get a fucking licence. It's as simple as that.

      It all depends on which side of the fence you're sitting on. We're all using descendants of the IBM PC. The IBM PC BIOS was re-created "clean-room" style and that led to the demise of the IBM PC, and the rise of the compatibles. That's great if you're Compaq, but shit if you're IBM which has spent literally millions (possibly a billion or more in todays money?) to develop it, develop business software for it, and bring it to market.

      Imagine you are a Microsoft developer working on Microsoft on Windows. Then a company comes along and says "Hey, we've independently produced our own operating system that is totally compatible with Windows, and we're giving it away for free! You're welcome!". How would you feel to see the company you work for brought down? Would you just say "Ah well, that's the way it goes, I suppose!"? In the Sun/Oracle and Google case nobody was brought down, so it's not quite oranges and oranges, but you see my point, right?

      The API is the be-all-and-end-all of all commercial software. Measured in dollars or pounds, a function prototype is FAR more valuable than the code in the function itself, because it's the function prototype that is the key to a competitor (previously, prior to this ruling) effectively stealing your lunch. Not your product, but your income. Fuck that.

      Of course, the companies themselves are partially to blame. Perhaps they (Sun) could have avoided this mess by simply copyrighting the API explicitly. I dunno. Sun was lead by a fucking clueless hippy that should have never been in the position he was in.

      As far as hating Google is concerned, fucking right! They, and Facebook are literally the planets' masters at taking things that other people produce, monetising it, and paying nothing for it. Be that the information you produce as a living human going about your everyday life, or copying every fucking book on the planet, or the millions/billions of copyrighted videos and music on YouTube that they earn from, but the producers earn nothing from.

      They are a cancer on earth, and the sooner they are gone, preferably in a large mushroom cloud, Terminator style, the better. When they are not stealing your earnings by providing free access to your copyrighted material that you sweated over to write, record, produce, and publish, they are buying companies that are producing autonomous killing machines, designed to hunt humans and kill them.

      "Don't be evil" my big fat hairy fucking arse. They are Earth cancer, plain and simple.

      </rant>

      1. Andy 73 Silver badge

        Re: As usual Andrew hates Google

        The subtlety here is surely not that someone might copy your operating system, but that if you put out a platform on which others build their livelihoods, you now have a legal stranglehold over them.

        How would you feel if tomorrow Microsoft updated windows so that only Microsoft products ran on top of it? You can't do a blind thing about it as anyone re-implementing the APIs they choose to remove can be sued. They could quite legitimately remove APIs needed by Chrome, Firefox and Opera and announce that 'for your own good' you can only use Edge. Remember the legal wars that were fought to prevent exactly that scenario happening? And now, via a different legal route, we've given that ability back to them.

        1. Anonymous Coward
          Anonymous Coward

          Re: As usual Andrew hates Google

          Hey I like to see Google brought down a peg as much as the next guy, but not at the expense of setting legal precedent that might create a whole new class of software related lawsuits in the future, Andrew's hand-waving that it won't happen notwithstanding.

          Those of you advocating for this because it hurts Google are no different than those cheering when a patent troll goes after Microsoft, Apple or <insert name of company you hate here>. If you're against trolls, or creation of a new playing field for software related copyright lawsuits, you should be against it regardless of who is facing it.

          If this lawsuit stands, at least it will solve the problem of Android's monopoly in the low/mid range phone market. Google will have all the more reason to push Fuschia, but I suspect they'll have a hard time getting uptake as no doubt their creeping control-freakism that has turned the screws a little tighter on OEMs with each release of Android will go up to 11 with Fuschia. I'll bet a lot of them say "thanks, but no thanks" and stick with Android. Smartphones are a mature market now, until something big happens to disrupt the market and unleash a new wave of innovation there isn't going to be much need for major new OS capabilities. The OEMs would just need to create some organization to oversee collecting patches for stuff like security and minor new functionality like supporting display notches or multiple cameras.

          1. keithzg

            Google's future Android versions are fine

            Actually, Google can just keep on using Android forever if they want and not pay a dime more. The theoretical legal problem here (which is ridiculous, since the appellate court originally sent it back down saying "a jury should decide if this was fair use" and then when a jury found it was fair use they've decoded to override it by saying "no reasonable jury could find it fair use!"—but I digress) is Google's reimplementation of Java being in violation then of Previously-Sun's copyright.

            But Google *does* have a license to copy Java these days!

            Near the end of the original trial, Google announced that they had rebased their Java implementation on OpenJDK, which is licensed GPLv2 with the Classpath exception (which basically makes it like LGPL honestly). That's software put out by Sun (now Oracle) with a clear license, and is nowadays what Google has been using for many versions of Android. There is no longer any way they could be found in violation. Well, okay the Federal circuit in question here has always found ways to bend rules towards IP maximalism, but the GPL is in fact a legal mechanism made possible by copyright law so they'd have to do some insane gymnastics even by their own standards if they were going to decide Google was somehow finding a way to still fall afoul of Sun-now-Oracle's copyright, given that they are nowadays using code from Sun-now-Oracle under a license!

            So the ironic thing is, the only way this hurts *Google* is a one-time wealth transfer from them to Oracle. Modern Android, however, gets off scott free. It's the *rest* of the software industry that has to worry about this precedent . . .

            1. Anonymous Coward
              Anonymous Coward

              Re: Google's future Android versions are fine

              Actually, Google can just keep on using Android forever if they want and not pay a dime more. The theoretical legal problem here (<snip>) is Google's reimplementation of Java being in violation then of Previously-Sun's copyright.

              Er, one of the holes in Google's defence was that they hadn't reimplemented Java. You could not back then take Java byte code and run it on Android (they did Dalvik instead). Thus it was not "Java". However in doing so they'd copied verbatim some parts of the Java API. One of Google's great deceptions was to get the world believing they were programming in Java, when in fact they weren't.

              Turns out that was a $9billion bad idea.

    4. Anonymous Coward
      Anonymous Coward

      Re: As usual Andrew hates Google

      This is nothing to do with him hating Google or the wider impacts.

      This is a case of what is written in law.

      It's no difference if you watch live TV in the UK and fail to have a TV license. You can bitch and moan all you want about how it's unfair if you don't watch BBC, but the law states you must have one. That is the whole point of the article, not a woolly opinion, but interpretation of the law.

  6. Anonymous Coward
    Anonymous Coward

    Creating APIs isn't easy

    As anyone who has created software APIs will know creating APIs that are meaningful, understandable, and concise isn't easy. They are not just the throw away after thought of the software creation process (or at least shouldn't be), they are worth something.

    1. Anonymous Coward
      Anonymous Coward

      @AC

      Although I do agree with you it does raise another interesting question: why build the API in the first place? Isn't that usually done in order to allow others to use your software? And doesn't that more or less imply a less restrictive setup?

      1. Anonymous Coward
        Anonymous Coward

        Re: @AC

        It looks people don't understand copyright and patents exist exactly to protect published stuff. Otherwise you just keep it as a "industrial/trade secret" like the Coca-Cola formula. The fact something is public and published, doesn't mean it can be copied and use at someone's advantage - at least until copyright or patent rights end.

        A book is published, you can read it, but you can't use its contents to write another alike - even fair use have limitations. A song is published, you can listen to it, but you can't play it for commercial purposes without a license.

        Google didn't use Java APIs to implement its software. If Google wants to write Chrome in Java, is free to do so, and call - use - every API it likes.

        But for Android Google created its own separate version of Java, copying fully and exactly its libraries APIs (otherwise it would have not been usable with existing toolchains), without obtaining a license.

        .NET is a copy of Java as well, but MS did make it enough different it can't violate Java copyright. And remember MS made .NET exactly because Sun complained it was infringing the Java license.

        But it looks the Internet has created hordes of bloodsucker who can't create but want exploit other's work.

      2. jelabarre59

        Re: @AC

        Although I do agree with you it does raise another interesting question: why build the API in the first place? Isn't that usually done in order to allow others to use your software? And doesn't that more or less imply a less restrictive setup?

        My thought exactly. A published API is intended as a way for other systems/applications to interface with smeone's system/OS/software. If you don't intend on allowing anyone to use it, then DON'T PUBLISH THE API/SPEC! If you want to keep all the benefit of the work/development to yourself, keep the specifications as an internal-only document. But publishing an API effectively states you want others to interface with your product. At which point you have NO right to bitch that someone interfaced with your product.

    2. Graham Dawson Silver badge

      Re: Creating APIs isn't easy

      An api is a phone book: A list of places to which an application can connect in order to communicate.

      Phone books require a great deal of effort to compile and maintain.

      They are not subject to copyright protection. Neither should be an api.

      1. bussdriver

        Re: Creating APIs isn't easy

        A phone book is a compilation of PUBLIC INFORMATION. An API is does more than just specify a lot of obscured software details; while somebody can decompile and analyze binaries to create a basic API from that it would take a lot of code reading to figure out the functionality which is far more akin to reverse engineering and recreating the higher-level understanding that should be in documentation, is far closer to cracking passwords. We are approaching breaking encryption at this point; while the phone book is incredibly easy by comparison.

        FAIR USE is supposed to cover compatibility and interchangeability needs. The over reaching DCMA law has exemptions for making things work together. That is where google should have won this but somehow did not. The result is we desperately NEED to strengthen the right to break free of vendor lock in monopolies.

        1. Poncey McPonceface
          WTF?

          Re: Creating APIs isn't easy

          For fuck's sake.

          > A phone book is a compilation of PUBLIC INFORMATION.

          What? And an API isn't?

          An API is the application's programming interface. INTERFACE between the fucking software on the system and any new software loaded on it. By necessity it must be public. Jesus fucking Christ. When Microsoft used undocumented DOS and Windows calls they were morally in the wrong because they were reaching _into_ the system and bypassing the _public_ gateway thus giving them a competitive advantage. I think they may have even been legally dinged for it, no? Also an API guarantees an abstraction allowing a company to change the internals–it's more like a contract than anything else. Can one copyright this type of contract? I say, fuck no.

          If you can copyright APIs the the fucking law is a moron.

          How the fuck are we even debating this?

          I'm sorry but Jesus fucking Christ, what the actual fuck?

    3. JulieM Silver badge

      Re: Creating APIs isn't easy

      Even if you don't actually sit down in advance and plan out an API in excruciating detail, one will spring into existence anyway as a direct consequence of the existence of the underlying software. It's simply an emergent property of the system.

      An API that emerges organically from an othwerwise well-planned software project will not even necessarily be inferior to a deliberately-contrived API.

      1. Anonymous Coward
        Anonymous Coward

        Re: Creating APIs isn't easy

        > An API that emerges organically from an othwerwise well-planned software project will not even necessarily be inferior to a deliberately-contrived API.

        Just like a house that emerges organically from otherwise well-planned individual rooms will not necessarily be inferior to a well-architected house.

  7. el kabong

    Some people, when they depart, they leave no one crying their departure, at most they leave us with one simple thought: "we'll never know how much better we would all be hadn't fate decided to test us and put such person in our path."

    More ponytails, more Kumbaya people, that's what is needed, no decent society needs a professional serial litigator or a fully committed extortionist.

    1. ForthIsNotDead
      Facepalm

      @el kabong:

      As much as you may not like to recognise it, it's the serial litigators that safeguard your job by protecting their intellectual property, so that they can continue to have a successful company, and pay your wages.

  8. Andy 73 Silver badge

    And did it affect the market value of the original?

    You might suggest it vastly improved the market value of the original, and Oracle did the square root of **** all about it. Oh look, someone has demonstrated the right way to use Java on mobile (*cough* Java ME, I'm looking at you). What shall we do? I know... ignore it.

    If Java is a vital financial resource for Oracle, their stewardship of the language suggests they shouldn't be left in charge of the change box at a cake stall.

    1. Ken Hagan Gold badge

      Re: And did it affect the market value of the original?

      Exactly, and oddly enough this is probably the only one of the four Fair Use criteria that can be applied in the case of an API.

      "Was the new work a transformation of previous material, or copied verbatim?"

      It's an API declaration. If it alters the semantic content in any way then it is defective. You can transform it into a different language if you like but that doesn't matter for copyright purposes, as you would surely discover if you tried to sell a verbatim translation of Harry Potter.

      "What was the nature of the work – was it factual or fictional, or based on unpublished material?"

      OK. This one is surely uncontroversial. It is factual and based entirely on published material.

      "Was the amount copied reasonable or substantial?"

      It was enough of the API to do the job. As with the first criterion, if it hadn't been then it would have been defective.

      "And did it affect the market value of the original?"

      That depends on what you are calling "the original" Android is almost the only reason why anyone under 30 bothers to learn *Java* these days. On the other hand, if you take "the original" to refer to the SDK rather than the language then I feel bound to point out that the original was given away free to anyone who wanted to write Java programs.

      So perhaps Google are guilty and should pay Oracle nothing at all. Or if Oracle reckon the use of Java is worth anything (and they continue to invest in it, so presumably they do) their loss is actually negative.

      APIs are different from regular code. They don't result in any executable bytes on a customers machine. The good ones do represent an act of creative skill, but that skill often cannot be said to reside in any particular part. You don't have to publish them, but when you do, it is because you've calculated that the benefit of the API being used is greater than the cost of disclosing your cleverness. Lastly, as many, many others have noted, nearly all major language APIs these days are 90% nicked from some other language, so Oracle *really* ought to be careful what they wish for.

  9. This post has been deleted by its author

  10. Charlie Clark Silver badge
    Stop

    Don't open the champagne yet…

    I thought the judgement referred the case back to Alsup's court for damages so the amount of any damages might be revised.

    If the $ 8bn is upheld then this will have serious consequences for software development in the US as it effectively opens the courts to similar cases on almost all software. A real bonanza for patent trolls given how long copyright exists for. MPEG and other consortia are probably calling lawyers already.

    I think Google may still have additional legal avenues to appeal. I still don't follow the copyright argument. I understand what you say but consider it egregious to try and assert copyright protection over an implementation of a published interface. I think this touches different legal areas, not just copyright. But I'm neither an American nor a lawyer so I'll leave that to their courts.

  11. Anonymous Coward
    Anonymous Coward

    Where do protocols fit into this mess? Who owns the rights to http?

    I don't see a massive difference in an API vs a protocol.

    1. Anonymous Coward
      Anonymous Coward

      Yes, there is not a massive difference.

      HTTP has been published as a Internet RFC, so it can be used freely.

      Other protocols may need a licenses to be used. For example ActiveSync needs a license.

      1. Graham Dawson Silver badge

        Strictly speaking, you don't need a license for the actual protocol, which is just words sent down a wire. You could write yuppie own applications that use the activesync protocol with one another. The license is to use the protocol with Microsoft services.

        Of course, by writing applications that are compliant with the protocol, you are writing applications that may use Microsoft's services, with the implication that they will eventually be used in that way, and so ms will more than lively requires a license from you.

        Anyway, the difference between a protocol and an api is scope. A protocol is language agnostic. An api is the interface for a particular language.

  12. Steve McGuinness

    That $1.4bn is going to the lawyers. And then some.

    What I find interesting on this is, until its actually paid, can either side claim this judgment as an Asset/Liability in terms of their Company Returns for the calendar year. This money does not technically exist until Google chooses to pay up, and any appeal open to them, however frivolous, could keep the costs off the books for years to come, keeping shareholders happy.

  13. hammarbtyp

    Maybe Andrew should wait before slapping himself on the back. All that has been decided is that the case should go back for a 3rd trial (oh to be born again as a IP lawyer) to assess damages. That could be 8 beeelion, or nothing. As usual nothing is simple in the American legal system

  14. hammarbtyp

    Wouldn't be terrible if IBM sued Oracle for ripping off the SQL syntax...juts saying

    1. Charlie Clark Silver badge

      Would be more like someone asserting copyright on the SQL specification and going after anyone who implemented it without obtaining the right to do so — I'm not even sure if you can obtain a licence for a copyright in the same way you can get one for a patent.

      There is a bit more to this because of the stuff that Google did copy, but it could turn a few specifications into minefields.

  15. John G Imrie

    Humm

    From the judgement,

    It is undisputed that Google copied verba-

    tim the declaring code of the 37 Java API packages—

    11,500 lines of Oracle’s copyrighted code. It also copied

    the SSO of the Java API packages. Google then wrote its

    own implementing code.

    So 11,500 lines of API function definitions, plus the SSO of the Java API packages. What's SSO?

    1. DZ-Jay

      Re: Humm

      SSO: Structure, sequence, and organization of the software library or framework. You know, the bit that requires creative effort in order for the API to be useful to developers.

      dZ.

      1. Anonymous Coward
        Anonymous Coward

        Re: Humm

        There's been a whole lot of copying SSO over the decades. Were it my software API's (hell, all software interfaces, perhaps even some hardware specific interfaces in things like FPGA), I'd be nervously looking over my shoulder at whether IBM, AT&T, and all the other systems companies over that period. Libraries do qualify as an API.

  16. Anonymous Coward
    Anonymous Coward

    And here I was thinking...

    That Java had been released as an open source project. Wasn't that the sole reason why it eventually got implemented within the several Linux distributions? I'm sure I overlooked something and that this applies to other parts of the runtime but I can't help but wonder what damage this is going to do to the Java platform if more people start thinking in this line of direction.

    1. Charlie Clark Silver badge

      Re: And here I was thinking...

      Java != OpenJDK

      But if the judgement stands then it will be enough to consider all Java as "tainted" which would be a nice irony!

  17. Anonymous Coward
    Anonymous Coward

    Excellent Piece

    Excellent Analysis ,

    p.s sorry to say since I'm a Register reader from the very beginning,

    but some other Register's contributors should take Andrew as an example,

    I really like "biting" articles but I'm also fed up with biased ones....

  18. Daggerchild Silver badge
    FAIL

    Divided they fall.

    Screws, nails, planks, nuts, bolts, plugs, cables, sockets, protocols, languages. Imagine a world where every potential component part must not be the same dimensions as a competitor's implementation.

    Imagine trying to make a screwdriver...

    1. Anonymous Coward
      Anonymous Coward

      Re: Divided they fall.

      You know there's a lot of patented stuff in mechanics and other fields, and you need a license to implement it? Why spend time and money in creating something new if you are ripped of immediately after by someone who can't design anything and don't want to spend anything in research and development?

      1. Daggerchild Silver badge

        Re: Divided they fall.

        "You know there's a lot of patented stuff in mechanics and other fields, and you need a license to implement it?"

        And aren't they are all connected together by the things I was in fact talking about? Would you try making anything without them?

        "Why spend time and money in creating something new if you are ripped of immediately after by someone who can't design anything and don't want to spend anything in research and development?"

        Pop quiz. Who spent the time and money writing Android? How many lines of Android did Oracle write? How much do they want? How many billions has Microsoft made from Android licensing? How much of it did they write?

        What were you saying about inventors getting ripped off by people who don't really invent anything?

        1. Anonymous Coward
          Anonymous Coward

          'Who spent the time and money writing Android'

          You mean who spent little resources to cobble together Linux and a copy of Java to save a lot on R&D, and get most dev tools for free? It's exactly to avoid these easy shortcuts that copyright and patents exist. MS makes money from patents, when Android uses them. It's exactly how it works. If you don't like licenses, do your own research.

          Google wanted exactly to piggyback on others' work to spend less. It could have made its own OS, language and toolchain. It would have cost far more, required more people, and took more time.

          He could have asked for a license, but was even too greed for it. It thought to be too big to be questioned? Wrong bet, it looks. Oracle is even a more greed company...

    2. This post has been deleted by its author

    3. This post has been deleted by its author

  19. Someone Else Silver badge

    Larry Ellison is the Martin Shkreli of software.

    (Hey, El Reg, what happened to the icons? Not showing up here since the k3wl new website upgrade....)

  20. JohnFen

    All the more reason to avoid using Java

    In my opinion, java is a pretty bad language that is best left unused. But with this decision, using it is even less tenable than before. If Oracle's position, supported by the courts, is that an API is copyrightable, then we all need to stop using anything that involves APIs that are "owned" by entities that are eager to enforce that copyright.

  21. stephanh

    some lawsuits Larry can expect

    * Being sued by Microfocus (current owners of original Unix source code) for using the Unix API in Solaris and Oracle Linux.

    * Being sued by IBM for using the SQL syntax.

    * Being sued by UC Berkeley for copying the RISC II ISA in SPARC.

    Unless somebody can explain to me how these things would then somehow not be copyrightable?

  22. whitepines
    Trollface

    Now the brilliance of WSL comes into focus. Sure, you can keep using your free Linux kernel and get sued, or come over to Windows, pay your dues, give up your data, and keep using your legacy Linux apps until you write new, certified, licensed Windows Store apps!

    This law has to change, or the EU and Asia will be doing all future software development instead of the US....

    1. stephanh

      Uhm, does this make WSL not in fact in violation of the GPL?

      Perhaps for the generic Unix APIs, Microsoft may be covered by contracts from their Xenix days, but there are tons of Linux-specific APIs such as clone() and futex() and inotify and epoll which almost any Linux program will be using.

      1. Anonymous Coward
        Anonymous Coward

        No. Kernels aren't libraries, and ABIs aren't APIs. Yes, it's arbitrary.

  23. Anonymous Coward
    Anonymous Coward

    Open-source != Freedom

    Oracle v. Google isn't an isolated case. This problem has been looming for years. Many developers just assumed (or still do) that GPL means "free". As open-source went mainstream, developers discovered that's not the case for commercial use, and began to insist on unrestrictive BSD/MIT-style licenses. It's safe to say that GPL infringement is still widespread, though.

    Code ownership is a can of worms when you look into it. I don't think it's very productive to track provenance the way we do with real estate deeds. We should relax our IP laws. But the current reality is, it's a minefield.

  24. aberglas

    Linux is under threat

    Linux just copied the Unix APIs. It was AT&T/SCO's intellectual property. If Android fails, *nix will be next. The only reason those APIs are worth anything is because they are a standard interface. (Most of them are pretty poor design.)

    Copyrighting APIs is copyrighting interfaces. Bad public policy. But public policy is not what the law is about.

  25. JulieM Silver badge

    Perhaps an analogy will help

    Perhaps an analogy not involving computers will help make this clear.

    Oracle's Canine Academy train dogs to obey commands such as "sit", "stay", "play dead", "here" and "be clean".

    Google's School for Pets also train dogs to obey the same commands.

    Have Oracle any right to complain that Google are training dogs to behave in the same way that Oracle train a dog to behave, when given the same command?

  26. Anonymous Coward
    Anonymous Coward

    Why?

    Why would anyone voluntarily chose to deal with Larry Ellison? Seriously.

  27. SeanC4S

    It's time to move on from Java anyway. Also there is no easy numeric scripting language that has things like integer and/or/not and access to the raw bit format of floats etc.

  28. briesmith

    Options

    What's Oracle worth these days?

    The figures say that Google's cap value is more than $700Bn while Oracle's is less than $200Bn.

    Perhaps Google should buy it, grant itself the licence it needs then sell it on?

    Might be cheaper than all the legal fees/compensation awards and so on? They might even make a profit?

    One final observation. How do you find a lawyer who can persuade a chief executive of a near trillion dollar company - Google - that fair use as a defence to a claim that it's lifeblood, game changing, Android the Microsoft Killer OS relies on somebody's else's software - will fly? And how do you find that chief executive who believes them?

    "Yeah, we used your software to build our OS. Yeah, it's made us billions and will make us even more billions in the future. Yeah, it's gonna change the world. What, you want us to pay for using your software? Nah, not gonna. We just used a little bit, stuff that was just lying around. All perfectly fair, no biggie." Really?

  29. Anonymous Coward
    Anonymous Coward

    Afloat

    One particular part if the $8bn settlement is that it might keep Oracle afloat for that much longer. And no one wants that.

    Maybe Google should move to Japan and pay that as 8 billion YEN.

  30. allthecoolshortnamesweretaken

    "Ein Blick in den Gesetzestext erleichtert die Rechtsfindung."

  31. SilverWave

    Worth it to own the non Apple smart phone market.

    Even if the Supreme Court doesn’t mess this up for Larry, even if that 8B isn’t reduced, it’s still worth the price for Google.

    Think how much Microsoft would have paid to be in the position in mobile that Google is in today.

    Google is master of its own destiny, if that ends up costing 8B well so be it.

  32. Tinman_au

    Cool, I guess anyone sending me mail to my "API" postal/street address can be sued for copyright now then?

    They aren't actually addressing the "functional" part of my "property" but they are violating it's copyrightable "address space"...

  33. ajay98

    When I heard first about the "fair use" being tossed around in academia when I was taking classes in college, I didn't know the whole definition but I knew the whole idea is that there are statues and limitations in regard to using someone elses idea, even if not being used fully verbatim, but even taking some chunks into your work and building on it, in academia the idea for "fair use" made sense since in college your proijects are not so intended for profit but for educational purposes.

    The parallel example is like my college English class. Even though I don't verbatim copy someone's essay, just making quotes from another academic article and not citing it in my essay is considered forgery. So to have my "paper" in so termed, I cite my source proving that my work is not all my own.

    However in context of patents and agreements, if one is to build profit from an original idea that has a EULA for developers when you download the JDK from Oracle and Sun, many do not technicaly go through the lengthy agreement in using other peoples software and the EULA agreement. However I am sure when in court, because Google didn't as they put "didn't have their paper" and it is so proven that Android has been a for profit software and I highly doubt they contributed anything back to Oracle, that's when these court issues do come into play.

    Another example of this is someone who uses Visual Studio Community and in the agreement for use, they require that if your self company or small organization exceeds a profit amount, to buy a liscence for your organization. Would I be right to argue "fair use" in this instance when the company already stated its terms?

  34. nautica Silver badge
    Holmes

    Everyone is a lawyer...but EVERYONE!

    The preceding comments, as well as the ones to come, prove the truth of the following--

    #1: "Have you heard that medical researchers have decided to use lawyers for their experiments, instead of lab rats?"

    #2: No; why?

    #1: "There are three good reasons: (a) the lab workers have a tendency to become emotionally attached to the rats; (b) there are some things which you can't get a rat to do; and (c) there are more lawyers."

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