Copyrighting Software? Google v. Oracle

by Dennis Crouch

When Google wrote its program-interface (API) for Android, the company made a strategic decision to mimic the method call structure of Java.  Java is an extremely popular and powerful programming language and Google determined that free-riding on Java popularity would facilitate its catch-up game in the  third-party app marketplace.  As an example, Google used the Java method header “java.lang.Math.max(a,b)”.  When called, the “max” function returns the greater of the two inputs.  In Android’s API, Google copied a set of 37 different Java “packages” that each contain many classes and method calls (such as “max()”).  Overall, Google copied the header structure for more than six-thousand methods.  Although Java is offered for both open source and commercial licenses, Google refused to comply with either regime.

Java’s originator Sun Microsystems was known for broadly sharing its creations without enforcing its IP rights.  That aura changed when Sun was purchased by Oracle and certainly when Oracle sued Google for copyright infringement, inter alia.

In the Copyright lawsuit, the district court held that the API method headers were not protectable under copyright. However, the Federal Circuit reversed on appeal — finding the Java API taxonomy copyrightable as a whole. In particular, the appellate panel led by Judge O’Malley rejected the idea/expression merger doctrine since there are many other ways that functionally equivalent method-calls could have been constructed besides those found in Java.  “Merger cannot bar copyright protection for any lines of declaring source code unless Sun/Oracle had only one way, or a limited number of ways, to write them.”

Now, Google has petitioned the Supreme Court for a writ of certiorari asking:

Whether copyright protection extends to all elements of an original work of computer software, including a system or method of operation, that an author could have written in more than one way.

Here, Google references 17 U.S.C. 102(b) which bars copyright protection for “any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of [its] form [of expression].”  And, Google pushes-back against the notion that the merger doctrine accounts for the limits of 102(b) as suggested by the Federal Circuit.

Google also interestingly notes that the Federal Circuit opinion here “erases a fundamental boundary between patent and copyright law.”  However, rather than supporting software patents, Google argues that copyright protection here would serve as an end-run around the limitations set by Alice Corp.

Just last Term, this Court confirmed that, while some software-related patent claims may be eligible for patent protection under 35 U.S.C. § 101, many are not. Alice Corp. Pty. Ltd. v. CLS Bank Int’l, 134 S. Ct. 2347 (2014). Like Section 102(b) of the Copyright Act, Section 101 of the Patent Act protects future innovation by preventing anyone from “ ‘inhibit[ing] further discovery by improperly tying up the future use of’ the[] building blocks of human ingenuity.”

Extending copyright protection to methods and systems of operation would undermine the limits on patent protection.

The argument is interesting because it turns the usual analysis on its head. Ordinarily folks argue that copyright and patent should be complementary and that overlap should be avoided. Here, however, the petitioner argues that copyright should not cover a particular subject matter area precisely because it is not covered by patent. This also generally suggests that the case will have an impact on software patent eligibility.

The petition was filed by Daryl Joseffer’s team at King & Spalding and I give a more-likely-than-not chance of grant.  In this type of case, the Supreme Court is likely to request input from the Solicitor General and I would expect that the SG/White-House would support grant.  If granted, the Federal Circuit will almost certainly be reversed.  The merger doctrine is a mess and genuinely needs clarity.  The difficult question in my mind is whether the court will be able articulate a reasoned boundary between software that is protectable and that which is not.

In an amicus brief (supporting certiorari) a group of computer scientists (with the Electronic Frontier Foundation) argues that companies should not be able to use copyright to prevent others from interfacing with their systems.

Petition Briefs:

