Stakes Are High in Oracle v. Google, But the Public Has Already Lost
eff.org
eff.org
Reminds me of the story with Suse Linux paying Microsft protection money for allegedly infringing on their patents.
Clearly you have never dealt with Oracle Licensing.....
Something along the lines of:
You can use this software, freely distribute it yada yada as long as you do not "pull an Oracle".
If this style of licensing became so ubiquitous that essentially everyone in the future demanded it, then I guess it could make sense.
If you thought software patents were bad, you ain't seen nothing yet.
Software that implements other party's APIs might be obligated to agree to a licensing agreement - projects like Wine, Samba and various 3rd-party emulators. Ironically, Microsoft's discontinued, Android-compatible project Astoria would be exposed (to both Google and Oracle) - Microsoft submitted an amicus in the first Oracle v Google case supporting Oracle's cause. I am not sure if Xamarin- and Cordova-/Phonegap-type projects would be subject to Apple's lawsuits.
I also suspect web-APIs might also become risky, making it possibly for Amazon to sue you for providing AWS-compatible APIs[1] for example
Disclamer: I am not a lawyer, this is just my layman's perspective.
It's far, far larger than that. Netscape implemented the Blink tag first and other browsers followed suit. Now Netscape (or whoever owns that copyright) can sue all browsers that implement the Blink tag.
Also, what happens if another circuit rules the opposite? Can we start a case in a circuit without incompetent judges?
Furthermore, if these judges are elected, they need to be VOTED OUT
With the high court refusing to address the issue, we will never see another court get one of these cases.
It appears they don't want Google to use the fair use argument. Okay. But what else are they recommending?
The main problem here is that many countries do not have fair use! So if the legal interpretation that APIs are copyrighted spreads, it doesn't matter if it is fair use in the US. Even if countries specifically enact laws to exclude APIs from copyright law, you can bet that there will be huge pressure from the US to include it.
The Java trap after all -- only worse. We can't even reimplement it. We can't even implement to specs unless there is a license agreement (and we thought that patents were bad...)! I hate to be Chicken Little, but the sky does seem to be moving ominously quickly in the downward direction.
Just try to imagine the history of computing if this doctrine had always existed. To give just 2 high-impact examples: PC clones wouldn't have been allowed to implement IBMs BIOS APIs, Microsoft wouldn't have been allowed to implement a Javascript capable browser to compete with Netscape.
It's an alternate history that would have been so different it would be unrecognizable to us.
[1] Although that's arguably a much simpler API where a fair use defense would be more likely to succeeds.
Not to say there's no creativity there, there certainly is. But that creativity exists in the ideas and solutions used to solve technical problems, which is then the realm of patents.
Google tries to conflate these two issues. Programmers may find it reasonable because of course binary code seems equivalent to program code, the former being deterministically derived from the latter. But from a copyright perspective they are very different. Binaries enjoy copyright protection as they are "derived" from copyright-eligible software code, but Google is not accused of copying binary code here, rather textual APIs that they did not clean room reverse.
Unfortunately tech media and organizations like the EFF of course portray it differently because they have an agenda, and most people accept it without critical thought.
So, assuming the copyrightability of APIs in the first place, an ABI should get as much protection as a textual API. The problem is that everybody had assumed until this ruling was that while APIs, ABIs and protocols were definitely an expression of creativity, they didn't reach the bar for copyright protection, especially when contrasted with the legally recognized right of reverse engineering for interoperability.
IANAL, of course.
Note that if only ABI compatibility was required, Google could very well have defined their own API. For instance, they could have defined an API called "openFile()" that compiles down to the exact byte code as "new java.io.File()". But they were not after binary interoperability, they were after the Java developer base Sun had spent billions building.
When they don't, I'm not happy, so I hope Oracle wins. But Google will win, not because they are right. Oracle's lawyers are idiots as they can't show it's same. For example run apache http client jar on android and java. It's same. Idiots.
And would you want Google to violate GPL?
If Oracle (or anyone) can copyright an API then we might as well pack up and go home. By that measure, you make a new JavaScript library for LeftPad and copyright the API along with the source. Now people start using your library. But it's inefficient. So I come along and clone it, make it faster, better, stronger, the $6 million LeftPad-compatible clone. You can sue me for violating your API copyright.
Welcome to the end.
The sky is not falling.
The benefit of a library, fundamentally, is that any library with a compatible interface (described by the API) can be dropped in and used in place of another library without modification to the calling code. Cloning functionality is not the same thing if we have to put a prefix: thrawaykf05s_leftPad or Jtsummers_leftPad in front of everything.
In theory, as a developer using dynamically linked libraries, I can drop in any version of a library without recompiling. As a user that means you can drop in AMD's OpenGL implementation or a GPL implementation or Nvidia's and see no difference in how you launch your program (though you'd see a difference in performance and perhaps behavior).
(OpenGL isn't a great example because the consortium running it won't do this, but it is a great example because there are many implementations.)
Now, as a developer you have to develop 100 code paths to handle each potential OpenGL implementation. Or maybe some nice person does that for you with a wrapper library. But now that wrapper library API is also copyrighted and it's out of date. So another API comes into existence that wraps it AND adds new APIs to its backend. That'd be really fucking stupid.
This case is not, of course, about APIs. It's because Sun created this enormously valuable Java developer base, and Google totally free-loaded on that to bootstrap Android. The API just happens to be the means, and hence the crux of the lawsuit.
Clearly what they did is read how the code in question works, then stole the idea to do it their way. They were looking at the source code! They did not start w/ API, there is no clean room argument that can stand ground to reason. I blame the Oracle lawyers for loosing.