7 ms·
I've read all the Oracle v. Google decisions, with a strong command of software and IP, and I side 100% with Oracle. It is not a question of whether the world w
by thejerz 8y ago
I've read all the Oracle v. Google decisions, with a strong command of software and IP, and I side 100% with Oracle. It is not a question of whether the world would be better if API's were open-sourced (in re: EFF amicus brief), or whether Mr. Ellison needs a new yacht (in re: comments on HN), or whether copyrights are a good thing (also re: HN). The question is whether the copyright of the Java API is enforceable.
Here's the bottom line: Google didn't have to call it's resizable array java.util.ArrayList<E> -- it could have made android.data.ResizableArray<E>. But they didn't. Google copied the method signatures, and more importantly their organization into packages, to avoid the "drudgery" of defining their own original API. While a function that finds the minimum of two numbers -- int min(int a, int b) -- can arguably only be written one way and may not be enforcable, the issue isn't any one method's signature. The issue is that the Java API is an original, curated taxonomy of classes, methods, and interfaces, organized by authors. And taxonomies are protected under copyright. In the case of the Java API, the whole API taxonomy is greater than the sum of its method signature parts. Oracle owns that taxonomy.
- deleted 8y ago[deleted]
- tux1968 8y agoNaive question, isn't that API available for anyone including Google to duplicate or use directly by the nature of the Java open source license?
- cft 8y agoJava has no open source license
- tux1968 8y agoYour answer surprised me and I went to do a bit of reading. Found this quote: > Since this article was first published, Sun (now part of Oracle) has relicensed most of its Java platform reference implementation under the GNU General Public License, and there is now a free development environment for Java. Thus, the Java language as such is no longer a trap. From: http://www.gnu.org/philosophy/java-trap.html http://www.gnu.org/philosophy/java-trap.html So it looks like at least older versions of Java were under the GPL. Apparently you can't use the name "Java" without passing a conformation testing suite, but you should be okay as long as you didn't call it Java, (say calling it Android). Or is this outdated/incorrect information?
- cft 8y agoOh, I was wrongly thinking that the VM was still not opensourced. Thanks. Now I am likewise confused: how can it be copyrighted if it's been open sourced?
- peeters 8y agoOpen source licenses are enforced by copyright; without owning the copyright of a work there's not much you are able to license with respect to copying. There's a reason most license files out there start with "(c) 2019 <Authors>". The opposite of a copyrighted work is not an open sourced work: it's a work in the public domain.
- cft 8y agoSo that would mean that Android would have to be under GPL, right? But what damages are they taking about? GPL fines because Android isn't GPL?
- jabl 8y agoAFAIK Android originally didn't use OpenJDK, but rather Apache Harmony, which is an IBM reimplementation of the Java JDK. So in that sense maybe Oracle does have a point (if API's are deemed to be copyrightable). I think Android has since switched to OpenJDK, so it seems to me what Oracle and Google are arguing about is whether Google owes Oracle some damages for their previous use of Harmony. And of course, the lawsuit could have larger repercussions as well, if API's are deemed to be copyrightable.
- wtallis 8y ago> So that would mean that Android would have to be under GPL, right? That kind of depends on whether you can apply a different license to an API and its implementation. There's not really any precedent for that kind of question, because it presupposes the validity of a kind of copyright that the industry has grown up assuming is not valid.
- meddlepal 8y agoUh OpenJDK which is the reference implementation is GPL w/ Classpath exception. https://openjdk.java.net/legal/gplv2+ce.html https://openjdk.java.net/legal/gplv2+ce.html
- fxfan 8y agoWell said. There is a lot of hard-work that goes in defining the right API. Question for you since you sound knowledgeable: If Oracle wins- can Linux in some way enforce this on Microsoft given Microsoft's work on WSL? Or is that applicable only where there is a taxonomy as you pointed out? My understanding from fosspatents is that it doesn't specifically have to be a taxonomy and even a flat API can be copyrighted (which I agree with since there is work that goes in it...) Answering it from cwyer's comment on this page- doesn't apply to fair use so WSL is fine. I would urge people who are looking to get the other side of this argument (pro-Oracle) to also read fosspatents.com. That is a sensationalist blog but the facts presented are very true.
- icebraining 8y ago> There is a lot of hard-work that goes in defining the right API. Telephone directories also take quite a bit of work to compile, yet (per Feist) can't be copyrighted.
- elygre 8y agoTelephone directories may take quite a bit of work to compile, but perhaps more labor than creativity. I can't off hand think of too many ways to organize such a directory. I can immediately think of many ways to do dates, and so can many java programmers (think the Date api, the Calendar Api, JodaTime, JSR310). And having "new Date(1,1,1)" mean "the first day of the second month of the year onethousandninehundredandone" surely requires a bit of creative thinking.
- threatofrain 8y agoIf you're saying the creative value is in the original curation of classes, methods, and interfaces, and that Google could've permissibly rewritten everything with alternative names, that still seems to copy the "soul" of the creative work. Personally I'm with the perspective that API which has informally become an industry standard should weaken copyright protection.
- sangnoir 8y agoGoogle didn't reimplement Java from scratch for Android. They adopted Apache Harmony which was the first open source Java implementation - so blame IBM for copying method signatures. Sun refused to bless Harmony as an official Java (or rather, refused to provide the TCK required to certify Harmony) - so you can understand why signatures and packages were identical: because Harmony was always meant to be fully compatible with Java. Don't let any animus towards Google blind you to the real harm this will ruling will cause if it stands: say goodbye to any S3-compatible APIs, and good luck to WINE and Proton and say hello to lock-in and higher switching costs.
- Illniyar 8y agoThat's not the all story. Sun/Oracle refused to provide the TCK with a license that would allow it to be used in mobile. They did agree to allow it to be a desktop/server only solution. However the knowledge that Java isn't open-source compatible in mobile environments was known before Google started building their own.
- kodablah 8y agoIt should also be noted that now the policy is to not grant a TCK to any open source implementation that is not an OpenJDK derivative.
- lucio 8y agoIf that holds. Intel will sue AMD into the ground. "The 8086 API and instruction set, is an original, curated taxonomy of classes, methods, and interfaces, organized by authors"
- hajile 8y agoThere's a cross-license agreement in place there that would certainly cover such case -- even if they were ruled to be implicit.
- stingraycharles 8y agoThis is important: this shows that AMD and Intel agree that these instruction sets are indeed protected and should be licensed.
- ghaff 8y agoInterfaces in general have been protected. Certainly mechanical interfaces can be. But it's usually protected through patents in the physical world.
- pgeorgi 8y agoAnd yet there's fx!32 (WinNT for Alpha), x86emu (of XFree86), Bochs, VMware, parallels, Plex86, QEMU plus numerous other implementations of i386+ in software (one of them shipping in Windows 7 and newer to run PCI Option ROMs) where nobody seems to care too much. OTOH, ARM was rather adamant about not wanting to see ARM instruction set implementations in software for a long time. Either they saw the value in these emulators existing so that changed their minds - or somebody didn't let themselves be bullied into compliance: just because a company threatens you with lawyers doesn't mean they actually have a case.
- nimrody 8y agoThey did sue. But since AMD was originally a licensed second source for 8086 -- they failed (https://en.wikipedia.org/wiki/Second_source https://en.wikipedia.org/wiki/Second_source)
- shmerl 8y agoAPIs aren't functions, they are interfaces. No matter how original they are or how much you pile them together, they aren't supposed to be copyrightable because they are too abstract.
- rizalp 8y ago`java.util.ArrayList<E>` is not an abstract class, I don't know what you're talking about
- cft 8y agoThen wait till Unix rightsholders enforce the copyright on Linux API. This ruling will destroy software engineering in the United States.
- hajile 8y agoIf I take a book and change the names of all the characters, I will still get sued. Renaming APIs and making a derived work is not in any way certain to prevent lawsuits like this one. All SQL derives from IBM. Can they sue everyone on the planet? What about the guys who made B or C, can they sue everyone? Where does the insanity stop?
- peeters 8y ago> If I take a book and change the names of all the characters, I will still get sued. Renaming APIs and making a derived work is not in any way certain to prevent lawsuits like this one. This is not an apt analogy, because this isn't what happened. Google wrote all of the implementations from scratch: the only thing they copied was the character names (and potentially one tiny function used for sorting). This is more akin to taking the Wikipedia summary of the plot of a book and writing a new book based on that summary.
- deleted 8y ago[deleted]
- navlelo 8y agoAs the comment above states, it was based on Apache Harmony not written from scratch.
- icebraining 8y agoBut Apache Harmony isn't owned by Oracle; for the purpose, it doesn't matter if Google wrote it themselves or got someone else to write it.
- Twisell 8y agoThis actually the very analogy used by Oracle lawyer that won the appeal.
- petersellers 8y agoHonest question - where does one draw the line between what is protected under copyright and what isn't? You mentioned "taxonomies" - what does that mean exactly? Does a single package with one class and one method count? What about two?
- AnthonyMouse 8y agoThe place the line ought to be is where there is only one way to do a particular thing. If the function signature has to be a specific one to achieve compatibility then it isn't a creative act to choose it, it's chosen for you as a functional requirement. You may not even want the interface to look like that, but it's the only way to achieve compatibility. The implementations are something else entirely, specifically because there are a thousand ways to implement the same function that are all functionally equivalent but nonetheless have different code. It's not a matter of how long it is, it's a matter of whether there is another way to do it.
- innagadadavida 8y agoGoogle should just copy the iOS APIs! This will make app development much much easier for all developers and will instantly get all the high quality iOS apps onto Android. Apple will only thank them for it.
- peeters 8y ago> Here's the bottom line: Google didn't have to call it's resizable array java.util.ArrayList<E> -- it could have made android.data.ResizableArray<E>. But they didn't. Google copied the method signatures, and more importantly their organization into packages, to avoid the "drudgery" of defining their own original API. That's one explanation of their motive, but it's not the only one and it's not the one they claim. The one they claim is that they wanted their platform to be compatible with existing software written for the Java platform. And along with it, with existing software developers writing on the Java platform. From that perspective it's not a choice: you can't use a different standard library API and have Java software run on your platform, just like you can't have a different instruction set and have a compiled executable work on your CPU, just like you can't sell an appliance with a different plug and have it work in a standard household outlet.
- fsloth 8y agoWhat? Can you repeat this? A taxonomy is copyrightable? What other examples of copyrighted taxonomies are there?