6 ms·
...I don't really see what the difference is. In both cases Google would end up with exactly the same API specification. There's no room for them to come up wit
by Ajedi32 9y ago
...I don't really see what the difference is. In both cases Google would end up with exactly the same API specification. There's no room for them to come up with an "original" API, because if the API they end up with is not an _exact copy_ of Oracle's, then software written for Oracle's Java implementation would not be compatible with Google's Java implementation (and vice-versa).
- treis 9y agoIt is effectively impossible to take something as complex as the Java API, do black box testing, and come up with an exact copy. Google's API being slightly different is ultimately the point. The process yields a new original work even if it ends up being 99% the same as Oracle's API.
- Ajedi32 9y agoThe 1% that's different being... what? Bugs? Like I said, any differences in Google's version of the API would, by definition, be interoperability problems that need to be corrected. To make that more concrete: if Oracle's string concatenation function is called `String.concat` and Google's is called `String.append`, then code which calls `String.concat` isn't going to work with Google's implementation, and code which calls `String.append` isn't going to work with Oracle's implementation. It doesn't matter if the APIs are "similar" or not, they have to be _identical_ in order for code written for one system to be interoperable with the other.
- treis 9y agoThe 1% will be things like String.methodNoOneUses or ObscureClass. Even if they aren't identical they will be close enough for 99.999% of the programs people write.
- foota 9y agoHow do you propose they do this black box testing?
- treis 9y agoWrite code, run it through the compiler and create specifications based on what you observe.
- monocasa 9y agoAnd once again, you'd end up in exactly this legal situation since the names are visible via reflection, but somehow aren't functional as viewed by the court. That's one of the most important issues with this ruling; it effectively bans even black box reimplementations.
- hcknwscommenter 9y agoIt is not copyrights problem that obeying the law might be difficult.
- michaelmrose 9y agoSo bugs nobody files then? Why do you think this is a useful distinction. Either APIs aren't copyrightable or we should pass a law that says they aren't immediately.
- hcknwscommenter 9y agoBecause? You want the world to work that way? Well, it doesn't. APIs are copyrightable.
- dragonwriter 9y agoAPIs are copyrightable under a CAFC decision notionally applying 9th Circuit law in this case which the Supreme Court declined to review because, pending the resolution of other issues, they viewed it as not ripe for review. Since this is not within the CAFCs special subject-matter domain (patents or any of the other areas which bring a case within it's jurisdiction; this case is at CAFC because to once had patent claims even though they are no longer live), this ruling doesn't seem to be binding precedent on any lower court. So, it's “law” in only a very weak and tenuous sense.
- hcknwscommenter 9y agoWell, I would love to hear about a circuit court case that says otherwise. Seriously, I have no idea, but I do not believe such exists.
- michaelmrose 9y agoBasically it's not the law yet and may never be the law.
- hcknwscommenter 9y agoUhh. No. At least under any interpretation I know about what the law "is."
- hcknwscommenter 9y agoSo? The proper response would have been for Google to either pay the license or develop their own write once use anywhere software. Instead, the took the shortcut of copying someone's hard work.
- Ajedi32 9y agoBy that logic WINE shouldn't be allowed to exist either, since it copies Windows' API. Copying APIs is strictly necessary for interoperability. Allowing APIs to be copyrightable encourages monopolies by legally prohibiting newcomers' software from being compatible with their competition. It'd be like if Microsoft were allowed to sue Google Docs and Libreoffice for making their software able to open Word documents. (Except in this case the "documents" are source code.)
- hcknwscommenter 9y agoI'm not sure how WINE works. But I just don't see that being the case. All WINE has to do is capture the API calls and transform them into a different WINE API call that ends up performing the same function and then proceed with zero copyright issues.
- lmm 9y ago> All WINE has to do is capture the API calls and transform them into a different WINE API call that ends up performing the same function How can it "capture" the calls without knowing what it's capturing? It has to know that there's a windows API function called "CreateWindowEx" that takes particular parameters, otherwise how could it possibly "translate" it? And the fact that CreateWindowEx takes particular parameters is precisely the API. Of course the implementation of that API will be different in WINE, just as Google's implementations of the Java API are different from Sun's (aside from the 9-line rangeCheck which is a separate issue). In fact it would be fair to describe what Android does as "capture the API calls and transform them into a different Dalvik API call that ends up performing the same function".
- Ajedi32 9y ago