297 thoughts on “Copyrighting Software? Google v. Oracle

  1. 22

    “Copyrightable APIs would discourage this innovation by creating potential liability for the mere act of writing a compatible program.”

    p 19
    BRIEF OF AMICI CURIAE
    COMPUTER SCIENTISTS
    IN SUPPORT OF PETITIONER
    Attorneys for Amici Curiae
    Computer Scientists
    November 7, 2014

    versus

    “There is a practical concern that might be raised related to thecopyrightability of APIs—that a developer could leverage its copyright primarily to prevent interoperable software from being developed. We do not advocate restraining copying that is required for purposes of interoperability, but we do not believe that concern applies in this case.”

    p21
    Appeal From The United States District Court For TheNorthern District Of California In Case No. 10-CV-3561, Judge William H. Alsup
    BRIEF OF AMICI CURIAEEUGENE H. SPAFFORD, Ph.D., ZHI DING, Ph.D.,AND LEE A. HOLLAAR, Ph.D.IN SUPPORT OF APPELLANT
    FEBRUARY 19, 2013

    None of the FSF’s concern’s actually make any sense when you delve into the details point by point. In general, sure, but not specifically. It’s just fear mongering. More than a little ironic; it’s a bit topsy-turvy.

  2. 21

    May I p0int out that all software is functional, and the point of protection is to prevent copying for the useful aspects of software.

    We need to put software into a quasi patent mode of protection: require originality, protection only for copying, and a limited term: 10 years.

    There should be no question then that APIs are protectable.

    1. 21.1

      May I point out that what you want to point out here does not square with your positions regarding printed matter?

      May I point out as well that your refusal to even engage my explanation of Set C and Set B printed matter stands in stark contrast to your position here?

      May I also point out that you are still not recogizing that the different IP laws protect different aspects of man’s handiwork, and that a particular handiwork may have more than one aspect and may rightfully be protected by more than one IP law?

    2. 21.2

      Ned let me also remind you that copyright law expressly does not protect what you are labeling as ‘useful aspects.’ That term is the same as ‘utility’ which is protected under a different IP law.

      I do not know where you are deriving this “quasi patent mode” thought from, or why you resist the clear place of patent law to protect what patent law is meant to protect.

      What is the reason why you refuse to engage in a dialogue on these points?

      As I have stated before, your silence screams volumes. Your choice not to address your inconsistencies says far more than you may wish to be said.

  3. 20

    Again.

    Its very sad that law people have trouble with some issues novices at programming (or CS in general) have no trouble answering.

    APIs vs Code, just like Software vs Hardware is plain silly.

    But then, its money related issues, so not much surprise that adepts of law want to dictate reality to others here.

    PS “On its head” not unless, You account “no software patents” movement… which is mostly software geeks based. But then, who would listen to software professionals* when deciding software matters? 😉

    * source:
    link to computerworld.co.nz. “The move comes after a quick poll of NZCS members, IT professionals from around New Zealand, found 80 percent opposed patent protection for software.”

    1. 20.1

      New Zealand? So a country that doesn’t produce the code wants to be able to copy it. Gee what a surprise.

      And, please tell me something I don’t understand about coding, computer science, or math. Good luck.

      1. 20.1.1

        You seem to have forgotten.

        New Zealand (and Austrailia, and Switzerland) are where TLI/SSL were developed.

        They do one hell of a lot of coding.

        As far as you not understanding coding – programming comes to mind. And you don’t understand math either.

        If you did, then you would have accepted the Curry-Howard proofs that a program is also a math proof.

        1. 20.1.1.1

          jesse,

          Once again you are caught up in the semantics and you need to recognize the terrain of mathS philosophy.

          That terrain that you stand on includes the notion that EVERYTHING is mathS.

          Come back to the real world.

          1. 20.1.1.1.1

            Unlike you, I do know the difference.

            Things may be DESCRIBED by math, but that doesn’t make the thing math.

            You keep confusing yourself.

            1. 20.1.1.1.1.1

              No jesse,

              I am not confused – it is you that is confused, as your reference to Curry-Howards places you in a different domain, and you are not even aware of it.

              You are sloppy that way.

                1. No jesse, it shows that I understand software completely, and I understand the difference between the thought of software and software, the difference between philosophy of mathS and the real world – and fully patent eligible – aspect of applied math.

                  It is you that are lost in the Philospohy world.

                  Come back to the real world.

                2. That is where your world of law becomes illogical.

                  “applied math” is just math used to describe some physics.

                  That does not stop it from being math.

                  The failure of law is trying to treat it differently.

                3. I have no illogic.

                  That you do not recognize the boundary between philosophy and reality does not mean what you think it means.

                4. and jesse, once again I invite you to apply your logic fully as discussed below and take it to its conclusion.

                  Why do you not do so? Is it because you can readily see that the conclusion is false, thus logically showing that you have some serious error in your belief system? Let me know of the day when it actually happens that non-human animals and programmable toasters have equal rights under the law as you would ‘logically’ have the law be.

                5. LOL – tell me of this boundary between the law and the universe…

                  You use the term ‘boundary,’ but I think that you do not understand what that term means.

                6. Do you understand that t001s created by the hand of man (including t001s of printed matter) are precisely the things that patent law was created to protect?

  4. 19

    Recall that Ned Heller has refused to recognize the functional aspects of Set C printed matter in patent eligibility discussions.

    How does he square his anti-copyright views here that software (including API’s) are functional and that that functionality rules out copyright protection?

    It appears that Ned wants more than just an either-or protection protocol (ignoring the fact that the aspects being protected by the different IP laws are in fact different), he wants a neither-nor protection environment.

    Ned,

    Care to address your own inconsistencies?

    Are you ready to accept the reality of Set C printed matter being different than Set B printed matter?

    Recall as well that Ned Heller has refused to join any substantive discussion about my explanation given repeated opportunities and multiple hyper-links back to the original presentation of the explanation.

    Why is it that Ned refuses to discuss the explanation, but continues to pursue an agenda at plain odds to that explanation?

  5. 18

    Recall that anon sees no inconsistency in these to statements:

    1. Software is a machine component.

    2. Software is copyrightable.

    1. 18.1

      That’s because the different IP laws cover different aspects.

      You act as if you are surprised.

      You shouldn’t be.

      1. 18.1.1

        anon, the real problem is that under Baker v. Selden, copyright cannot protect function; nevertheless, all software is functional.

        Thus the courts have struck a compromise: if there are more ways than one to implement the function, then the software is copyrightable.

        But this test still does not recognize that protecting OSs, APIs or the like with copyright effectively does protect function regardless because the form is required to interface with the OS, etc.

        Form is function.

        Still, it must be recognized that copyright in software is justifiable a form of protecting something literally new and useful. Under this thinking, software is like a patent, where only novelty is required because the only thing that is protected is copying.

        But if we go this route, copyright protection must or should be limited to the much shorter term.

        1. 18.1.1.1

          Ned,

          Your post is one long non sequitur.

          You need to address the different aspects portion of my post.

          To wit, your view of “form is function” is an imperfect application in copyright law of the merger doctrine. Form can perfectly BE function and that may NOT be a deciding factor. Other form (as noted by others on this thread) may serve that very same function, so your attempt to equate to patent protection fails on that accord. It is ONLY when merger is reached and the particular form MUST be used for the function that the function itself has really become protected in violation of the Baker v Seldon case.

          You also probably should try to address my post at 19 – your inconsistent views between your arguments here related to copyright and your attempts to ignore the functionality of Set C printed matter in the patent law domain are quite jarring.

          1. 18.1.1.1.1

            There is an interesting contrast that can be made between patent and trademark law though – a careful read (yes, careful and not just any fanciful version) of the TrafFix case (532 US 23) may make for an interesting dialogue on the potential overlap of “aspects” and when such an “overlap” is impacted.

            I would also suggest review of link to uspto.gov

        2. 18.1.1.2

          “OSs” defined as “code” are copyrightable.

          Go look up Linux, Windows, FreeBSD.

          All have attached software license which was enforced at some point in time by various courts.

          What was NOT enforced (or even put to trial) where APIs those OSes IMPLEMENT.

          For example all those OSs implement various APIs (POSIX is most famous). Nobody say that copyright had anything to do there. (No license needed, no license given, no license expected).

          So CODE vs API.

          Code implement API.

          Just like power plugs. Physical thing, and more abstract design which state that plugs have such and such dimensions.

    2. 18.2

      Modern software isn’t just about functions, its also about designs, eg design of UI, code and modules.

      Design is copyrightable.

      1. 18.2.1

        Design of UI, code and modules is as old topic as software.

        Hence You false statement by inserting false assertions.

    1. 17.1

      And over much “love” is called an obsession…

      Love also has a tendency to blind one to the truth.

      1. 17.1.1

        Obsession?

        Like your obsession with “software is math” that blinds you to copyright truth, to software-defined-to-be-a-computer-component truth, to thinking-is-a-HUMAN-cognition truth, and that-the-idea-of-software-is-different-than-software truth…?

        Like those blindnesses,

        1. 17.1.1.1

          Reality bites. Software is math, whether you like it or not.

          I have met too many animals that think better than you do.

          More logical at any rate.

          1. 17.1.1.1.1

            Your obsession and monologuing continues…

            You clench tight your eyes to anything that threatens your belief-driven view.

            There is no logic in your mantra – logic would mean that you would actually have to PROPERLY address the blindnesses of yours that I have pointed out.

            Instead you chant your mantra, stick your fingers in your ears, and clench tight your eyes.

            1. 17.1.1.1.1.1

              It isn’t my blindnesses that bother you.

              It is the reality that keeps hitting you on the head.

              1. 17.1.1.1.1.1.1

                Very much to the contrary, reality does not bother me. The reality is that you are monologuing and closing your eyes to the truths before you, while not offering anything but your “belief-system-I-say-so” blindness to the objective copyright law (cannot copyright math), objective software definition (supplied by multiple people including other anti-software patent people), your out of context but animals think, therefore machines think too fantasies, as well as continuing to ignore the difference between software and merely thinking about software.

                Now what is hitting me on the head exactly?

                1. There is nothing illogical about my statement.

                  On the other hand, your continued lack of actually addressing any of the discussion points and wanting to insist on your fantasies is highly illogical.

                  You should probably NOT be listening to your programmable toaster…

                2. Your fantasy is yours.

                  Inflicting it on others makes one think you should be protected from yourself…

                3. Inflicting fantasies is your game (after all, you are the one trying to hold out that machines think) – do not be confused by my correctly capturing your tactics.

                4. No.

                  I said they “think” in the same way you do when you are performing math.

                  They are just better at than you are as they don’t get distracted.

                5. jesse – machines do not think – AT ALL (your attempt to slide in “like” is rejected).

                  If you cared at all about patent law, you would not be distracted by semantics, and you might – just might – understand what the mental steps doctrine entails and why it is HUMAN cognition that is protected.

                6. All right – you don’t like the word “like”.

                  You must follow the rules of math.

                  So must the computer.

                  You must not deviate from the rules of math.

                  So must the computer.

                  Therefore, what the computer does must mimic what you do, only more reliably as you are easily distracted.

                  Thus since the computer must do the same thing you do, it is abstract thinking JUST as yours is – though much more limited.

                7. Not relevant here.

                  You need to learn some computer science.

                  Even the CPU, the part that does most of the work… is called an “Arithmetic Logic Unit”. The rest selects the rule to be processed … which is also math.

                  Is ARITHMETIC part of math? Why, yes. It is.

                  Is LOGIC part of math? Why, yes. It is.

                  Are things directed to the CPU math? Why yes, it has to be, as that is all the CPU can process.

                  \

                8. You have grabbed semantics without meaning.

                  Just as you have read Sun Tzu without understanding.

                  You remain trapped in your 2 D circle, unable to comprehend that you can step UP over the line.

                  In your ‘world,’ why do the machines that think not have the same rights as a person?

                9. No – that is all the CPU was designed for, that is all it can do.

                  As to why? Simple, and I told you as well – their ability is much more limited. Right now, they appear to be limited to just the basic math.

                  But the way research is going, that will change.

                  Already the IBM Watson application has won games over human abilities to relate questions and answers. It is still primitive, but new ways of programming learning algorithms is being added. It can be viewed that it will be able to teach itself based on what it reads. It cal already do SOME of that, but so far not without help.

                  Recent research shows that humans only have approximately 50 generalized parallel processing nodes in their brains – a number of which deal with physical motion, one or two with vision… So that leaves open what happens when computers have the same 50 similarly programmed nodes.

                  As I pointed out before – computers have already passed the Turing test – which only required a computer to fool a majority of the interacting humans into thinking they were communicating with another human. Yes, it was a limited test – the emulation was for a 13 year old.

                  But the time IS coming when you won’t be able to tell the difference.

                  As for human thinking? When it comes to basic math, the computer already outperforms nearly all humans.

                  You are rather trapped in a one dimensional world if you can’t conceive of the possibility that others species may think faster than you, or have other thoughts.

                  Even the great apes are able to hold conversations. They have also been seen attempting to teach their offspring how to communicate as well.

                  I believe it rather self centered, and selfish, to believe that humans are the only species that can think.

                  Such selfishness even used to think some humans couldn’t think – and denied their right to being people. There have been several wars fought over that, and unfortunately such is still happening.

                10. What is the structure of ‘spin’ (the elemental characteristic of matter)?

                  You attempt obfuscation with your question – obfuscation previously debunked in a number of ways that you refuse to address (for example, the fact that the idea of software is not the same as software, the fact that software is not something totally in the mind as reflected in the copyright requirement of being fixed in a tangible media (which of course does have structure), and if course the answering question as to what is the structure of Morse’s allowed claim element of ‘space.’

                  It is laughable that you continue to ignore the lessons of Sun Tzu.

                11. And you still have not answered me about your programmable toaster (or for that matter, the previous point about animals being chattel and also not having equal rights under the law).

                  Why do you continue to ignore what the law is about? It is not logical for you to pretend that this discussion is not in context of the law, and yet you want to maintain a clearly fallacious position that logically would entail equal rights for animals and programmable toasters as rights to humans.

                  Your own ‘logic’ shows how very wrong you are. Take a moment and think about it.

                12. You are still mistaken as to what I do and do not know.

                  You do know that software is not “a number,” right?

                  “1” is not software.
                  “5” is not software.
                  Even “42” is not software.

                  You need to take a longer moment to really think about the logic you are attempting to use.

                13. jesse,

                  I am not the one with the troubles.

                  You exhibit such a shallow grasp on what you have read – and you do not understand when you are discussing mathS (note the “S”). Your l a z i n e s a exhibits itself as you have no answer to the points I present to you: you mouth a theory that you have read, but you do not understand the context of the theory, what it means and how it relates to the real world.

                  Like I said: you use the word “IS” but I think that you do not understand what the word means.

                  Look above at this discussion – apply the ‘logic’ you are using fully an let me know where that logic takes you.

                  Then THINK about why you refuse to discuss your use of ‘logic.’ CLEARLY, your use brings you to an untenable position – and it is illogical for you to ignore this.

                14. NWPA,

                  You say that numbers have structure yet you are unable to define that structure.

                  You skirt around jesse’s question What is the structure of the number 1? by asking your own question.

                  I can think of the number “1” in many different ways which will depend on the context or subject that I am dealing with. Whem I’m looking at a fruit bowl full of apples, the number “1” takes the form of a single apple. On my computer screen or in a book it could be as “1”, “I”, “i”, “one” or, and I know you’ll have trouble with this, “A” or “a” when used in a list of points.

                  In each of these instances the number I’m thinking about is the number 1. Despite the change in context or form the meaning stays the same – the number is abstract and is of indefinite structure.

                  The structure of the number “1” is indefinite. I will repeat jesse’s question for you and, because you’re obviously so much better than I am, challenge you to answer it,

                  What is the structure of the number 1?

                  I’ve provided an answer and given my reason for my answer

                15. and you do not understand when you are discussing mathS (note the “S”)

                  Anon, please provide your definition of mathS and why the “S” is relevant. I can only presume that you ascribe some sort of distinction between mathS and math.

                  In all contexts that I have seen, both mathS and math are abbreviations of the word mathematics. If you think I’m wrong, please provide examples of where this is not the case.

                16. bert,

                  Do you understand philosophy?

                  Do you understand the difference between the thought of something and that something?

                  Do you understand semantics?

                  Do you understand that a machine cannot think? That a machine cannot process an abstraction as you wish to use that term?

                  Have you ever heard the term ‘ladders of abstraction?’

                  Do you realize that the arguments you wish to use against software as a patent eligible matter are in fact isomorphic to ANY subject area as a patent eligible subject matter?

                  Any!

                  May I suggest that you read some Tegmark, and grasp what he is saying – from a purely isomorphic logical point of view.

                  You really do need to keep track of the levels of logic and the interactions with the metaphysical domains that distinguish philosophy from reality.

                17. and bert, please note that software is NOT a number. I addressed this with multiple angles of reply above.

                  I hope that you realize the fallacy of pursuing that line of questioning. It just is not a matter of “skirting” the question, as it is a matter of realizing the logical fallacy of the question to begin with.

                18. Anon, software is just a number.

                  A very complicated number, but still, just a number.

                  This goes back to when mathematicians first developed the concepts of an instruction cycle… somewhere in the 1930s…

                19. You think that the concept of the instruction style was created by mathematicians? In the 1930’s?

                  Your ignorance is now matched by your hubris.

                  Tell me this: can you obtain a copyright on a number?

                  Come back when you have some real understanding and not this mere child’s mouthings of the koolaid anti-software patent crowd.

                20. Another answer without an answer.

                  I’m afraid you have asked questions that I would not be able answer given the time I have.

                  I did not realise my question would put you in such a position that you would have to hide behind your own questions.

                21. You think that the concept of the instruction style was created by mathematicians? In the 1930’s?

                  I believe that was when it was formalized by Turing.

                  I believe it actually existed as far back as the 1840s when the first computer was being designed… But it was not a formal study.

                  It has been used for as long as math has existed. Just not formally defined.

                22. BTW, I’m assuming your “style” was a mistype.

                  If it was deliberate, then sorry about that. I said instruction CYCLE.

                  an instruction STYLE is a different thing, but is a vague term that appears to refer to how to follow directions…

                23. bert,

                  I reject the implication that I am in any way hiding behind questions as I not only asked questions but pointed out the fallacy of the question that you and jesse want an answer too.

                  You really don’t want to play the snarky game with me, do you? Such will not end well for you.

                  Besides my pointing out the fallacy of software IS a number, the questions I ask are pertinent to the discussion. Take your time and join back up with the discussion when you are able – I would much rather have that type of discussion than a meaningless one on fallacious questions.

                  jesse, yes, style was a typo – no need to gallop on that horse (you already have enough on your plate and need to complete the path your ‘logic’ takes you first)

                  – and you are missing the point with your attempt to now limit your discussion to “formalized.”

                  You need to realize the terrain you are on (still).

                24. Anon, the short answers are
                  Philosophy – yes
                  Thought of something vs something – yes
                  Semantics – yes
                  Machine thinking – yes, thinking is used as a metaphor. Why do you think that when people use a word that it has to be the meaning that you ascribe to that word? Words have multiple meanings and are used in different ways which is why I ask for definitions.
                  Machine process abstractions – a (computing) machine processes numbers in the way that it has been designed to process numbers. Whether that is through the mechanical turning of a cog or the workings of a relay or a transistor. The (computing) machine processes movement/electrical charge which represents numbers.
                  Ladders of abstraction – yes
                  Isomorphic – means equal shape. Can refer to having the similar form, such as graphene and silicene, or a one-to-one correspondence. I presume your argument here is that of a one-to-one correspondence, which unfortunately software does not have with, for example, a paper clip. Fundamental differences between software and a paper clip include, but are not limited to, a paper clip has mass, software does not.

                  I don’t understand why you think that I think that philosophy is indistinguishable from reality.

                  Do you have any particular metaphysical domains in mind?

                  Which levels of logic are you referring to? Or do you mean types of logic? I ask because levels of logic sounds more like the logical high and logical low that you get in a chip.

                25. anon,

                  a statement was made,

                  and you do not understand when you are discussing mathS (note the “S”)

                  I asked for an explanation for why you make note of the “S”.

                  Perhaps I made a mistake in assuming your response at 8:26am was a response to my request for an explanation at 8:16am and if I did then I’m sorry for any snark. However, if I was not mistaken then why don’t you answer?

                  As for snarky games, no I don’t want to play them. They’re a waste of time. That doesn’t mean I’m afraid to play them though… I mean, what are you going to do? Put a contract on my head? School me in the art of typing? Ask me questions that I cannot answer? Insult me?

  6. 16

    Nobody here seems to understand what an API is, how it is used, how a compiler works, etc… The best informed among you is at best ill informed.

    An API is a “declaration”. It simply tells the compiler this or that object or function or data type exists. It is called so and so, takes these parameters, and exists in the library called so and so.

    That is all.

    It does not instruct the compiler to insert a function call!

    It tells the compiler & linker, where to find the implementation of a given function should the user want to call it.

    The API by itself does not call or generate any code.

    Code will only be generated when the user code tries to call a function which causes the compiler to “LOOK IT UP” in the API. Just like you look up a name in a phone book and get a list of numbers to call.

    In fact when you import an API, it will be loaded into the compiler’s symbol table. The symbol table contains a list of *ahem* symbols, EG.. “java.lang.math.Max” and information associated with that symbol. EG. It is a function that takes two integers, returns an integer, and can be found in the library module, “java.lang.math”.

    That is how it works. It maps the text “java.lang.math.Max” to the information needed to call said function.

    To say the API contains instructions is on the same level as saying the phone book has instructions. Yes you look up “Dave” in the phone book and you get instructions on what numbers to dial in what order.

    1. 16.1

      I know what an API is and have been programming as long than you. I still program a bit building websites. The way to think of it is that the API is a component of a machine. Just because some of the functionality is shifted to another module doesn’t mean that it is wrong to say the API is doing it. You see how to do that?

      1. 16.1.2

        You are conflating your “experience” of using an API with how the thing actually works, or is implemented.

        The functionality is not shifted. The API is put in a separate file by the programmer (C++ header), written in separate section by the programmer (pascal interface section). Or the interface extracted automatically by the compiler. Or extracted automatically at the programmers request a la D.

        An API defines how to use something. It doesn’t contain any implementation. In pascal or D for example it is literally not possible to have implementation code in the interface section / include file.

        If you have the documentation specifying the same API, does that actually “do things”? No, it’s just information for the programmer on how to use the API. Yet it’s the same API.

        For the compiler it’s the same thing, the API is loaded as a symbol table, that symbol table is used to look up up how to call library functions from user code.

        You can think about it however you like and come up with metaphors that twist it towards being what you want it to but you’ll still be wrong.

        If fact if you start the sentence with “The way to think of it is…”

        Then you’re wrong.

        If you know what an API is you should have no problem explaining how it is actually used / implemented by a compiler.

        Rather than some folksy “we’ll it’s kinda like a threshing machine ya’ll!

        1. 16.1.2.1

          Your way of thinking of it is not wrong from a programmer’s perspective. The API does determine how you solve problems. An API is nothing more than just using existing code. But, that existing code is functional. (or in jesse’s psychotic world math like my chair).

          So, the API is a functional and provides not just the individual solutions but imposes global decisions on how the problems are solved.

          Maybe a good way to think of an API is that you are going to use someone else’s code to solve part of the problem (stripping away all else you could just put their code in as part of your source code leaving besides programming language differences and security issues for the moment).

          But, in all cases, the API imposes solutions and provides functionality—y’all.

                1. The only part that is borderline/wrong is assuming a method is a manufacture. And since math is not supposed to be patented neither should software.

                  Machine or composition of matter is fine.

                2. Your response is unparseable.

                  Please try again (note that I have never said that software is a method, as the execution of software is different from software.

                3. I have never said that software is a method

                  That’s how the courts treat claims that protect software.

                  Of course, the courts “legislated from the bench” to create that little fiction which is almost certainly why you don’t agree with it.

                4. Malcolm,

                  Your spin of “legislated from the bench” is not correct.

                  I have explained this to you several times now with the very easy to understand Set B printed matter and Set C printed matter distinctions – and that the terminology used is understood (by those willing to understand) that the exceptions to the judicially created written matter doctrine merely reflect the intent of Congress to have a wide open patent legible subject matter stance.

                  It was merely your “legislated from the bench” that is involved in Set B printed matter. Set C printed matter has always carried patentable weight.

                5. Not at all jesse.

                  Software has aspects that can be protected under BOTH copyright and patent law.

                  Malcolm’s comment is geared to the patent side, and my response to Malcolm is this geared to his switch to a patent based discussion.

                6. The Curry-Howard correspondence shows you are wrong.

                  That is where you show you don’t understand either software or math.

                  Or physics either.

                7. jesse, you are the one who cannot distinguish the terrain you inhabit.

                  You have shown zero ability to understand reality.

                  You show that you have been exposed to mathS theory, but you wield it uncontrollably and out of context, revealing that you do not understand it.

                  Just like Sun Tzu – you may have read it, but you do not understand it.

          1. 16.1.2.1.2

            You are showing your ignorance of math again.

            an API for a specific function more like a dictionary entry.

            It allows you to express math easier than having to use the details of each function.

            There IS a reason it is called a “function” – it is a math term for a group of expressions. For a simple introduction try:

            link to mathsisfun.com

            1. 16.1.2.1.2.2

              >There IS a reason it is called a “function” – it is a math term for >a group of expressions. For a simple introduction try:

              Actually Mr. Ankle Biter it is not a function in the mathematical sense. Do you know why? Try to figure it out and report back to me.

          2. 16.1.2.1.3

            An API does not provide solutions, it specifies an interface. It can specify an interface whether or not code exists to implement it or not.

            An API is not “nothing more than using existing code”. The API exists irrespective of whether code exists to implement it or not. It is also a common practice to design the API before writing the actual implementation.

            An API is an “interface” specification. There need not be an implementation of the interface for the API specification to exist.

            You really badly need to understand that.

            An API on it’s own does nothing. A SCART socket on it’s own wont record video for you. It needs the rest of the video recorder to do that. And you can have a SCART socket with out a recorder. You can have the interface without the functionality.

            Ok I’ve explained at least 3 different ways…. [fingers crossed the penny drops]

            PS. Stop trying to sound like you have all this programming knowledge, I’ve been working as a programmer for 30 years, you dont fool me. (Although you may fool some others around here).

            1. 16.1.2.1.3.1

              My apologies for interrupting programerfor30yeqrs, but when you state “It is also a common practice to design the API before writing the actual implementation“, are you implicitly acknowledging with the use of the word “design” that some creative, expressive, aspect is involved? I mean, aside from any actual functional aspect that may (or may not) be present?

              1. 16.1.2.1.3.1.1

                I don’t think there has ever been any issue with that.

                But just because it is done doesn’t make it copyrightable.

                Any more than a phone number is.

              2. 16.1.2.1.3.1.2

                Yes for design and creative. I mean of course it’s creative whether the API evolves as you need it or it is designed up front in one go. Design applies if you sit down and work out the API up front rather than just add stuff as you need it.

                I’m not sure about expressive because I have the feeling that has a more loaded meaning in the context of copyright than it has in general. I mean even a random list of characters expresses the idea of randomness.

                To expand on that I think ideas that apply to art and literature don’t fit well with computer code. If John Cage can copyright 273 seconds of silence, can a programmer copyright 273 blank spaces as a null program? It doesnt work, doesnt fit, software is different from art / literature.

                So I think “expression” would be better left out of it.

                FWIW I understand developers / investors need IP protection. But allowing copyright / patent protection for APIs will cause orders of magnitude more harm than good IMO.

                1. Well, Prog4/30, the SC is going to have pickle on this one. Baker v. Selden would have forbad any copyright in programs because they are all functional. But congress acted in ’76.

                  I am not sure the mere fact that software is functional is going to be enough to deny protection. API’s might be a different case because the use of the words are needed for two different sets of code/compilers to work together. That may extend copyright protection too far. But the same can be said of an OS, can it not?

                  As I said, this is a pickle. What did congress intend, and if what we are protecting is function, is that the proper subject matter for copyright?

                  There might be a lurking constitutional issue here. But we know the SC construes statutes to preserve their validity if they can.

            2. 16.1.2.1.3.2

              Prog4/30: the API defines the interface.

              In other words, the exact words of API must be used to use the interface.

              The words themselves appear to be functional.

              1. 16.1.2.1.3.2.1

                Not exactly.

                The data types must match – but that is a requirement of the language, not the API.

                The only “words” that have to be used is the “name” of the function.

                The parameter names are ignored even if they are present.

                Data types allow the compiler to cross check for errors, but that is all.

                1. The parameter types are part of the API. They must match and in some cases may be used to differentiate between overloaded version of a function. IE Different version with the same name but different parameters.

              2. 16.1.2.1.3.2.2

                The function name must match exactly but the parameters names are ignored. At least in all languages I’ve used. The reason is that it’s impractical to differentiate between two functions with the same parameter types but different names because you dont specify the parameter name when you call the function, you just do…

                int q = Max(10,7);

                So it can only match to Max(int,int).

                So essentially the API definition is…

                java.lang.math.Max(int, int);

                The parameter names in the API specification are pretty much just information for the programmer.

          3. 16.1.2.1.4

            Stating that API provide functionality is like saying that picture of care provide functionality of car.

            Great logic. 🙂

            Way to impress software professionals with well thought out law.

        2. 16.1.2.2

          Actually, this reminds me of when I was an undergraduate and I used an IBM API to solve a programming assignment rather than writing all the code myself I usually did. The professor gave me a lower grade and asked me what in the world I was doing. He said that was the most tangled inefficient code he’d ever seen from me. He said I was the best programmer he had ever seen, but this was disgraceful. I explained to him that I wanted to see what a program looked like that used the IBM API rather writing all the code myself.

          He said: don’t do that again.

          1. 16.1.2.2.1

            Cutting corners, I see.

            I would have given you an F for the program, and directed you to do it properly.

  7. 15

    Google should have paid the 100M for a proper license, which is what they could have paid to do what they wanted when Sun approached them. BUT, Google always wants to misappropriate other people’s IP rather than paying for it. Business rule 101 over there. Hopefully, google has to pay 5Billion. That would be just desserts.

    1. 15.1

      And yet, Google isn’t using Java.

      Yes, the source language may be Java. But not the runtime.

      And the last time I checked, you can’t copyright a language.

    2. 15.2

      No Boo, an a simple injunction would suffice — pull all Android phones from the market. Since copyright is worldwide automatically, the whole Android universe is at stake.

      1. 15.3.1

        Under certain license, and terms of such license must be observed if one want to use that work.

        However You wont find many software professionals who will even think that APIs of java where covered by that license.

        Code was. APIs wheren’t. File names wheren’t. Folder names wheren’t.

        Stripping code and putting Your own there would be seen as something NORMAL by those said professionals.

  8. 14

    Well, to my mind the copyrighting of software has always been dodgy at best. It has structure. It is functional. It is useful. And, yes I have read the academic papers on copyrighting software from Samuelson, Gingsburg, and Lemley. Don’t buy it. Reality: shouldn’t be eligible. Legal fiction that it is copyrightable to protect the huge software code discs and programs.

    1. 14.1

      Expression is the only aspect protected NWPA – that’s far thinner protection than you are probably thinking of.

    2. 14.2

      Except that it doesn’t have any physical structure, and doesn’t have any function of its own…. other than as a method of written communication.

      1. 14.2.1

        Lol – software is math, and as everyone knows, math itself is not copyrightable, right jesse?

        /eyeroll

        1. 14.2.1.1

          As you know very well. Software is math. And software is copyrighted. As is math.

          Now when you accept that software can’t be patented, then I will mostly accept that software can’t be copyrighted.

          However, Even though single formulas are specifically listed as not copyrighted, collection of formulas are.

          1. 14.2.1.1.1

            and as you well know (or should know if you were capable of paying attention), you cannot actually copyright math.

            You are aware if exactly what is the protection in your collection, right? (Hint: it is NOT the math).

            1. 14.2.1.1.1.1

              You are aware if exactly what is the protection in your collection, right? (Hint: it is NOT the math).

              If you have a point to make, try making it in English.

              Ask somebody to help you if you find it difficult to articulate the assertion in a non-native tongue. Don’t be shy.

              1. 14.2.1.1.1.1.1

                The point IS made – in English.

                If you have trouble, then you might stop trying to project that difficulty onto others and ask someone to hold your hand to explain that software cannot be just math, as just math cannot hold copyright.

                1. The point IS made – in Engli

                  Really? Here’s what you wrote:

                  You are aware if exactly what is the protection in your collection, right?

                  What in the world does that mean? It appears that your “point” is that jesse is “aware” of something that you are unable to articulate … or at least he might be aware of it (because even you appear unsure of jesse’s awareness — hence your question mark).

                  Then you provide a “hint” about something that is, apparently, not the actual point you are trying to make.

                  Sorry, “anon.” You’re clear as mud.

                2. You are again projecting a “you” problem, Malcolm.

                  What I said is clear. Please stop trying to spin your inability to understand as somehow being my fault.

                3. What I said is clear.

                  You didn’t say anthing. You asked a question and then you provided a wrong answer to the question.

                  your inability to understand

                  Just explain what you wrote, in English. Seems simple enough, “anon.” What’s the problem with just typing out your assertion in English? Ask your “pal” Hal Wegner to help you. I’m sure he’d love that.

                4. Now you are trying to say that my answer is wrong, Malcolm?

                  Time for you to be clear: are you saying that you can earn a copyright on math (and let’s stop the goal posts from being moved as you have attempted to do so the many other times I asked this question of you as I am NOT asking about copyright for a math book.

                  Simple and straightforward question Malcolm.

                  One I have asked of you many times, and each time, you have chosen not to answer.

                  Can you obtain a copyright on math?

          2. 14.2.1.1.2

            >>Software is math.

            No it is not. Software is a series of instructions to a machine and is equivalent to hardware and firmware. That is indisputable. You continuing to say it is math is ridiculous.

            1. 14.2.1.1.2.1

              And those instructions are math.

              The “series of instructions” is math.

              that is indisputable.

              You continuing to ignore that is ridiculous.

                1. Not talking about your tail end…

                  Talking about “series of instructions” which in this case is math.

                2. I am talking about the seat I sit on. I have the equations that describe its movement, so it is math. I am sitting on math.

                3. Have you ever argued this point in a court of law?

                  You say you have equations that describe its movement… the equations are math.

                  You do not sit on the movement (of the seat).

                  Nor do you sit on the equations.

                  The seat itself is a physical object and it is that which you sit on.

                  The seat can be described with maths but that does not make the maths into a physical object.

                  Your argument is illogical.

    3. 14.3

      copyrighting software is not dodgy at all.

      some developers don’t understand software copyright because they don’t see that software functions, structures and designs (expressions) do often overlap, especially in consumer software.

      1. 14.3.1

        >>designs (expressions)

        Maybe the portion that interfaces with the user, but an API is inherently functional and has structure (and affects the time and space the program will use.) It should be eligible for patentability.

        1. 14.3.1.1

          NWPA,

          You are falling into the trap.

          Stop.

          An item can have more than one aspect to it.

          No one (at least intelligently or honestly) is arguing that there is not functionality or structure or that certain aspects easily fall to patent protection.

          That is simply not the issue.

          What is at issue is that there is indeed an expressive aspect ALSO under consideration.

          Separate out your desire to protect the patent aspect and recognize the multiple aspects present.

        2. 14.3.1.2

          A balance sheet has structure and is, in the same respect as the API, inherently functional.

          Is it copyrightable? If so, to what extent? What needs to be there and what does not? And furthermore, would reproducing a balance sheet be fair use?

          Is it patentable?

      2. 14.3.2

        There certainly is “pumping up.”

        And there certainly is a lot of “just use copyright” rhetoric.

        But you need to calm down just a little bit and recognize what aspects are covered by the different IP laws and (simply) recognize that an item can have more than one aspect to it – and these different aspects can each garner different protections from the different IP laws.

        It is a logical fallacy to think that only one set of laws cover software, that the situation somehow must be an “either or” mutually exclusive resolution.

        Do not fall into that trap.

      3. 14.3.3

        copyrighting software makes a lot of logical sense because software functions and software design (ie designs of UI, modules, functionalities) are one and the same, especially in consumer software.

          1. 14.3.3.1.1

            I didn’t say copyright protects functions, I meant copyright protects expressions when functions and expressions overlap, which they often do in consumer software.

  9. 13

    So many factual mistakes.

    It’s painful to read the CAFC decision and articles based on it when you know the facts well. At least District Judge Alsup worked hard to understand the nature of the dispute and both the facts and the law. Alsup was no expert in the field but he had most of the important underlying facts right.

    The boundaries of copyright on software have not gotten a firm and reliable statement from the Supreme Court, which is why this case is slightly more likely than not to get cert. I can’t argue that either the Oracle opinion on copyright on APIs or the Google opinion is the law. There is no precedent on the matter. The Ninth Circuit’s one ‘structure sequence and organization’ idea does not correspond to any logical or factual distinction and so far has been used only to retroactively reach the decision judges find more emotionally appealing.

    For most of the profession, the question is not essential with respect to language libraries. Most modern languages arrive with a common tool license making the entire project common property of the developing community so it can be used to build proprietary projects. Examples are Perl, Python, PHP, Ruby, JavaScript, Scala, and Scheme. Some older languages have been turned over to public standards bodies; it would be impossible for Alcatel or Novell to re-claim copyright over C or C++ after decades of promoting their status as public standards created with the contributions of others. Languages without such a license need a captive user base to become popular and those languages never gain traction outside their captive niches. Few care what happens to the licensing status of Objective-C, C#, Visual BASIC, or Swift as they are bound to platforms with inherent licensing.

    And if the Court finds APIs copyrightable, languages and systems without open licensing will never gain widespread traction again.

    The one interesting case is Java where a proprietary runtime has been bound to an open language and the copyright holder has been litigious. Contrary to Dennis’s statement, “Sun Microsystems was known for broadly sharing its creations without enforcing its IP rights,” Sun actually sued a nine-figure settlement out of Microsoft back in 1998 over the Java standard.

    So the question is whether APIs — which are not source code, contrary to so many judges’ understanding — can be monopolized under copyright law.

    APIs are lists of entry points. And entry point is just where machine code for an operation starts. For two programs to work together, they need to know how and where to interact. The Application Binary Interface tells them how to do it: you might put one input value in a register and, if there are more, put them in sequence where a stack pointer register points and then use a CALL machine instruction. ABIs are mostly set by CPU makers like Intel or ARM but each language implementer has to determine exactly how to apply the details. The Application Programming Interface tells programmers the variables to use in the ABI: to access the java.lang.Math.max method, put two arguments wherever the ABI says and then CALL to the java.lang.Math.max entry point. The linker makes a list of the names like java.lang.Math.max, ‘decorates’ them, and matches them up so that the calling program has the right entry point for the code. So the API doesn’t include any code, nothing either expressive or functional, just a list of names and how many parameters to include.

    The documentation that lays out the social contract between programmers on both sides of an API is where the expressiveness comes in. Also the implementation of API functionality and programs that use it are expressive, but the expressiveness of the API is purely social and the subject of human cooperation and interpretation. We all have to agree on what the java.lang.Math.max call should do or how tight and reliable the performance characteristics of the java.util.PriorityQueue.poll call need to be. (hint: O(log n) )

    The result of granting such monopolies would be that clever vendors could lock in their customers by prohibiting anyone else from competing for their customers with compatible products. The customers’ custom code that interacts with the vendors’ APIs would effectively belong to the vendors instead of the customers that wrote and paid for it and monopoly prices could be extracted from customers who had no choice of vendor without a rewrite. Eventually savvy customers would start requiring licenses, but naïve ones might get cheated by scoundrels. Soon we’d be arguing over translation programs that would free customers’ source code from vendor lock-in. In fact, we’ll soon be hearing about translations for Java programs if Oracle makes Google quit using their APIs.

    In the case of Java, translation has been researched and will come quite fast.

    Ordinarily translation is covered by copyright, but the original expression and creativity here is in the customer’s code. Oracle won’t be able to stop them from translating away from their language because Oracle is trying to stretch the system to claim rights to the customers’ code and that won’t last. Remember that Google didn’t copy Oracle’s code, just the list of entry points; publishing a list of correspondences is not infringement. In fact, almost the entirety of Microsoft’s C# language used to be a Java correspondence list to escape the Java license.

    If monopoly is the rule, it could result in an avalanche of litigation for Oracle. Almost none of the Java API is original; it is a derivative work aggregating hundreds of libraries’ signatures in C and C++ and Smalltalk, so Google could hunt down and buy up original expressions and sue Oracle over each one.

    So most of the industry hates the idea of API copyrights and has long assumed they would never exist. But the other result would be disruptive and annoying, not disastrous like software patents. Oracle will not be able to claim rights to Android in any case because Google can just establish translation software. Oracle might win back some fraction of its attorney’s fees in damages, but not much else.

    And it would be very interesting to see the emergence of a new licensing situation for software interaction, but all wasted effort in the long run. We’d just have to program around it. That’s why almost all programmers don’t want API copyrights.

    1. 13.1

      Owen, your argument, simply put, one can copyright a program but not an instruction set.

      API are a form of instruction set.

      1. 13.1.1

        Ned,

        My argument is that the copyrightability of APIs is undetermined until the Supremes make themselves heard.

        APIs are a list of entry points, but that’s a lot like an instruction set so the analogy is fine.

        Instruction sets and APIs are so functional that methods will eventually easily be found to translate from a copyrighted one to a free one without harming the expressive code around it, whether or not copyright applies.

        Patents on literal instruction sets that cover equivalents are incoherent and harmful to the CPU industry, but it takes so much cash to enter that industry now that most everybody has already cross licensed and made it work.

      2. 13.1.2

        Correct me if I am wrong, I think the gist of the matter is whether there is only 1 or a limited number of ways to design/express/implement the API, not whether it is a program or an instruction set??

        Is a computer program not inherently a set of instructions (ie instruction set), or does the term ‘instruction set’ refer to something else that’s already in the public domain??

        1. 13.1.2.1

          dan, instruction sets are ways to operate a system and are required to operate a system. Very much like the bookkeeping forms in Baker v. Selden.

          1. 13.1.2.1.1

            so there is only 1 or a limited number of ways to design/implement/execute/operate instruction sets??

            Even if instruction sets are functional, could one argue that there might be numerous ways to express/design/implement instruction sets which would separate the idea of instruction sets from the numerous ways to express the idea differently???

            1. 13.1.2.1.1.1

              dan,

              Your intuition is correct, as Owen (perhaps inadvertently) points out “Instruction sets and APIs are so functional that methods will eventually easily be found to translate from a copyrighted one to a free one without harming the expressive code around it, whether or not copyright applies” which works exactly opposite what Google would want (and what Ned hints at, but does not come out and fully describe the merger doctrine, which here would be that the form lacks any expressiveness and must be as it is because of the function)

              Clearly, given the prodigious number of languages, the “need” to copy is far lower. The merger doctrine is not met, even with these “instruction sets” so the case of Baker v Seldon is actually a poor match.

    2. 13.2

      I also want to object, as a practitioner to this:

      “Java is an extremely popular and powerful programming language”

      All general purpose programming languages have equal power according to the Church-Turing Thesis. Nevertheless, we use power levels as a metaphor.

      We refer to one as being more powerful if it is easier to create complicated expressions of functionality in a simple, elegant, and readable way. Languages that encourage flexible function expression with less verbose boilerplate and redundancy are called more powerful.

      Java falls at the bottom of the power scale according to that rubric. There are few popular languages more festooned with inflexibility and senseless repetition. In fact, quite a few programmers that think Oracle’s position is madness still hope that some way can be found to force Google off Java because Java is so awful.

      Nobody can deny that it’s popular, though, in the same way the Green Bay Packers are well known and widely commented on — i.e. popular — in Chicago lately.

      1. 13.2.1

        Nobody can deny that it’s popular, though, in the same way the Green Bay Packers are well known and widely commented on — i.e. popular — in Chicago lately.

        42 is a powerful number.

    3. 13.3

      Doesn’t this end the analysis: “Remember that Google didn’t copy Oracle’s code, just the list of entry points”? If what Google did was use the list of entry points (I assume including the number of variables used by the entry points and perhaps even the names of the entry points and their variables), I don’t see how Google violated copyright. What is copyrightable? Certainly the functionality of the API is not. Are the names of the APIs copyrightable? Where’s the expression there? For instance, I can see no expression in “java.lang.Math.max”. What else could you call it?

      1. 13.3.1

        “I can see no expression in “java.lang.Math.max”. What else could you call it?”

        Well, Microsoft created C# by renaming all the Java functions but keeping the functionality.

        They called it System.Math.Max (capitalization counts!). The whole system is only subtly different, but the names are distinct and that’s enough for copyright.

        In C++, it’s std::max.

        1. 13.3.1.1

          Owen, thanks for the interesting and thoughtful comments. Keep ’em coming.

          Re this:

          The whole system is only subtly different, but the names are distinct and that’s enough for copyright.

          Just to minimize any confusion here, when you say “that’s enough for copyright”, do you mean “that’s enough for the programming language as a whole to be protected by copyright” or “that’s enough for every new sub-part of the programming language to be protectable by copyright.”

          By analogy with music, I am free to copy two “new” chords from different parts of a copyrighted song and rearrange them in my own composition (not sampling a sound recording, but performing them). By itself, that isn’t copyright infringement. And it doesn’t matter if I say that I did that or if everyone recognizes that I did that.

          Copyright trolling can turn into a huge problem when the purpose of the copyright laws is forgotten (last time i checked it wasn’t to keep lawyers employed). Certainly if I publish a giant list of text strings in the form ###.####.### or whatever I’m not entitled to copyright protection on every text string that might show up in somebody’s software, regardless of whether the text string is “new” or “distinct.”

          1. 13.3.1.1.1

            “when you say “that’s enough for copyright”, do you mean “that’s enough for the programming language as a whole to be protected by copyright” or “that’s enough for every new sub-part of the programming language to be protectable by copyright.””

            I meant that the distinct names given to the same functions made C#, even with identical functionality to Java, clearly not infringe Java’s copyrights. At least, Sun thought so and stopped suing Microsoft over it.

            1. 13.3.1.1.1.1

              I meant that the distinct names given to the same functions made C#, even with identical functionality to Java, clearly not infringe Java’s copyrights. At least, Sun thought so and stopped suing Microsoft over it.

              Ah, got it. Thanks, Owen.

    4. 13.4

      As a minor note –

      It has been my understanding that the MS/Sun lawsuit over Java was a contract dispute.

      The contract called for Java running under Windows to be Java – and required the API to match what Sun provided.

      MS didn’t do that – they “extended” it… thus breaking the ability to run applications written in Java anywhere but on Windows.

      1. 13.4.1

        That is exactly correct, jesse.

        Microsoft Visual J++ was marketed as a Java compiler and VM for Windows. Microsoft sold it with Java trademarks as a true implementation of Java and then added incompatible extensions that Sun did not approve of.

        Microsoft had a copyright and trademark license to make Visual J++ from Sun. Sun sued on the basis that the extensions violated the license terms and settled for a lot of money — around $100MM — and agreed to cease and desist.

        Then Microsoft made small but distinct changes to the names in the API and released the next version of Visual J++ as C# with no Java branding. Sun examined the situation and concluded that it had no copyright case against the changed names as copyright covers only the expression and not the functionality. Microsoft still had a full clone of the functionality and it continues to be Microsoft’s main language product two decades later.

        1. 13.4.1.1

          It wasn’t just a few names change.

          MS also changed the syntax. It is similar, but has additional structure syntax and delegation syntax which don’t exist in Java. There are other additional changes.

          I would say that C# is in a “Java family” of languages, but it isn’t the same language. Programs in one will not compile in the other, even if the same API were used.

  10. 12

    This is where the anti-patent strawman breaks down. Almost everyone in the software biz, including me, believes that software should have IP protection.

    To be consistent, we claim that software expression is not a fairly justiciable matter under our current patent laws because reasonable minds can differ about what is a copy and what is merely of the genre.

    We know we can’t make a movie about a big shark and a chief named Brody on Amity Island, but we also know that we CAN make a movie about a big bad fish that eats people and is killed in the end by a plucky landsman.

    We understand that if some commercial market provides leverage for a copyist (e.g. motivation to litigate), the totality of the circumstances would inform the litigation- where people being confused by the copying? How substantial is the similarity? Was the work directly ripped off, or painstakingly refactored (derivation)? The whole copyright approach of dealing with artistic expression seems to me to be a better frame than a patent world of tangible utility objects…

    1. 12.1

      To a man with a hammer, everything looks like a nail.

      It is a good thing that the law is not so limited as to what “appeals” to you, Mr. Snyder.

      Different IP laws protect different aspects.

      You want to protect expression? Great, we have copyright for that.

      You want to protect utility? Great too, we have patent for that.

      An yes, one item really can have more than one aspect to what it is, and those different aspects are protected under different laws.

      1. 12.1.1

        It is a good thing that the law is not so limited as to what “appeals” to you, Mr. Snyder.

        And even better that far, far more people would agree with Mr. Snyder than would agree with the tiny, tiny group of wealthy attorneys and wannabe patent trolls who have embraced and cheered the (old) status quo.

        More changes to come!

      2. 12.1.2

        a cookbook has utility, does not have a patent, go figure?

        a motion picture used for training has utility, no patent, go figure?

        a printing press does not become a new machine when you change the letters that go in the galleries, go figure?

        1. 12.1.2.1

          Your “points” have already been refuted Mr. Snyder (even by Prof. Crouch).

          If you are going to attempt to slide the discussion into the patent realm, please remember to use examples from the Useful Arts (else, you fail from the start).

          1. 12.1.2.1.1

            examples from the Useful Arts

            All those generic manufactures in Martin’s examples (bound sheets of paper, rolls of perforated nitrate, printing press) belong to the “useful arts” and certainly would have been eligible for patenting when they were new.

            It’s nice that you recognize that claim dissection is essential to the functioning patent system, however. Even if you are still too immature to admit it.

            Keep digging, “anon”!

          2. 12.1.2.1.2

            Your “points” have already been refuted Mr. Snyder (even by Prof. Crouch).

            I didn’t see any “refutation” of the points Mr. Martin is making, not by you or anyone else, “anon.”

            Your self-serving statement that Martin’s examples are somehow disallowed is hardly a “refutation”, particularly when so many “do it on a computer” “innovations” are even less the connected to the “useful arts” than the examples Martin provided.

            1. 12.1.2.1.2.1

              I didn’t see

              Yes Malcolm, your ability to pull out the Vinnie Barbarino meme and “not see” is legendary.

              Try opening your eyes.

              1. 12.1.2.1.2.1.1

                Try opening your eyes.

                They were open and they remain open. I saw another insulting comment from you but still nothing close to a “refutation.”

                Do you want to keep hurling insults as if that helps your cause, or would you like to try writing out your “refutation” of Martin’s point in English so we can all see what you’re talking about.

                1. You keep on kicking up dust an ignoring the many past conversations (of which at least a fair number you were involved in).

                  Playing the Vinnie Barbarino game (hey, your choice so don’t whine about “insults” when I merely point out what you are doing) does not seem like a good way for you to present a compelling position for whatever you are trying to do.

                  As I said – pay attention to the first time you are set straight. This stuff is in the archives.

  11. 11

    If someone creates, copyrights and promotes the dissemination of a new alphabet, can I write a translator for that alphabet without infringing the copyright?

    1. 11.2

      I am not an attorney but I think if you wrote a translator for the alphabets for commercial purposes without the permission of the copyright owner, you would infringe because you intend to make money from the translator which had to be designed and implemented specifically for the use of the alphabets?

      1. 11.2.1

        you would infringe because you intend to make money from the translator which had to be designed and implemented specifically for the use of the alphabets

        There has to be more to the analysis than that because I can easily write a book that teaches people how to enjoy reading your book without infringing your copyright, even if I intend to make money from my book (something that you assumed but which was not part of my hypothetical).

        My written translation of your alphabet is not your alphabet. At best, it’s a new expression of the functionality of your alphabet. It doesn’t copy your expression. I don’t see any copyright infringement, any more than I see copyright infringement when I post a picture I took of someone’s painting accompanied by a description of why I believe that the painting stinks.

        1. 11.2.1.1

          “I don’t see any copyright infringement, any more than I see copyright infringement when I post a picture I took of someone’s painting”

          well, you’d be wrong again, surprise surprise, since that would be making a derivative work that is not transformative in any way, just wholesale copying

          tell me again IS there some area of IP law that you actually know something about?

          1. 11.2.1.1.1

            since that would be making a derivative work that is not transformative in any way, just wholesale copying

            Seems like fair use to me. Especially in an educational setting.

            tell me again IS there some area of IP law that you actually know something about?

            Tell everyone again about how people who disagree with you about your junky patents are just “jealous”, Nicky. That was cute.

            1. 11.2.1.1.1.1

              You do realize that Fair Use is merely allowed infringement (and is highly dependent on the individual facts and the four factors), right? You are posting as if Fair Use is not infringement at all (a bit of an odd way to discuss this area of law).

              1. 11.2.1.1.1.1.1

                YYou are posting as if Fair Use is not infringement at all (a bit of an odd way to discuss this area of law).

                It’s an affirmative defense. I apolgize if you were confused.

                highly dependent on the individual facts and the four factors

                My point exactly! Congratulations.

                1. Clearly I was not the one confused

                  You were certainly confused about what I “realized” but if you want to believe that you weren’t, that’s okay. Feel better, “anon”? Gosh, I hope so.

                  Please stop the spin.

                  Spinning is your specialty, “anon.” We’re all just watching you. From your perspective, I’m sure that everybody looks like they’re spinning.

                  Any other insults you want to get off your chest, “anon”?

        2. 11.2.1.2

          ” I can easily write a book that teaches people how to enjoy reading your book without infringing your copyright”

          I think you would still infringe if your instructions are specific and your book borrows too much material from my book (because your book is about reading my book).

          Since you are making money from your specific instructions, wich inevitably uses my material as the foundation of your written work, can’t be ‘fair use’.

          Again I am not an attorney so I could be wrong about this.

          1. 11.2.1.2.1

            I think you would still infringe if your instructions are specific

            Not sure what means.

            and your book borrows too much material from my book (because your book is about reading my book).

            Right — borrowing too much could create a problem. Presumably if your book is 1000 pages long with 200 chapters and I discuss the chapter titles and borrow several hundred quotes of less than five or six words each to make my points there won’t be any problem.

            What percent of Java’s copyrighted code has been “borrowed” by Google here?

              1. 11.2.1.2.1.1.1

                You do realize that the borrowing level test is NOT a percentage test right?

                You tell me, “anon.” Do I “realize that”? Or am I just asking a question?

                How perplexing all this must be for you.

                1. Again with the spin – I am not perplexed at all – it is you that appears perplexed in how you are expressing yourself.

                  Please stop the spin.

                2. Again with the spin – I am not perplexed at all

                  You certainly seem perplexed by what I’m “actually” thinking. Maybe you should try to read what I write and focus on that instead of questioning your inference about what I might or might not “realize”. Give it a shot. Just for a change.

                  Please stop the spin.

                  That’s your specialty, “anon.” I’m not spinning. I’m just typing out my thoughts, in plain English. Try it sometime.

                  For example, try telling everyone how you would rewrite the law of subject matter eligibility after you take away the Supreme Court’s right to review that law. You must have some deep thoughts on that subject. Share them.

                3. Review…?

                  You are mischaracterizing my position Malcolm.

                  Reading a map is just NOT the same as writing a map.

                4. It is a phrase any child can understand – the retort of “deep” is misplaced.

                  It need not be “deep” to be de@d nuts accurate.

                  Maybe your next reply can aim for substance – your aiming for fluff is failing you badly.

            1. 11.2.1.2.1.2

              specific instructions means that your instructions INEVITABLY uses my expressions/materials as the foundation of your written work.

              Writing the type of book you are referring to is not the same as writing a one page review on a movie.

              Even if you have written your book for teaching/educational purposes, you would still infringe as long you were making money from the book, I think.

              1. 11.2.1.2.1.2.1

                specific instructions means that your instructions INEVITABLY uses my expressions/materials as the foundation of your written work.

                Again, dan, if my book concerns the subject of your book, you can certainly free to argue that your book is the “foundation” of my work.

                But I still don’t see any enforceable copyright infringement in the book as I’ve described it. It seems to be a quintessential example of fair use.

                Nobody wants a society where people can’t criticize or approve of the expressions of others without being subject to a copyright suit. Well, nobody except maybe for some copyright lawyers and a tiny tiny handful of really litigious people.

                1. The book which you are referring to isn’t just a simple one-page critique or praise of another author’s work. I think you need to check your facts before invoking the fair use defense.

                  The kind of scenario you are referring to could easily get you into trouble for copyright infringement and/or plagiarism.

                2. dan,

                  Two things you should notice:

                  The lack of care from the person you are addressing and the rather big shovel in his hand.

                3. The book which you are referring to isn’t just a simple one-page critique or praise of another author’s work.

                  No, it’s a lengthy book. But I don’t see how that makes any difference.

                  The kind of scenario you are referring to could easily get you into trouble for copyright infringement and/or plagiarism.

                  Hey, let’s face it: you can “get into trouble” for blowing your nose in this great land of freedom. God Bless America! More patents and copyrights for everybody!

                  That said, I’m not aware of any legitimate (e.g., winnable) copyright case created by doing what I’m proposing. A book that extracts tiny quotations from another book and references some chapter headings for the purpose of assisting readers in the enjoyment of that other book? Seems like the very definition of fair use.

                  Fair use is a real thing. It’s an incredibly important aspect of copyright law and people should never be afraid to take advantage of its existence. If people are afraid to write a “critique” (especially a positive critique) about another person’s book in the manner I described then the system seems to have been broken or it’s being abused be lawyers with waaaaaaay to much time on their hands.

      1. 11.3.2

        How does one “translate” an alphabet?

        For example, with a new key or a new table showing which letters in the new alphabet correspond to the letters (or combinations of letters) in some old alphabet.

        Do you mean translate words made of the alphabet?

        That too.

      2. 11.3.3

        “How does one “translate” an alphabet?”

        I took it to mean a conversion tool to take one alphabet’s inputs and output in the other alphabet’s corresponding character.

        E.g., type in , get out a, b, c, d, e, f, g, h, i, j, k.

        1. 11.3.3.1

          (whoops! Boxes were supposed to be Greek characters alpha, beta, chi,… … kappa, but apparently the system won’t take them as inputs).

  12. 10

    Some people appear to suggest that oracle doesn’t know the idea-expression dichotomy and therefore mistakenly sued google for something that cannot be protected by copyright?

    oracle know the law and so does google.

  13. 8

    No, APIs are not copyrightable, any more than a patient intake form you fill out at your local dentist. That’s what APIs are.

    This is what happens when judges (who have no clue on what an API is) try to tell us what an API is. Understandably, they must resort to grasping at keywords, phrases and vague notions and presume to have gained some understanding. It would be far simpler to sit them down and show them how countless different programs can use the same API. Maybe then they will see the parallels to Baker v. Selden.

    1. 8.1

      API are code. They are far more than a patient intake form (even if what you assert about intake forms were true).

    2. 8.2

      How is it that the function calls are not part of the code?

      When you write a new function, one of the things you have to do is figure out the best way to get information into and our of the function. Back it the day, you could use global variables to cut down on the entry/exit overhead. But that became frowned upon because anybody and everybody could change the value of those variables and errors were a nightmare to debug. Another way was to pop things on and off the stack. This makes functions interruptible…but has overhead costs…also, there is the issue of needing an in-determinant amount of stack space and the possibility of running out of stack space….then object oriented programming came along and all data was to be encapsulated and kept safe ….yadda yadda yadda…

      Long story short, function call formatting is part of the code. Copying function call formatting is copying code.

      1. 8.2.1

        How is it that the function calls are not part of the code?

        I may have missed something but I didn’t see where anybody said that functional calls were not “part of the code.” On the contrary, Google’s question for cert seems to admit that they are “part of the code.”

        The issue, as I understand it, is whether these method headers — mere identifiers for code that is not being copied — are themselves protected by copyright such that others may not freely write new code incorporating them.

        1. 8.2.1.1

          “I may have missed something but I didn’t see where anybody said that functional calls were not “part of the code.” On the contrary, Google’s question for cert seems to admit that they are “part of the code.”

          The issue, as I understand it, is whether these method headers — mere identifiers for code that is not being copied — are themselves protected by copyright such that others may not freely write new code incorporating them.”

          You just said that functional calls were not code when you referred to them as mere identifiers. They are not mere identifiers. They are part of the code. Moreover, even if the identifiers could be argued to not be part of the code, the arrangement of parameters associated with the identifiers is clearly part of the code. Are they listed integers first or reals first, or are they grouped differently? Perhaps there are efficiencies at the compiler or interpreter level if one order is chosen over another. Maybe there is some benefit to the programmer if they are listed in a particular other order. Yadda yadda yadda. The headers are part of the code.

          1. 8.2.1.1.1

            They are not mere identifiers. They are part of the code.

            “They are not mere facts. They are part of the book.”

            “They are not mere chapter titles. They are part of the book.”

            “They are not mere page numbers. They are part of the book.”

            “They are not mere descriptions of the identity and location of the publisher. They are part of the book.”

            The point being that the issue remains copyrightability, regardless of whether the API’s can be characterized as “part of the code” or not.

          2. 8.2.1.1.2

            An API is just input to a compiler that allows it to match parameters. As a side benefit, it also informs the programmer what order to use, and allows the compiler to report errors.

            HOW the parameters are passed is up to the compiler. It may make the parameters global.

            It may just make them an ordered list that must be matched between caller and the function.

            In some cases, the function itself disappears – as in the case for “inline” functions – thus there is no code at all for the API.

            In most cases, an API for a function is compared to an entry in a phone book. There is the name of the person to be called… and the order of digits needed to make that call.

            As a list of facts, the API should not be subject to copyrights.

                1. I understand math alright – what it is an what it is not.

                  You on the other hand are fully afflicted with this “software is maths” thing, monologuing away to your heart’s content, not liking the law as it is.

                  So sad.

                2. There you go again… Assuming that law can cover math.

                  They do happen to be separate fields of abstract thought.

                3. The point Ned was making was to agree with me, that APIs are code. A copyrightable particular implementation.

      1. 8.3.1

        This from Baker v. Seldon seems to put the kibosh on the whole idea of copyrighting software — as a source code is a description of something functional.

        “The plausibility of the claim put forward by the complainant in this case arises from a confusion of ideas produced by the peculiar nature of the art described in the books which have been made the subject of copyright. In describing the art, the illustrations and diagrams employed happen to correspond more closely than usual with the actual work performed by the operator who uses the art. Those illustrations and diagrams consist of ruled lines and headings of accounts; and 105*105 it is similar ruled lines and headings of accounts which, in the application of the art, the book-keeper makes with his pen, or the stationer with his press; whilst in most other cases the diagrams and illustrations can only be represented in concrete forms of wood, metal, stone, or some other physical embodiment. But the principle is the same in all. 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.” 101 US 99, at 104-105.

        But if Congress may constitutionally authorize protection for software, there can be no objection that the code is functional.

        The problem in Selden was that Baker was using the booking system, an art, not the expression:

        “The book or series of books of which the complainant claims the copyright consists of an introductory essay explaining the system of book-keeping referred to, to which are annexed certain forms or blanks, consisting of ruled lines, and headings, illustrating the system and showing how it is to be used and carried out in practice. This system effects the same results as book-keeping by double entry; but, by a peculiar arrangement of columns and headings, presents the entire operation, of a day, a week, or a month, on a single page, or on two pages facing each other, in an account-book. The defendant uses a similar plan so far as results are concerned; but makes a different arrangement of the columns, and uses different headings. If the complainant’s testator had the exclusive right to the use of the system explained in his book, it would be difficult to contend that the defendant does not infringe it, notwithstanding the difference in his form of arrangement; but if it be assumed that the system is open to public use, it seems to be equally difficult to contend that the books made and sold by the defendant are a violation of the copyright of the complainant’s book considered merely as a book explanatory of the system. Where the truths of a science or the methods of an art are the common property of the whole world, any author has the right to express the one, or explain and use the other, in 101*101 his own way. As an author, Selden explained the system in a particular way. It may be conceded that Baker makes and uses account-books arranged on substantially the same system; but the proof fails to show that he has violated the copyright of Selden’s book, regarding the latter merely as an explanatory work; or that he has infringed Selden’s right in any way, unless the latter became entitled to an exclusive right in the system.”

        Boiling this down, at best software copyright can only extend to copying expressions, and not the functional use of code.

        But that being said, it does look like Google copied the expressions. But if that effectively protected a system?

        We shall see.

        1. 8.3.1.1

          17 USC §101 includes a definition of computer program among the literary works: “A “computer program” is a set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result.”

          That’s usually interpreted as bringing computer programs definitively under copyright.

          It would seem to leave out APIs, since there are not statements and instructions involved, but APIs could easily be another kind of literary work. The CAFC refers to APIs as a ‘taxonomy.’ That might be copyrightable.

          1. 8.3.1.1.1

            APIs could easily be another kind of literary work. The CAFC refers to APIs as a ‘taxonomy.’ That might be copyrightable.

            I can see where some compendium of taxa might be copyrightable as a form of “expression” … but an incomplete listing of taxa, perhaps derived from independent sources, where the sub-parts are in a different order than the plaintiff’s compendium and where they are recited for a functional (not expressive) purpose?

            Doesn’t seem right.

            Let’s say you publish a list of books along with some terms that you made up which indicate the degree of p rnographic content. The terms appear next to each book title (e.g., “Snarg.Bot” means “ivory clean”; “Meet.Lbr” means “outrageous filth”). I select from your list the “worst” books and make a new list of just those books, along with the corresponding made-up terms. I title my list: “Books to Be Burned Based on Owen’s Rankings.” Copyright infringement?

            1. 8.3.1.1.1.1

              So the Supremes say in Feist that phone books constituting a list of names and numbers are not copyrightable. Then the Seventh Circuit says in ADA v. Delta that a list of dental procedures’ names and alphanumerical codes is copyrightable.

              I have a little trouble finding the distinction between the two cases. Judge Easterbrook of the Seventh doesn’t explain why Feist doesn’t apply and spends a lot of words on paens to creativity unrelated to the issue in dispute. I don’t envy judges that have to explain how they’re compatible.

          2. 8.3.1.1.2

            APIs are statements/instructions. They say, for example: compiler: make a copy of the software associated with the string: “java.lang.Math.max(a,b)” accessible, and insert a call to that software at this location. Additionally, pass these parameters into the function by the indicated mechanism and return a result in this variable or structure.

            If instead, the coder make a typo and uses jaba.lang.Nobada.max(a,b) an error message will be generated because the compiler will not be able to find code associated with the label jaba.lang.Nobada.max(a,b) and will not be able to follow the indicated instruction.

            1. 8.3.1.1.2.1

              Actually, the compiler doesn’t find the code… it only finds a reference number to the code.

              Sometimes that reference number is the address where the code resides or will reside. Other times it is an index into a table… Which is then replaced with actual address as the linker (which may be at runtime, or earlier) chooses.

          3. 8.3.1.1.3

            Directly or indirectly in a… what?

            Lol – careful Owen, as you are going to lose jesse saying things like software is defined to be a machine component like that.

            😉

  14. 7

    Is Google hoping to rely on Feist Publications v. Rural Telephone Service, 499 U.S. 340 (1991)? I believe that is the most recent Sup. Ct. decision on what is, or is not, copyrightable subject matter and the required level of “originality” ? [Which is VERY different from patent law 102 and 103.]

    1. 7.1

      Paul, I think the issue is just how far protection of the expression can go before it begins to preempt function. Baker v. Selden.

      The court in Selden held forms uncopyrightable because they effectively protected the underlying bookkeeping art.

      This is the issue here as well in allowing one to copyright API expressions.

  15. 6

    If particular Java APIs are “building blocks of human ingenuity”, then what isn’t? Nice try Google, but I don’t think you’ll even get cert.

    1. 6.1

      I’m not a big fan that strand of Google’s argumentation here but there seems to be a commonly held misunderstanding about the “building blocks of human ingenuity”. Or perhaps it’s just an intentional misuse of the term for the purpose of creating confusion around the important and necessary considerations that the Supreme Court’s entertains when ruling on IP issues.

      If particular Java APIs are “building blocks of human ingenuity”, then what isn’t?

      What isn’t? All kinds of stuff that doesn’t corrode the entire point of the copyright and patent systems which is, as we all know, to “promote the progress”. The amicus brief does a good job, I think, of setting out the facts.

      Congress may not grant patents “without regard to the innovation, advancement or social benefit gained thereby” or “whose effects are to remove information from the public domain or to restrict free access to materials already available.” Supreme Court in Graham v. John Deere (1966).

      The same restrictions would seem to apply equally well to copyright.

      1. 6.1.1

        “Or perhaps it’s just an intentional misuse of the term for the purpose of creating confusion around the important and necessary considerations that the Supreme Court’s entertains when ruling on IP issues.”

        Without some fleshing-out by the appellate courts, the notion of “building block of human ingenuity” is … indefinite … not useful for legal analysis. All we have for guidance at this point is a handful of examples (including Morse’s). Google’s argument only underscores that point. For one, it’s too easy to use “ability to reap huge profits” (Google) as a proxy for “building block of human ingenuity”. I mean, is it the scope of use of something that makes it a building block … i.e., something very specific yet so useful that millions of persons “buy” it (with Android, the purchase is indirect). Or, is it the nature of the thing itself that makes it a building block. Electromagnetism used to convey information over a distance sounds plausibly like a building block. Intermediated commercial transactions sounds like a building block. But suppose one invents a new GUI that becomes hugely popular. Do elements of that GUI become “building blocks” just because millions of people use the GUI and perhaps would like to extend it, or even copy it?

        I guess what I’m getting at is that, for some “thing” to be a “building block”, in the 101 sense, that “thing” should itself be an abstract concept. Are specific things building blocks because they could be used to build lots of other useful things, or are only abstractions per se building blocks?

        1. 6.1.1.1

          “Do elements of that GUI become “building blocks” just because millions of people use the GUI and perhaps would like to extend it, or even copy it?”

          That’s a question we need not ponder since “elements of a GUI” are ineligible for other reasons besides that under discussion.

        2. 6.1.1.2

          Are specific things building blocks because they could be used to build lots of other useful things

          In the context of patent/copyright law, I’m not aware that such a broad definition has ever been suggested. Certainly many eligible and protectable inventions can be used to build other useful things and noboby has seriously questioned any of them. So that’s not what’s being foreclosed.

          , or are only abstractions per se building blocks?

          Again, I don’t think that is the case although abstractions (e.g., intangible ideas) by their nature are so fundamental that it’s easy to understand why protection at that level is foreclosed.

          Part of the answer may be found in the Supreme Court cite I already provided:

          “whose effects are to remove information from the public domain or to restrict free access to materials already available.”

          and another part may be found in the additional explanation that the proper focus here is not on the “specific thing” that is the subject of the case (e.g., Java’s API’s) but rather on the general category of protection. Why? The focus needs to be on the general category because the court — especially the Supreme Court — if ruling broadly (“this category should be permitted!”) must be mindful of the broader implications of its decisions. Subsequent litigants will certainly assert the same entitlement if that entitlement is judicially approved.

          That’s why it completely misses the point to read a Federal Circuit opinion and then, e.g., identify “bingo management” as a “building block of human ingenuity.” That’s not at all what happened in that case. It’s the computer — the old computer — that was the building block. And the problem is not specifically “bingo management” but the idea that you can tie up a freely available conventional device such as a programmable computer by dropping the bar to patentability so low that it can no longer be used by the public for its intended purpose (facilitating the processing of any and all kinds of information) without fear of patent infringement. Remember: there are are a few people out there who believe that the best world is one in which every person in the country is mindful of patent infringement at all times, particularly if the person is trying to make money (and who isn’t?). Can you guess the primary occupation of people who long for that reality?

          Similar considerations apply to this API issue. It isn’t just Oracle’s API’s that are protected. It’s every API in every programming language. Does granting protection at that level really promote progress in the broader art of software development for that language?

          Similar (but not identical) consideration is relevant to the problem of granting incredibly broad computer-implemented claims which use functional language that is completely divorced from operating sytems and programming languages. Is progress in computing technology being promoted by such claims? Or (as it increasingly seems) is it mostly just progress in the development of new patent litigation schemes?

          In yet another context, similar (but not identical) considerations apply as well to patents that foreclose the use of old, public domain data-gathering methods to gather data from previously undescribed (but equally unprotectable) sources. When you drop the qualifying bar too law for such claims (e.g., by failing to require the applicant to provide and recite the details essential for the “improved” method to work), “free access” to those otherwise public data-gathering methods is quickly dimished.

      2. 6.1.2

        The same restrictions would seem to apply equally well to copyright

        Would seem?

        May I suggest that you read Golan v Holder, so that the law (more than just “would seem“) may be discussed with a bit more conviction.

        1. 6.1.2.1

          If you have a point to make, “anon”, just spit it out.

          Use the English language. Ask someone to help you if you find it difficult to type your own points out yourself or if it’s difficult for you to do so without insulting people.

          Good luck.

          1. 6.1.2.1.1

            Here’s a great example of your own not understanding.

            Are you having difficulty finding the Golan v Holder case? Do you want me to provide a hyperlink? Do you need me to read it to you? Do you need me to pronounce all those big words in it?

    2. 6.2

      1) this is copyright case, not a patent.

      2) the Java APIs might be building blocks resulting FROM human ingenuity, but they are not fundamental building blocks OF human ingenuity.

      1. 6.2.1

        the Java APIs might be building blocks resulting FROM human ingenuity, but they are not fundamental building blocks OF human ingenuity.

        Again, it’s not just the removal of “Java’s” particular method calls from the public domain that are the cause for concern here.

        this is copyright case, not a patent.

        Same clause in the Constitution. Similar underlying concerns.

        1. 6.2.1.1

          Same clause in the Constitution. Similar underlying concerns

          Have you read Golan v Holder yet?

          You may want to read that case before locking yourself into the view that you are expressing here. I don’t think that you are going to like what the Justices have to say.

  16. 5

    Isn’t the better argument that Oracle created and easement that Google relied upon and Sun cannot now pull that rug out from under Google?

    1. 5.1

      Les, I would agree, with a minor nit: I think you have Oracle’s and Sun’s positions in your question reversed. Sun had the reputation for permissive IP control, and Oracle would be the one now pulling the rug.

  17. 4

    Seems like these headers are, at best, vaguely descriptive names used to refer to some other (potentially) copyrightable “expression”.

    By analogy, while it’s true that you can copyright a song you can’t use copyright to prevent people from referring to the title of the song in writing e.g., (“Next you should listen to ‘Stairway to Heaven’).

    If Oracle really really really wants to prevent people from using these headers, perhaps they should start trademarking them (good luck with that).

    1. 4.1

      By analogy, while it’s true that you can copyright a song you can’t use copyright to prevent people from referring to the title of the song in writing e.g., (“Next you should listen to ‘Stairway to Heaven’).

      Yeah, but what if I publish a list of “Really cool potential song titles,” and then you publish another list, in which you copy six thousand of the titles from my list. I think that’s a lot closer to what happened here.

      1. 4.1.1

        what if I publish a list of “Really cool potential song titles,” and then you publish another list, in which you copy six thousand of the titles from my list.

        Obviously it depends on the specific facts, e.g., the differences between your list and my work. You don’t own the song titles. You don’t own the idea that any of those songs are “really cool potential song titles.” Your list is your expression of your idea. I believe I could take your list and modify it to include a critique of each and every one of the song titles (“that one is actually kind of funny” “not funny at all” etc) and it would be fair use.

        I think that’s a lot closer to what happened here.

        I don’t. Java didn’t make a list of “really cool potential method headers”. Java made some methods (which Google isn’t accused of copying, at least not in this case) and Java gave those methods names so that Java and other people could identify the methods.

        I’m going to go waaaay out on a limb and guess that Java has created a lot more method headers that Google did not use. How many more, I wonder?

      2. 4.1.2

        No – actually it would be closer to the copied list only having 4000 lines of your 6000 lines. Not all of the Java API was used.

        At that point, the next problem comes up – Since the API isn’t compatible, AND the product is not certifiable to be JAVA (it isn’t called java either), there should be no issue.

        Yes, the foundation of the language used is Java. But it is a subset of the runtime that is available… And even then, the product doesn’t run Java bytecode. It is called Android, and it runs the Dalvik bytecode.

        So any Java bytecode has to be first converted to Dalvik bytecode, and not all can be converted.

    2. 4.2

      I think you have to look at the collection of names, in mass, of methods (or interfaces, etc.) of an API. One individual method name or one element of a namespace might have extremely thin expression, but thousands of them together have a collective expression. An individual sentence in a novel might have questionable copyrightability, but paragraphs and chapters in that novel, as a whole, are different.

  18. 3

    The courts have done great violence to 102(b). I think Google has the better argument here.

    APIs sound all fancy, but another way to think about the API is the specification for a machine. Copyright should not extend to the facts of a mechanistic description (10mm bolt at location x), even if ultimately the “description” of what to do could be (e.g., the actual instructions).

    Unless I missed the reference, neither brief really addresses the taxonomy/codes cases either where the courts flaunt the clear language of 102(b) and extend protection to a taxonomies and lists of codes and values.

    1. 3.1

      Dennis: Google also interestingly notes that the Federal Circuit opinion here “erases a fundamental boundary between patent and copyright law.”

      It wouldnt be the first time that happened … but it usually happens in a patent case. After Alice, thankfully, the courts seem to have gotten the message that putting potentially copyrightable information on a computer does not create patentable subject matter (e.g., ABL’s properly tanked “useful diagnostic information … on a computer!” patent).

      Where is that darn Ultramercial opinion anyway? As I recall, the alleged patentability of those claims hinged on the recitation of “copyright” as a limitation (!).

      1. 3.1.1

        “Potentially copyrightable?” You’ve been shouting everyone down saying that software is for copyright not patent. So is it or isn’t it? Or is it whatever the anti-software patent crowd (i.e., google) tells you to say?

        1. 3.1.1.1

          You’ve been shouting everyone down

          Uh … no. I’ve been explaining my views for many years, in the face of virulent, unrelenting head-in-the-sand entitlement and denial. I apologize if I occasionally pop off when the same tired non-responsive baloney is brought up over and over again. Like what you’re doing now.

          software is for copyright not patent. So is it or isn’t it?

          The answer would, of course, depend on the specific code for which patent protection is being sought.

          In general, the complete code that would actually enable the sort of functionality being protected by a typical “do it on a computer” method would be entitled to copyright protection (with all the usual defenses applicable).

          whatever the anti-software patent crowd (i.e., google) tells you to say

          Do you understand how silly you sound? Google doesn’t tell me what to say. S c r e w Google. Google is the embodiment of so much corporate s-u-ckiness I don’t even know where to begin.

          But that doesn’t change the fact that they are going to win this case, and win it bigtime, if they keep pursuing it. And they should win it.

          [shrugs]

    2. 3.2

      An API, like most works, can be both functional and expressionistic. Here, there’s nothing preventing someone from having the precise same functionality in an API but with a different _expression_ of that API, i.e., different names for methods, different names and positions of parameters, etc.

      It does raise in interesting copyright question. Is unprotectable functionality (copyright law) only functionality inherent in the work, or does the functionality to be considered extend to something extrinsic to the work, such as interoperability with software that is not part of the subject work.

  19. 2

    So Google wants to eradicate both patents AND copyrights. Interesting to hear what the anti-software patent Google worshippers think about this development.

    1. 2.1

      Even a little basic public research reveals the “distinguished” scientists include:

      19 current Google employees
      4 recent Google employees
      5 folks who got awards or funding from Google
      4 people who work at orgs that are taking $$ from Google
      3 in organizations that work with Google as biz partner or investor

      So 35/77 receive or have received a financial benefit, interest or stake in Google’s success – quite a cast of ….”objective” scientists there

      1. 2.1.1

        35/77

        What about the other 32 computer scientists?

        quite a cast of ….”objective” scientists

        And of course “J Nicholas” most likely refers to an infamous NPE who has filed and asserted some truly laughable claims against deep-pocketed companies and, in doing so, helped change the landscape of patent law to make it more difficult for others to emulate his awesomeness. I bring this up only because “objectivity” is really important to the outcome of this particular case … right?

        1. 2.1.1.1

          It must be sad to be a loud “troll” on message boards, but so …irrelevant in real life?

          Remind us again, which “important” patent litigation cases you were involved in? Or any patent that ever amounted to anything?

          Regale us please with the exploits of your vast meaningful contributions to patent law!

          (chirp, chirp, chirp)

          As Clint would say, you truly a legend in your own mind

          1. 2.1.1.2.1

            I’ve no idea how anything in that thread relates to anything here, “anon”, but it looks to me like Noonan got schooled.

            Is there any other dust you want to kick up, “anon”? Nothing like the smell of desperation …

            1. 2.1.1.2.1.1

              Once again Malcolm, your “looks to me” is pitifully 180 degrees off the mark.

              It was you (as yet another sockpuppet there) that got schooled.

              That desperation you smell is from you.

              1. 2.1.1.2.1.1.1

                It was you (as yet another sockpuppet there) that got schooled.

                Well, you’re wrong about that but, hey, why not keep pounding the sand about some unrelated conversation on another blog?

                Whatever floats your boat, “anon.”

                [shrugs]

                1. Previous comment stuck in the filter, so let me rephrase my response:

                  You say that I am wrong “about that.”

                  About what exactly?

                  About the fact that you are using yet another sockpuppet at the other blog?

                  That would be a no.

                  About the fact that Dr. Noonan spanked you and told you to basically put up or stf,

                  That would also be a no.

                  So like here with J Nicholas asking you to compare “transperancies” you are left with no on point reply.

                  You can choose to continue having “no idea” but you should realize that such is your conscience choice.

                  Just like using so many sockpuppets after whining incessantly about them.

      2. 2.1.2

        Unless otherwise indicated, amici are signing this brief on their own individual behalf and not on behalf of the companies or organizations with whom they are affiliated. Those affiliations are only for identification. This includes those amici indicated by an asterisk (*), who are presently Google employees, consultants, and/or directors. Those amici are signing this brief as individual computer scientists whose work in the field long preceded their affiliation with Google. They are not signing this brief on behalf of Google or at Google’s request.

        Of course, all of those asterixed signers could be signing against their own beliefs because they fear that Google will stop paying them if they don’t sign, or because Google paid them to lie.

        Somehow that seems unlikely to me. It seems equally unlikely to me that these computer scientists are signing the brief because they are thieves or “copyists” trying to destroy copyright or something like that.

  20. 1

    What am I missing?

    If 17 U.S.C. 102(b)” bars copyright protection for “any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of [its] form [of expression],” then how is any software every copyright protected?

    1. 1.1

      The expression itself can be copyrighted, but not the idea behind the expression. E.g., the idea of star-crossed lovers cannot be copyrighted, but the particular expression of Romeo and Juliet by Shakespeare can be.

      In the software space, the idea of having certain methods (e.g., a method to add two numbers) cannot be copyrighted, but the particular expression may be (assuming it is sufficiently original and creative and doesn’t fall prey to the merger doctrine).

      1. 1.1.1

        I understood here that what Google is infringing is the particular expression, e.g., : “java.lang.Math.max(a,b)” not the general idea max(a,b), no?

        1. 1.1.1.1

          What Google is alleged to infringe is essentially copying the function calls, not the code in the function calls.

          java.lang.Math.max(a,b)

          v.

          public static int max(int a, int b) {
          return (a >= b) ? a : b;
          }

          My understanding is that Google reimplemented the code, but kept the function names and organizational structure.

          1. 1.1.1.1.1

            The aspects of copyright protection being not to the function or utility (these aspects are for the patent world), but the creativity involved in the naming scheme as a whole (and it really is a MIS-nomer to think that any number of such that Google did not copy has any bearing on anything…).

          2. 1.1.1.1.2

            Right, Google wanted to take Java customers. As an aid to doing so, made it easy to migrate code from Java to Google’s product. By using the same format for the function calls, the migration to Google was simplified. They just had to piggy back/copy/steal Java’s development work to do it.

            1. 1.1.1.1.2.1

              By the same token, Google also allows its developers to migrate FROM Google’s product to Java.

              There is some token of “interoperability” there that could be considered “fair use”.

              1. 1.1.1.1.2.1.1

                Do you have a clue as to what that term means, jesse?

                Interoperability has zero to do with Fair Use.

                1. Your belief system is getting in your way of understandin the word “evidently.” Come back to this reality.

          3. 1.1.1.1.3

            How is it that the function calls are not part of the code?

            When you write a new function, one of the things you have to do is figure out the best way to get information into and our of the function. Back it the day, you could use global variables to cut down on the entry/exit overhead. But that became frowned upon because anybody and everybody could change the value of those variables and errors were a nightmare to debug. Another way was to pop things on and off the stack. This makes functions interruptible…but has overhead costs…also, there is the issue of needing an in-determinant amount of stack space and the possibility of running out of stack space….then object oriented programming came along and all data was to be encapsulated and kept safe ….yadda yadda yadda…

            Long story short, function call formatting is part of the code. Copying function call formatting is copying code.

            1. 1.1.1.1.3.1

              Copying function call formatting is copying code.

              Agreed. However, the function calls provide the method of operation with respect to the functions, and as such, are explicitly excluded from copyright protection.

                1. Expressive aspects of the user interface (e.g., graphic art, window layout, fonts) are copyrightable, as are the expressive aspects of the source code (e.g., variable naming, function naming, layout, comments, sequencing). The many, many modules that are combined into the amalgamation that is sold as Microsoft Word V10.0 mostly began as expressions of code and pretty user-interface graphics, which were likely copyrightable.

                  The function definitions (“bodies”) themselves can be copyrightable code, as the writings are obviously expressive, and such definitions include the headers. It should not be surprising that the function definitions also demonstrate functionality (but that functionality is NOT copyrightable). However, the headers by themselves do not define any functions or functionality, they only provide the conventions (or methods, if you prefer) by which any other computer code (including other functions) can operate with those functions.

              1. 1.1.1.1.3.1.2

                Dobu,

                Do not be confused with the notion that an item can have more than one aspect. While certainly you are correct that the function calls provide the method of operation, and have some utility in doing so, the point under discussion here is that they also have an aspect of expression that does garner copyright protection (the copyright protection is not being evoked for the utility, so beware falling for that logic-trap).

                1. The function calls do have expressive aspects, agreed. As part of the complete function definitions, they would enjoy copyright protection.

                  However, the headers standing alone might still be expressive, but they lose copyright protection by being the only means of providing methods to operate with the functions for which they are the headers.

              2. 1.1.1.1.3.1.3

                Every line of code provides the method of operation. By your logic, no software is copyrightable.

                1. Les,

                  Let’s see if Dobu is man enough to admit my point at 1.1.1.1.3.1.2.

                  He does tend to at least try to be more rational than several of our other slashdot/techdirt guests.

                2. I would say any individual line of code would likely lack enough expression to enjoy copyright protection. (Exceptions exist, of course. Especially contrived ones.)

                  It’s the collective expressiveness of a work of software that invokes copyright. The more finely you chop it up, the harder it is to find expressiveness in the minutia.

                  Think about the shape of Africa (not copyrightable) and an atlas or a globe (copyrightable).

                3. Anon,

                  Let’s see if Dobu is man enough to admit my point at 1.1.1.1.3.1.2.

                  LOL. Sometimes, Anon, you do put a smile on my face. I had no idea my “manliness” was in question. How misogynistic and childish of you. It would be even funnier if I were of the female persuasion. I guess my manliness shines through in my posting. (And yes, I did respond to your post at 1.1.1.3.1.2, before I ran across this silliness.)

                  He does tend to at least try to be more rational than several of our other slashdot/techdirt guests.

                  Wow, that was almost not insulting. Considering the source, that was high praise indeed. I am honored. I can’t wait to show this to all my friends at slashdot.
                  ;^)

                4. I am indeed glad that you picked up the humor there Dobu. While I think that many of your views into the patent world at plain incorrect, you do strike me as far less of a gaming conniver like a lot of regulars here. I actually hold out the possibility of you correctly understanding patent law some day.

Comments are closed.