Earlier quoted context omitted.
Are you referring to the S3 API? I believe the S3 API is explicitly licensed under Apache. Disclaimer: I was previously employed by Amazon and currently Google. Opinions are my own, I'm not a lawyer, etc.
And OpenJDK is GPLv2 with a classpath exception. So why is Google unable to use Java's API here while Oracle able to use Amazon's API?
Google’s copying of the Java SE API was fair use [pdf]
321–330 of 965 posts
Re: Google’s copying of the Java SE API was fair use [pdf]
#322Earlier quoted context omitted.
Why? It wasn’t about whether APIs are under copyright (they are), but whether this particular case constitutes fair use. I think the effect of this decision was way overblown.
If this wasn't fair use, nothing of any substantial value could be considered fair use.
Re: Google’s copying of the Java SE API was fair use [pdf]
#323The interesting question is how broad this fair use ruling is. According to the Supreme Court's other fair use cases, fair use is highly fact-specific and therefore case-specific. What kinds of actions and motivations by Google could have led to a determination that the use was not fair? Or is Embrace/Extend/Extinguish as practiced by the big tech companies now always protected by fair use?
Re: Google’s copying of the Java SE API was fair use [pdf]
#324Earlier quoted context omitted.
I had the opportunity once to talk to an IP lawyer for Oracle and brought this up. I specifically brought up the S3 compatibility of their cloud storage among other instances. His reply was “without admitting anything specific, how do you know we haven’t purchased private licenses for anything you just mentioned?”
It's still silly. Imagine if you needed to purchase a license for the shape of plug that fits inside a standard plug socket - to build any appliance.
Re: Google’s copying of the Java SE API was fair use [pdf]
#325For better or worse, the same arguments ( "API is copyrightable" ) is what was used in the past to prevent 98's Microsoft from doing embrace-extend-extinguish to Java with their "JavaVM with P/Invoke'd Win32 API". The idea in that case was that when you try to implement something identical to the Java language and standard library, it doesn't matter if you call it Java or "Visual J++"; you are still implementing Java…
I led the development of a large GUI app using J++ in the late 90s. This fear you describe is unwarranted. It's worth pointing out that the list of examples of "Embrace, Extend, Extinguish" on the wikipedia page of that name [1] contains zero actual successful examples of it working. Perhaps you have noticed that you aren't reading this page in an ActiveX control. This is a boogeyman. Don't be afraid of it. [1]: http…
Looks like the successful examples were successful enough for everybody to forget about the originals. There is basically no other YP/Kerberos/SMB implementation in use that didn't follow from the MS copy. Netscape was successfully lead to bankruptcy. All the EEE days platform independent dev-tools were successfully lead to bankruptcy. All the EEE days competing office suites were successfully lead to bankruptcy...
Re: Google’s copying of the Java SE API was fair use [pdf]
#326From the dissent: > The Copyright Act expressly protects computer code. It recognizes that a “computer program” is protected by copyright... And it defines “‘computer program’” as “a set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result.” §101. That definition clearly covers declaring code—sets of statements that indirectly perform computer function…
This standard doesn't really make sense, and the legal standard says nothing about executability. What about programs with external dependencies, or a code snippet? Those won't necessarily be executable in a self-contained sandbox, but I'd certainly consider them computer programs.
Also, per Thomas's dissent:
> The majority also belittles declaring code by suggesting it is simply away to organize implementing code. Not so. Declaring code defines subprograms of implementing code, including by controlling what inputs they can process. Similarly, the majority is wrong to suggest that the purpose of declaring code is to connect pre-existing method calls to implementing code. Declaring code creates the method calls.
He clearly has a much better understanding of APIs than some software engineers I've worked with.
Re: Google’s copying of the Java SE API was fair use [pdf]
#327> "Google copied approximately 11,500 lines of declaring code from the API, which amounts to virtually all the declaring code needed to call up hundreds of different tasks. Those 11,500 lines, however, are only 0.4 percent of the entire API at issue, which consists of 2.86 million total lines. In considering “the amount and substantiality of the portion used” in this case, the 11,500 lines of code should be viewed as…
So if I copy the entire A volume of Encyclopedia Britannica, but leave B-Z alone, I'm good?
Re: Google’s copying of the Java SE API was fair use [pdf]
#328Although I applaud the effect of this decision, I can't help but agree with Clarence Thomas that the reasoning behind it is not sound. It waffles back and forth between arguments for fair use and arguments that APIs are not (or at least should not be) copyrightable in the first place. You can't have it both ways. If APIs are copyrightable (and a plain reading of the text of the law appears to indicate that they are)…
I think reasonable people can agree with Justice Thomas on this (sidebar: this is why I love reading SCOTUS rulings - they're generally wise people and both the majority and dissent sides are usually reasonable takes). The tests of "is it transformative" and "how much was taken" are probably the most subjective tests in the copyright precedent.
Re: Google’s copying of the Java SE API was fair use [pdf]
#329Earlier quoted context omitted.
At least in the US
US copyright law and interpretation tends to get exported through trade deals and other forms of political and economic pressure.
Re: Google’s copying of the Java SE API was fair use [pdf]
#330For better or worse, the same arguments ( "API is copyrightable" ) is what was used in the past to prevent 98's Microsoft from doing embrace-extend-extinguish to Java with their "JavaVM with P/Invoke'd Win32 API". The idea in that case was that when you try to implement something identical to the Java language and standard library, it doesn't matter if you call it Java or "Visual J++"; you are still implementing Java…
I led the development of a large GUI app using J++ in the late 90s. This fear you describe is unwarranted. It's worth pointing out that the list of examples of "Embrace, Extend, Extinguish" on the wikipedia page of that name [1] contains zero actual successful examples of it working. Perhaps you have noticed that you aren't reading this page in an ActiveX control. This is a boogeyman. Don't be afraid of it. [1]: http…