Why does fair use for interoperability require perfect interoperability? That seems like a totally unreasonable bar. It would mean that making some fraction of an API ridiculously complex to implement a way from stopping anyone from implementing the rest of it.
From the UI perspective, there is actually a reasonable justification for limiting compatibility - but they went far further than what was reasonable.
They did this to prevent applications executable on any JVM from running on Android.
I think that underscores the point? That even legitimate JVM versions were not substitutable for each other.
No, sir, I don't like it.
I think that the system desperately needs to more actively punish those who abuse the legal system.
If a case is found to be frivolous I belief that the plaintiff should have to pay both fines and damages. The plaintiff's lawyers should also be punished - warnings, fines and eventual disbarment.
I'd prefer it if it didn't to come to that, and they lack the budget to do all that needs to be done, the system simply lacks enough good operators to act as a counterpoint to those operating in bad faith.
I think when you need that counterpoint at all, it's the system as a whole that needs to change. But this is getting way off topic.
You cannot make good law on this basis. Requiring compliance to a compatibility standard written by Oracle would give Oracle all the power, and render that kind of fair use exception effectively impossible to exercise. There's no good way to define what kind and degree of interoperability should qualify. The only regulatory option that doesn't trivially collapse into a complete win for Oracle is for API copyrights to not exist in the first place.
Not all of which will be Oracle certified, I would argue that each and every one of them should be free to exist regardless of that fact, on the grounds of fair use.
The courts have never been black and white entities - and there has long existed the legal notions of best and reasonable efforts. Which I think should be the standard by which a competing implementations interoperability should be judged.
This also ties in to another part of another response that I had not addressed - the reasonable efforts standard would protect against being required to implement needlessly complex parts of API.
In this instance, I believe both parties to be operating in bad faith.
My position is relatively simple, and despite the hate it seems to have inspired I stand by it: A complex API is a creative work that deserves the protections of copyright, fair use limitations should be applicable based upon a need for the existence of interoperable software.
The problem is a system that rewards bad actors - and yes Oracle is one of those bad actors.
The solution is to improve the system to disincentivise bad actors while continuing to provide time limited protections to those operating in good faith.
As I've mentioned in other comments best and reasonable efforts are standards already used in the legal system - and there is no reason that those standards could not be applied to reimplementation efforts.
All of the arguments that I've seen against what I'm suggesting are based around abuse of the system by bad faith actors - I think that they can be disincentivised without tearing it all down.
The legal system has largely failed in constraining copyright and patent abuse, and indeed has been key in massively expanding their reach (See "business process" patents and software patents, as well as stuff like the DMCA to shut down basically anything that involves interfacing with things).
API copyright is absolutely a _new_ concept invented whole cloth by the court, what advantage do you think it brings, vs the heavy tax on literally every piece of software ever created it imposes (after all CPU instruction sets are APIs).
You have repeatedly failed to present any actual advantage it provides beyond "it was hard work". What new APIs are going to exist because of this new law, that did not exist beforehand? What is the point of even trying to design a system where supposedly only "good faith" is rewarded? (good luck with that one)
Copyright is not about ownership because you created something, it is about benefit to society, that's why it expires and the public domain exists and also does not apply to all works.
I hate to say it, but I'm with Oracle on this - but not for any reason that I've seen mentioned (so I guess I want neither party to win).
(Notwithstanding Sun's internal excitement at Google's use of Java prior to the Oracle acquisition.)
There is a justification on the grounds of obviousness for certain method headers to be uncopyrightable.
But for inobvious and complicated method headers I do not believe that the restriction should prevent the API from being subject to copyright, but rather to limit the applicability of the copyright for fair use purposes.
Specifically I believe the copyrights on such interfaces should not be applicable where interoperability is the justification for the reuse of the interface.
Google broke compatibility with Java. I do not believe that Google is using the API under fair use constraints.
I'm not sure how the law operates here - but I believe that the precedent set by a Google victory would be more damaging to my position. I'd like to see Google lose, and for someone later - operating with cross-compatibility in mind - to present and win a fair use case for reuse of an API.