Announcement

Collapse
No announcement yet.

The Oracle vs. Google Case Is Concerning Some Wine Developers

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #61
    Originally posted by audi100quattro View Post
    Where did you find the samples? I couldn't find an article clearly mentioning what the 170 lines actually are, and it's not in the opinion either. The original case docs seem to be hard to find..
    You need to back to 2010 at the start and pull the submitted exhibits.
    Oracle amended its Java complaint against Google over Android patent infringement and provided line-by-line comparisons in its exhibits.



    Like just this sample out of those 24 line there is only really 2 lines that are truly application programming interface. Everything else there is implementation. That sample is 10 to 1 but other samples are even worse.

    The 170 lines are from the volume of exhibits oracle submitted. Also you need to go back and read where google won. It was because it was API the more recent case tightens up the define to where it makes historic sense..

    If something is API or implementation is quite a simple question. Is this interface/code directly used by the application using this library? If no is implementation. Google really did not copy that much API but copied a heck load of implementation. Then on the copied implementation google has failed to prove that it was the only way to-do it. The SSO bit in the ruling is directly referring to copied implementation.

    Google tried to stretch the define of the doctrines and has failed. So we are back to exactly where we were before the case started in 2010.

    Comment


    • #62
      Ok, the district court ruling section 2 (bottom of page 7) onwards explains a few things: http://www.groklaw.net/pdf3/OraGoogle-1202.pdf

      Relevant:
      "Google came up with its own implementations for the method bodies and this accounts for 97 percent of the code for the 37 packages." - Page 9

      "This brings us to the application programming interface. When Java was first introduced in 1996, the API included eight packages of pre-written programs. At least three of these packages were “core” packages, according to Sun, fundamental to being able to use the Java language at all. These packages were java.lang, java.io, and java.util. As a practical matter, anyone free to use the language itself (as Oracle concedes all are), must also use the three core packages in order to make any worthwhile use of the language. Contrary to Oracle, there is no bright line between the language and the API." - Page 11-12

      "Line by line, Oracle tested all fifteen million lines of code in Android (and all files used to test along the way leading up to the final Android) and these minor items were the only items copied, save and except for the declarations and calls which, as stated, can only be written in one way to achieve the specified functionality." - Page 14
      I'm not arguing with oiaohm, everything you've said is wrong. Google didn't copy any implementation details, and the tiny amount they did, Oracle doesn't care or it has been re-written in new Android versions. Java has interfaces, which are header files. This isn't about private members or imports.

      "The Court found that as a matter of law, Google's use of Java could not have fallen within fair use, even if all factual matters decided by the jury had been in Google's favor. The Appeals Court found that Google's use of API code declarations had not met any of the four current criteria for fair use, but was merely untransformed reuse. It had not been transformative, since it was used for the same purposes without even minimal changes or rewrites. It was not minimal, since it was agreed that only 170 lines of the 11,500 lines copied were needed for Google's purposes. It was not within any example of transformation, nor intended to permit third party interoperability, since Google had made no substantial efforts to use them for the purpose of third party interoperability. (In fact it found that Google had tried to prevent interoperability with other Java and had previously been refused a license by Sun for that reason.[12]) It was not transformative in the sense of a new platform either, since other Java smartphones predated Android.[62] It was plausible that the use had harmed Sun/Oracle – perhaps to a great extent if Oracle were to be believed – since as a result, vendors began to expecting Oracle to compete on price with a freely available derivative of its own language, and to require very steep discounts and undesired contractual terms.[62] Therefore, Google's use of the Java code and APIs failed to meet all four of the currently accepted criteria under which fair use would be possible.[62]" - from the wikipedia page
      The appeals court saying only using the class/function names (API code declations) of 37 packages (java.io, etc..) is entitled to copyright protection is wrong. It's fair use like the district court said.

      Comment


      • #63
        To add, Oracle made the choice of having a public Java language, and standard library. Yes, Google took the declarations (and did their own implementation which is fair use). If Sun/Oracle wanted to keep the API private, they could've done so. There are models for this like playstation development, or any api that's behind a pay wall. They didn't choose that model, and now it's too late. The Java standard library has been re-implemented atleast a handful of times by GNU, Apache and many others (https://en.wikipedia.org/wiki/Java_C...mplementations) in a more limited way, and you don't see Oracle shutting down GNU or Apache projects.

        Under the district court ruling, what everyone does with the AWS API, what WINE does with directX (I don't think there is a difference between taking declarations from source vs. binary), what anyone does in re-implementing their own product using a public API declaration is fair use. If you don't want people using your API declaration, don't make it public. Simple.

        Comment


        • #64
          Originally posted by audi100quattro View Post
          I'm not arguing with oiaohm, everything you've said is wrong. Google didn't copy any implementation details, and the tiny amount they did, Oracle doesn't care or it has been re-written in new Android versions. Java has interfaces, which are header files. This isn't about private members or imports.

          The appeals court saying only using the class/function names (API code declations) of 37 packages (java.io, etc..) is entitled to copyright protection is wrong. It's fair use like the district court said.
          API is not a legal term. Since google called complete classes API in the rewritten response is base on how google used the term API. If you go purely by the doctrines of copyright you cannot take more than what you need for compatibility. Google claim that it could only be written 1 way is wrong. private declares do not have to be in the same order and most cases don't require to be the same names. This is why what google took fails the SSO test.

          Originally posted by audi100quattro View Post
          To add, Oracle made the choice of having a public Java language, and standard library. Yes, Google took the declarations (and did their own implementation which is fair use). If Sun/Oracle wanted to keep the API private, they could've done so. There are models for this like playstation development, or any api that's behind a pay wall. They didn't choose that model, and now it's too late. The Java standard library has been re-implemented atleast a handful of times by GNU, Apache and many others (https://en.wikipedia.org/wiki/Java_C...mplementations) in a more limited way, and you don't see Oracle shutting down GNU or Apache projects.
          http://harmony.apache.org/ Harmony was shutdown and archived Nov 2011. Partly relating to this case so it was shutdown because Harmony was not appearing absolutely clean. GNU classpath was shutdown because java release under LGPL had a better license than GNU classpath.

          So end result is Oracle got both the GNU classpath and Apache Harmony shutdown.

          Originally posted by audi100quattro View Post
          Under the district court ruling, what everyone does with the AWS API, what WINE does with directX (I don't think there is a difference between taking declarations from source vs. binary), what anyone does in re-implementing their own product using a public API declaration is fair use. If you don't want people using your API declaration, don't make it public. Simple.
          The big thing to take away from this cases. Is something being called API does not magically make it copyright non protected. If all the API happens to fall inside the copyright doctrines being Merger and Scène à faire then it copyright not protected.


          The API declarations wine project uses falls inside Merger and Scène à faire. What google copied clearly does not. Scène à faire that covers wine is
          Gates Rubber Co. v. Bando Chemical Industries, Ltd., 9 F.3d 823 (10th Cir. 1993) but that case does not cover what google did.

          "public API declaration" but Java API was never public domain. Gates Rubber Co. v. Bando Chemical Industries, Ltd. Covers re-implementing items like play-station development API behind a paywall. So prior cases if you obey the doctrines say re-implementing API is perfectly legal. So copyright law allows people by doctrines to re-implement APIs never made public if they are required for application compatibility. The wine project requires the legal coverage to implement non publicly documented APIs because different applications use un-documented windows APIs. So if your point that to be legal the API has to public is no go for the wine project.

          Google case is if you disregard the copyright doctrines you will lose. Google did not just take function declarations the sample code clearly shows that. Instead google took complete java classes and attempt to claim those were API and of course copyright doctrine should never protect action like that.

          Comment


          • #65
            The appeals court ignored the findings of the jury and the judge in the district court on at least:
            1) SSO test - the district court jury said Google did not copy the sequence, structure and order
            2) Fair use - the district court said copying the API class/function names was fair use since Google did it's own implementation

            If you're in America, and you care about Judges not completely ignoring what fact finding a Jury does, support an organization that files a brief saying so if this case makes it to the supreme court. If it does make it to the supreme court, this will be a significant factor. It's not often that the fact finding that a Jury does is ignored. This techdirt podcast is good on this topic: https://soundcloud.com/techdirt/how-...re-development

            Here is the final statement of the district court judge mentioning SSO: www.groklaw.net/pdf3/OraGoogle-1202.pdf
            This order does not hold that Java API packages are free for all to use without license. It does not hold that the structure, sequence and
            organization of all computer programs may be stolen. Rather, it holds on the specific facts of this case, the particular elements replicated by
            Google were free for all to use under the Copyright Act. Therefore, Oracle’s claim based on Google’s copying of the 37 API packages,
            including their structure, sequence and organization is DISMISSED.
            To the extent stated herein, Google’s Rule 50 motions regarding
            copyrightability are GRANTED (Dkt. Nos. 984, 1007). Google’s motion for a new trial on copyright infringement is DENIED AS MOOT (Dkt. No.
            1105).
            Starting from Page 23 of the pdf, Scène à faire is talked about. Ending on page 40 before the conclusion it says:
            In closing, it is important to step back and take in the breadth of Oracle’s claim. Of the 166 Java packages, 129 were not violated in any way.
            Of the 37 accused, 97 percent of the Android lines were new from Google and the remaining three percent were freely replicable under the
            merger and names doctrines. Oracle must resort, therefore, to claiming that it owns, by copyright, the exclusive right to any and all possible
            implementations of the taxonomy-like command structure for the 166 packages and/or any subpart thereof — even though it copyrighted only one
            implementation. To accept Oracle’s claim would be to allow anyone to copyright one version of code to carry out a system of
            commands and thereby bar all others from writing their own different versions to carry out all or part of the same commands. No holding has ever endorsed such a sweeping proposition.
            A standard library, certainly everything in java.lang, java.io, and java.util and the 34 other packages have been implemented atleast a handful of times in other languages or computer science in general. Making it Scène à faire by default. Google argues similarly and the court partially agrees, if you read the pages and footer notes.

            Java doesn't have a strong restriction on private methods, you can call it using reflection, among other ways. It's a part of the API declaration, and all of this was ruled de minimis by the district court.
            As for classes, the rules of the language likewise insist on giving names to classes and the rules insist on strict syntax and punctuation in the
            lines of code that declare a class. As with methods, for any desired functionality, the declaration line will always read the same (otherwise the
            functionality would be different) — save only for the name, which cannot be claimed by copyright. Therefore, under the law, the declaration
            line cannot be protected by copyright. This analysis is parallel to the analysis for methods. This now accounts for virtually all of the three
            percent of similar code. -
            page 36

            ...

            Oracle’s best argument, therefore, is that while no single name is copyrightable, Java’s overall system of organized names — covering 37
            packages, with over six hundred classes, with over six thousand methods — is a “taxonomy” and, therefore, copyrightable under American Dental
            Association v. Delta Dental Plans Association, 126 F.3d 977 (7th Cir. 1997). ... The main answer to this argument is that while the overall scheme
            of file name organization resembles a taxonomy, it is also a command structure for a system or method of operation of the application
            programming interface. The commands are (and must be) in the form java.package.Class.method() and each calls into action a pre-assigned
            function. ... That a system or method of operation has thousands of commands arranged in a creative taxonomy does not change its
            character as a method of operation. Yes, it is creative. Yes, it is original. Yes, it resembles a taxonomy. But it is nevertheless a
            command structure, a system or method of operation — a long hierarchy of over six thousand commands to carry out pre-assigned
            functions. For that reason, it cannot receive copyright protection — patent protection perhaps — but not copyright protection.
            - page
            37
            The Java langauge and VM spec is free to use: https://docs.oracle.com/javase/specs/ From the pdf:
            2. License for the Distribution of Compliant Implementations. Specification Lead also grants you a perpetual ... to create and/or
            distribute an Independent Implementation of the Specification that: (a) fully implements the Specification including all its required
            interfaces and functionality
            ...
            The class library is Copyright Oracle: https://docs.oracle.com/javase/10/do...w-summary.html

            So, Google made Dalvik, made their own Java language to Dalvik compiler, made it pass Sun's certification, and got a perpetual license for it. For the the class library, they re-implemented the API using only class/function names (not copyrightable) and the structure of each of the 37 packages (also not copyrightable). Compare this to what Oracle wants: Any re-implementation of the class library is breaking Oracle's copyright by copying the SSO. Any SSO comes from computer science and math, not Oracle.

            APIs are languages. Good APIs are designed just like how you would design a computer language. There is a good CS talk on this somewhere. You cannot stop someone from doing their own implementation. It would break software as we know it. What Google did in source form, is essentially same as what Wine is doing by reverse engineering. What everyone that is POSIX compatible does... I could go on.

            There are other implementations of Java still active for Java5/6 and you will find that they still use parts of Harmony and GNU classpath: https://en.wikipedia.org/wiki/List_o...achines#Active
            Last edited by audir8; 10 May 2018, 02:32 PM.

            Comment


            • #66
              Thanks for supplying that follow up information, audi

              Comment


              • #67
                [QUOTE=audi100quattro;n1024021]The appeals court ignored the findings of the jury and the judge in the district court on at least:
                1) SSO test - the district court jury said Google did not copy the sequence, structure and order
                2) Fair use - the district court said copying the API class/function names was fair use since Google did it's own implementation

                If you're in America, and you care about Judges not completely ignoring what fact finding a Jury does, support an organization that files a brief saying so if this case makes it to the supreme court. If it does make it to the supreme court, this will be a significant factor. It's not often that the fact finding that a Jury does is ignored. This techdirt podcast is good on this topic: https://soundcloud.com/techdirt/how-...re-development

                Originally posted by audi100quattro View Post
                Here is the final statement of the district court judge mentioning SSO: www.groklaw.net/pdf3/OraGoogle-1202.pdf
                <b>This order does not hold that Java API packages are free for all to use without license. It does not hold that the structure, sequence and
                organization of all computer programs may be stolen.</b>
                These sentences come important.


                Originally posted by audi100quattro View Post
                A standard library, certainly everything in java.lang, java.io, and java.util and the 34 other packages have been implemented atleast a handful of times in other languages or computer science in general. Making it Scène à faire by default. Google argues similarly and the court partially agrees, if you read the pages and footer notes.
                This is thrown out by the high court for being wrong. The district court failed to notice that the other implementations had done java byte code so had meet the conditions of the java specification license where Android implementation does not. So google did not have any evidence to make those Scène à faire by default as what it attempted to use as evidence for Scène à faire are in fact licensed works that don't have to obey the rules of fair usage. So this is one of the points where the district court had made a technical error then the ruling depend on this technical error.

                Originally posted by audi100quattro View Post
                Java doesn't have a strong restriction on private methods, you can call it using reflection, among other ways. It's a part of the API declaration, and all of this was ruled de minimis by the district court.
                On the private functions by prior cases of de minimis the high court rules they got that wrong.
                1) Reflection and other methods of calling private parts inside java classes does not mandate they be in the same order.
                The district court failed to check if the was a functional reason for the order.
                2) Prior cases of de minimis particularly SEGA one showed need to demo that using protected features was in fact required.

                <b>Therefore, under the law, the declaration line cannot be protected by copyright.</b>
                This bit is where the district court starts going wrong. It conflicts with the prior line.
                <b>It does not hold that the structure, sequence and organization of all computer programs may be stolen.</b>
                Do not the organization part of SSO assessment. District court stuffs up here by basically deleting the lines that have matching declaration without looking the order they are declared in. Prior cases says you did need to look at organization and if there was in fact a functional requirement for the organization.

                So basically the high court as rerun over what the district court ruled.

                Yes, it resembles a taxonomy.
                You highlighted this bit there is a problem taxonomy is another word for organization. Then the district court did not go on a demand google justify why the organization. Yet in other words the district court admitted it was there. Basically the district court goes and ignores the organization side this goes to the next mistake.

                Originally posted by audi100quattro View Post
                The Java langauge and VM spec is free to use: https://docs.oracle.com/javase/specs/ From the pdf:
                No they are free to use there are conditions. Do read the specification license closer and remember the specification include java bytecode and that is required functionality by specifications.

                This order does not hold that Java API packages are free for all to use without license. << You did not read what you quoted it strict the java language is not free to use even in the district court ruling.

                This from the early SSO case is about this very point. That is not free to use license without conditions and never has been. The license is on the API with ABI of java. So free to use under conditions that google android does not meet. Thing to remember is the ABI of java bytecode is declared in the same specification as it classes.

                Free to use is arguement some have tried for breaking GPL conditions as well.

                Originally posted by audi100quattro View Post
                So, Google made Dalvik, made their own Java language to Dalvik compiler, made it pass Sun's certification, and got a perpetual license for it.
                Run-time version in Android not support Java byte code means they did not have specification license covering so are back to general fair usage laws. The perpetual license is dependant on implementing all functionality possible not cheery picking. Sun certification does include bytecode tests that Google skipped. Yes skipping those bytecode tests means no perpetual license as Sun always include the requirement to do java byte code in perpetual license. If Google had a valid license they would have been able to end the case quickly.

                Originally posted by audi100quattro View Post
                There are other implementations of Java still active for Java5/6 and you will find that they still use parts of Harmony and GNU classpath: https://en.wikipedia.org/wiki/List_o...achines#Active
                These do implement the java bytecode so are under the java specification license.

                Originally posted by audi100quattro View Post
                For the the class library, they re-implemented the API using only class/function names (not copyrightable) and the structure of each of the 37 packages (also not copyrightable).
                Sorry not true the code samples Orcale submitted early on show they copied code inside functions not just class and function names. This is fine if you are working to the specification license. Not fine if what you are doing not have the specification license and are back on fair usage as Android is due to not supporting java bytecode. The district court skipped over the organization checks of SSO the latter ruling does not.

                Comment


                • #68
                  Everything you've said, I've already refuted. but I'm going to explain this again against my better judgment:

                  "This order does not hold that Java API packages are free for all to use without license."

                  Yes, in the whole, they are not, they are copyrighted. Using class/function names alone and doing your own implementation is fair use. The taxonomy is not copyright-able since it does not constitute the implementation. You could not write a linked list without having a get or set method, or having a private array for storage, could you? Similarly, you can't have an object oriented programming language without java.lang.Object. Ergo, the taxonomy of the most basic computer science is not copyright-able. It's just the way has has to come together like the ruling says. Sun made it so you could get a perpetual license for the VM and language, and they did not sue Google, Oracle did under a much more expansive take of copyright law and the majority of the case is about the standard library. The reason IBM got a license is because they wanted differences in their implementation, to change the spec for the VM and language as they saw fit.

                  You don't have sources for anything, and your opinion (including your misreadings/misunderstandings from what I quoted) is worth nothing. The district court had everything right, which I quoted as clearly as possible. You and the appeals court make no sense.

                  cybertraveler np
                  Last edited by audir8; 10 May 2018, 07:20 PM.

                  Comment


                  • #69
                    Originally posted by audi100quattro View Post
                    Using class/function names alone and doing your own implementation is fair use. )

                    Look at that image. It was part of the court documents. Google has not just copied class and function names. Google does not even dispute this instead attempted to argue fair usage.

                    Originally posted by audi100quattro View Post
                    The taxonomy is not copyright-able since it does not constitute the implementation. You could not write a linked list without having a get or set method, or having a private array for storage, could you? Similarly, you can't have an object oriented programming language without java.lang.Object. Ergo, the taxonomy of the most basic computer science is not copyright-able. It's just the way has has to come together like the ruling says. Sun made it so you could get a perpetual license for the VM and language, and they did not sue Google, Oracle did under a much more expansive take of copyright law and the majority of the case is about the standard library.
                    This is what you have wrong the Taxonomy the district court is referring to is what is show in the above image. So you have code that is exact match to the Oracle code other than variable names. Also the function in that picture if you open up the same function in gnu classpath you can see there is another way to-do it so this is not fair usage. There is more than 1 way to do what Google copied.

                    Question does the order inside a class function declares have to be that way to work with Java. The answer is no it does not. Taxonomy more than 1 meaning to most people but the courts don't have most of the meaning people use.

                    https://en.wikipedia.org/wiki/Taxonomy_(biology)
                    The bad news is courts use the close biology meaning of Taxonomy not the narrow version you have read it as. So basically swap it for organisation because legally there is no other meaning when in a copyright case over code or books.

                    Originally posted by audi100quattro View Post
                    The reason IBM got a license is because they wanted differences in their implementation, to change the spec for the VM and language as they saw fit.
                    Both IBM and Redhat acquired the license. They are allowed to extend and modify the implementation but they are still not allowed to make implementations that don't support Java bytecode.

                    Please note the appeals court dug out the older cases as well. Including the case where table of contents of a book was proven to be copyrighted if you copied it exactly without valid reasons.

                    Comment


                    • #70
                      Google did not copy 97% of the 37 packages, so you might be able to point to 1 file, but that was corrected in later android versions, and doesn't matter. We're not going to agree on this, because you're stuck on old information in the case.

                      Taxonomy is irrelevant, the court calls it a command structure, and it is not SSO as defined by law. A book is offcourse different, the contents show creativity and I can read it anyway I want. A linkedlist can be implemented by a high school student, and a object oriented interpreter by a college student. Both have well defined meanings, and declarations that are at the heart of CS, something that a book's table of contents will never have. Comparing the two show how wrong the appeals court is. A language/standard library declaration is fair use, especially when you tell people implement the VM and language 100%, but if you do the same for the standard library, we'll sue you. The equivalent would be a book that has the chapters a,b,c,d,e,f.... or something equivalently low level. We're talking about a standard library.

                      Fair use is highly context dependent, and the district court threaded the needle, the appeals court didn't even try: https://www.copyright.gov/fair-use/more-info.html
                      ...This means that there is no formula to ensure that a predetermined percentage or amount of a work—or specific number of words, lines, pages, copies—may be used without permission.

                      Comment

                      Working...
                      X