3 ms·
I’m not talking about rangeCheck, I’m talking about the code they took from Apache Harmony (37 APIs, something like 12kloc) and the corresponding structure, seq
by jolux 6y ago
I’m not talking about rangeCheck, I’m talking about the code they took from Apache Harmony (37 APIs, something like 12kloc) and the corresponding structure, sequence, and organization of the Java APIs. I don’t feel like relitigating this either as the courts have already decided this was infringing. Also, the de minimis was overturned on appeal.
> Writing a one time migration tool however does involve implementing a version of the API
No, it doesn’t. It involves calling the API, and translating the data structures it returns to another API. If they provided a function identical to one in the Oracle API that did different things in Postgres, that might be different.
>I think the onus is on you to make a legal argument for why it is of importance
I’m not a lawyer so any legal argument I make is unlikely to hold water. Instead I will merely suggest that if this project reused 12,000 lines of SQL included in Oracle Database that would probably constitute infringement, but I don’t believe it does include that.
> Suppose, for example, Google had implemented there vm by creating a one time translation tool that translated java std lib apis to an internal google std lib apis in the bytecode, would that have changed the suit?
I’m not a lawyer, I have no idea and I find counterfactuals mostly uninteresting, especially when the exact details of Oracle vs Google are so frequently glossed over.
- gpm 6y ago> I’m talking about the code they took from Apache Harmony Which Oracle did not own and which Google used with a valid (up to the Apache Harmony code not being infringing by virtue of copying the API) license, I've literally never seen any suggestion that if Google had written this code themselves anything would have changed. > Also, the de minimis was overturned on appeal. Ah, you're right. Either way it's a separate question from the api portion of the case.
- jolux 6y ago> I've literally never seen any suggestion that if Google had written this code themselves anything would have changed. That’s not what I’m suggesting. If Google had written it themselves it would have had to have been identical, and that is why it’s infringement. The code is the same in the Android SDK as it is in Harmony and Java SE. It doesn’t matter where they got it from, it’s copyrighted, and the copyright belongs to Oracle. I’m no fan of Oracle, but I also believe that Google has a history of playing fast and loose with copying other people’s technologies and asking for forgiveness later. My overall opinion about the consequences of that case are similar to those expressed in this article: https://www.wired.com/insights/2014/05/non-apocalypse-apis-copyright-fair-use/ https://www.wired.com/insights/2014/05/non-apocalypse-apis-c...
- gpm 6y ago> which were taken from Apache Harmony, an open-source cleanroom Java implementation developed by the Apache Software Foundation (ASF) > - https://en.wikipedia.org/wiki/Google_v._Oracle_America https://en.wikipedia.org/wiki/Google_v._Oracle_America In what world does Oracle own the copyright to this code? It might (if you buy Oracle's api argument) be an illegal derivative work of Oracle's api, but even that doesn't make them own it. I'm also very curious to see a source that this is the same code as in Java SE, that seems highly unlikely...
- jolux 6y agoIt’s an illegal derivative. Sun never granted a license. And of course the interface declaring code will be the same, otherwise the types would be incompatible and the documentation would be confusing: http://www.fosspatents.com/2012/04/oracle-asks-court-to-clear-up-potential.html http://www.fosspatents.com/2012/04/oracle-asks-court-to-clea...
- wbl 6y agoHistorically functionally required aspects of a work have not been considered subject to copyright. Oracle's position is contrary to a long history of reimplementation of APIs.
- jolux 6y agoIt’s not functionally required because there are multiple (infinite, even) ways of implementing the functionality of most APIs, and the specific choice of function names and types and such chosen is itself a creative process. This was the ruling the appeals court came to.
- wbl 6y agoIf I want to reimplement POSIX I need creat, open, ioctl, etc. Otherwise it just doesn't work!