4 ms·
APIs being copyrightable doesn't actually harm implementations of APIs that fall under fair use. (Fair use exemptions specifically apply to copyrighted things.)
by ocdtrekkie 6y ago
APIs being copyrightable doesn't actually harm implementations of APIs that fall under fair use. (Fair use exemptions specifically apply to copyrighted things.) Interoperability is fair use. And things like something being non-commercial, such as a lot of open source software, is a major factor in determining whether or not usage is fair. Things like WINE or NES emulators or the like would fall very comfortably into fair use.
It's nowhere near as world-ending as Google's public policy team would like you to believe. But given that Android is not fair use (it's not interoperable, they just wanted to glom on the popularity of the platform), it sucks for Google.
- binarybits 6y agoSorry, but this is not an accurate summary of the state of the law. Whether Android's implementation of Java was fair use is one of the questions the Supreme Court is considering. Google was absolutely trying to achieve interoperability with Java, so if Google loses it would make it more difficult for others to claim fair use. Fair use is complicated so others might succeed where Google failed, but a loss for Google would be bad news for interoperability generally.
- pizza234 6y ago> Google was absolutely trying to achieve interoperability with Java I don't think this is such an easy argument. Google's interest was ultimately the bottom line. Without discussing the copyrightability, from a strictly monetary perspective, APIs are product that, in this case, has a very high monetary value (market share == $$$), and Google chose it for this very specific reason (developers == market share == $$$). Again, I don't imply that copyrightability is good or bad, but the entire matter has been about money, and strictly from that perspective, ownership has a sense.
- nradov 6y agoI don't believe that Google was really trying to achieve interoperability. If it was then they would have passed the Java Technology Compatibility Kit (TCK) tests. Other companies did that and are legally in the clear for their Java implementations. Why didn't Google?
- ghaff 6y agoBecause they were too arrogant to do so? Note that Microsoft was eventually forced to make peace with Sun over Java after a long lawsuit.
- nradov 6y agoI'm not privy to Google's management thinking but I suspect they made that decision to save time and hit a market window. Android originally used the open source Apache Harmony Java implementation which didn't comply with the Sun (Oracle) Java license for the TCK. If Google had dropped Harmony they would have had to either write their own Java implementation from scratch or license one from another vendor like IBM. They had plenty of resources to pursue those other options but either one would have take more time and allowed Apple to build a lead in the smartphone market. So Google stuck with Harmony and now they're facing the legal consequences.
- curt15 6y ago>Interoperability is fair use. That seems incompatible with the text of Section 107, which includes the amount copied as a factor for determining fair use. The more compatible your implementation is, the more you have to copy, so the logical end of this reasoning is that Android's implementation of Java would be fair use if it had copied all of the API, not just a subset.
- AstralStorm 6y agoWhich it did under open license starting from OpenJDK 9. Oracle argues probably this has given Google an advantage, which is, in technical terms, bollocks, as Oracle was not making an operating system.
- garaetjjte 6y ago>And things like something being non-commercial, such as a lot of open source software, is a major factor in determining whether or not usage is fair. Why it should? It would mean that implementing commercial Java runtime without Oracle license is not possible?
- ocdtrekkie 6y agoWhether usage is commercial or not is a big part of the first factor in the fair use test: https://en.wikipedia.org/wiki/Fair_use#1._Purpose_and_character_of_the_use https://en.wikipedia.org/wiki/Fair_use#1._Purpose_and_charac... You could arguably implement Java without a license from Oracle provided you were using the GPL, as OpenJDK is released under the JDK, and presumably includes the entire Java API. The problem for Google, of course, is OEMs would've balked at being forced to open source all of their proprietary modifications to Android. Wikipedia says the OpenJDK was released in 2007, so Google could've legally used the Java API under GPL terms, but chose not to, and also chose not to pay for Java licensing.
- AstralStorm 6y agoOpenJDK is not released under GPL, but a much more permissive license.
- pabs3 6y agoThe OpenJDK license is GPLv2, with the ClassPath Exception: https://en.wikipedia.org/wiki/OpenJDK https://en.wikipedia.org/wiki/OpenJDK
- garaetjjte 6y ago>would've balked at being forced to open source all of their proprietary modifications to Android OpenJDK have linking exception, so it doesn't apply. In fact Android uses OpenJDK now. It also makes Oracle case looks phoney, suing Google for Java usage while having released freely available OpenJDK. But that's not the point, I think implementing API/ABI/protocols/whatever should be allowed whether or not vendor wants it. There are many reimplementations of competitors APIs, and ruling in favor of Oracle would basically break that. Under that interpretation Wine would be in danger too, as significant part of Wine development is commercial (by CodeWeavers making their CrossOver product).
- orangecat 6y agoThings like WINE or NES emulators or the like would fall very comfortably into fair use. That is not at all clear. But given that Android is not fair use (it's not interoperable How is it not? Lots of code written for the JVM will build and run unmodified on Android. Not 100%, but WINE isn't 100% compatibile either.
- badsectoracula 6y ago> Interoperability is fair use. What about improving the API? E.g. some languages may be mostly but not 100% compatible with existing languages and provide more or less the same API but not be 100% the same - both the in the runtime library (API) and the language itself. For example Free Pascal is mostly compatible with Delphi but not the same and its runtime library is mostly the same as Delphi but also not the same.
- jacobr1 6y agoCopyright already accounts for "derivatives." The GPL uses this to prevent proprietary forks for example.