saul goode at
@bkuhn, after listening to FaiF 0x44, it seems that you and I are not so far apart.
First, I should like to clarify what I mean(t) by an "API" in the context you presented of there being three things programmers think of when discussing APIs (the idea of the API, the implementation of the API, and the specification of the API). You further mention that the specification is comprised of the API's declarations and its documentation/descriptions. I am compelled to include that last delineation as it is the declarations of the API that I consider to "be" the API for purposes of deciding whether "API are copyrightable". In a Magrittian "Ceci n'est pas une pipe" sense the declarations are not the actual interface but the correspondence between the actual interface and its declarations is pretty much one-to-one -- the other things you mention are much more separated from the interface, and their copyrightability can likewise be considered separately.
Now regarding your challenge to point out where in the trial Google may have admitted to copying the APIs, I agree that Google did not come out and say they copied the declarations of the API (what I consider to be the API). Google's expert witness did concede, however, that the declarations were "word-for-word, symbol-by-symbol" identical and Judge Alsup's jury charge (quoted on your blog) states that "Google agrees that it uses the same names and declarations".
That of course does not answer your challenge directly; nonetheless, in copyright cases I am given to understand (IANAL) that once the plaintiff shows that the accused had access to the copyrighted work and further demonstrates a "probative similarity", the burden then shifts to the defendant to explain how that similarity arose independent of copying from Java. As you point, Google likely copied them from Harmony, but Oracle's claim is that Harmony was never licensed to release their code under the Apache License, and if Google copied from Harmony, and Harmony copied from Java, then the net effect was Google copying from Java.
My personal view is that Sun/Oracle, by failing to protest Harmony releases made under the Apache license, should create a strong laches defense for Google. However, that doesn't bear upon the issue of whether "APIs are copyrightable". Given the hypothetical you posed in your oggcast, had Google directly copied the API declarations from Java and that should be considered infringement, the only mechanism for that is some degree of copyright protection being obtained in API declarations.
Mike Linksvayer likes this.
I agree with you about the laches defense of Harmony, and yes, I do think Google got the things from Harmony.
Also, I'm told by Java experts that Google and Java are not word-for-word similar in that while they are identical by way of:
Type FunctionName(Type, Type)
the variable names of the arguments are different in many cases:
where Java might say:
int Compare(String left, String right)
Google's says something like:
int Compare(String s1, String s2)
Anyway, I do disagree that the API is just the function declarations. You need the semantics: the API must include something that explains the semantics to be an API.
Mike Linksvayer likes this.