6 ms·
> If Oracle ultimately wins, it seems like millions of programmers will have to reach for a thesaurus to find synonyms to name functions. We'll have to waste br
by AnIdiotOnTheNet 6y ago
> If Oracle ultimately wins, it seems like millions of programmers will have to reach for a thesaurus to find synonyms to name functions. We'll have to waste brain cycles coming up and alternative spellings of methods to stay away from copyright infringement.
It's worse than that isn't it? Naming is how you link things. What happens to WINE if it is illegal to use the same names Kernel32 does?
- Wowfunhappy 6y agoFrom everything I've read, Wine would quite clearly be illegal if the court rules in favor of Oracle. I am very worried about this case.
- Spivak 6y agoI don't think it would be infringement. The main difference between WINE and Android is where the interoperability integration points are. WINE is using the Windows names for the purposes of allowing Windows programs to run. This is a case where a judge would easily grant fair-use because you have to use the API surface area to provide compatibility for existing programs. Android is using the Java names for the purposes of allowing existing Java developers to be productive, not so that existing Java programs can run.
- jasode 6y ago>I don't think it would be infringement. The main difference between WINE and Android is where the interoperability integration points are. [...] Android is using the Java names for the purposes of allowing existing Java developers to be _productive_, not so that existing Java programs can run. >Since Oracle's claim is that Google's use of the Java APIs wasn't to provide compatibility to existing software written in Java but to have a _familiar_ language for Java developers it becomes a novel but normal copyright case. You're making a distinction between "interopability" and "end user familiarity". But Lotus also sued Borland on the basis of "familiarity" of the menu "names and structure" and they lost. The Supreme Court's 4-4 split decision left the lower appeals court's ruling intact. https://en.wikipedia.org/wiki/Lotus_Dev._Corp._v._Borland_Int%27l,_Inc.#Background_information https://en.wikipedia.org/wiki/Lotus_Dev._Corp._v._Borland_In...
- dontblink 6y agoYou are making a distinction when there isn't one from the legal opinion perspective.
- simiones 6y agoThere is actually, and the court argued as such: if Android had been compatible with Java programs, Google could have claimed a fair-use exemption. Since Android can't run many Java programs, by design, they can't claim such an exemption. WINE could very likely win a legal battle through claiming a fair-use exemption (of course, if the case fails, they wouldn't have to go to court at all).
- Wowfunhappy 6y agoWhy is the distinction between "runs with zero changes" and "runs with minimal changes"—or even just "runs with fewer changes"—so critical? Where is the line? Is Android "compatible" with Java programs if those programs need to be recompiled first, but no source edits are necessary? What if source edits are necessary, but can be automated? What if recompiling isn't necessary, but you need to hex edit the binary? "Compatibility" is a spectrum, and I'd say Android falls within that range.
- Spivak 6y agoBecause the actual implementation isn't what the courts are looking for. This is a case about Google's intention for copying the Java API. Oracle is claiming that Google copied their API because it was easier than designing a new language; Google is claiming that they did it for interoperability reasons. There is no distinction between the two because these things are presented as evidence of Google's intent, it's not proof. There's no line. Google's case would be much stronger is Android-Java could run most Java software unmodified but it doesn't mean they'll lose just because it's not true.
- Wowfunhappy 6y agoThanks, that's interesting! It seems reasonable—if Google was explicitly trying to enable compatibility, that should be allowed, whereas if they were just trying to save a buck, that should be illegal. Of course, in reality Google's decision was probably a little of both, right? They selected a technology based on a wide range of factors, including development costs and compatibility. I'm still concerned that a decision in Oracle's favor would have a massive chilling effect on everyone else. All companies want to limit their potential liabilities. How can you prove in advance that you selected a language or API for the sake of compatibility, even when that is in fact the driving factor?
- Eyas 6y agoIt's not just about "developer interoperability" vs "program interoprability". Implementing Java APIs means that entire libraries can run. Sure you might not be able to take a legacy SWING Windows Java app and run it on android, but you can run entire libraries in your android app. It absolutely _is_ about interoperability in both cases. Perhaps to varying degrees
- orangecat 6y agoCorrect, and I was always surprised that Google didn't argue this point more. In my Android apps I've used Java libraries that were created years before Android even existed, and they work perfectly. And vice versa; I've reused code I originally wrote for Android in a Java desktop app with zero changes.
- treis 6y agoWine makes programs written for Windows work on Linux. The key difference is that Linux is an independently developed system. The extent that wine copies Windows code is limited to a compatability layer. It doesn't transform Linux into just a copy of Windows. In contrast, Google didn't have their own independently developed programming language. They needed one so they copied the Java api and created one from there. They did not use the Api to create a compatability layer. It was used as a starting point to make their own copy of Java.
- jayd16 6y agoDidn't they though? They've had their own vm and bytecode for as long as Android has been released. The use of Java is for making libraries compatible.
- treis 6y agoThey did have their own vm and byte code but not a programming language.
- jayd16 6y agoIs bytecode not a language?
- tmccrary55 6y agoYeah, so mov or iload instructions would be protected copyright if Oracle wins.
- treis 6y agoI would say no but either way it's not what Google copied.
- CobrastanJorji 6y agoIf I'm understanding your argument, if Google independently developed a programming language, and then they implemented a compatibility layer that accepted Java bytecode invoking Java APIs and translated it in realtime to their not-Java programming language, then this would be okay? How would such a programming language be detectably different from being an implementation of Java?
- tachyonbeam 6y agoIt's bad for programmers everywhere. If Oracle wins, you couldn't reimplement a compatible version of anything that's not open source. You couldn't make a third-party implementation of a corporate-owned programming language without putting yourself at risk. Imagine you're a company using some Oracle database, and you want to reimplement some component of that system in order to migrate and escape their vendor lock-in... You can't, not without taking a huge legal risk. In the short term, it's a victory for huge litigious corporations like Oracle. The good thing, I hope, is that in the long term, this will make people distrust closed source software even more. What Oracle wants, and has always wanted, is to bind you in the worst possible form of vendor lock-in. Open source and open standards are the answer. Refuse anything else.
- asah 6y agoby the by... wasn't Oracle's original product a relational database management system (RDBMS) that offered a SQL API... which was invented/copyrighted by IBM ? https://en.wikipedia.org/wiki/SQL#History https://en.wikipedia.org/wiki/SQL#History
- raverbashing 6y agoOf course. But Oracle doesn't care one bit about anything else that's not Oracle. Though it is still to be known how many reimplemented APIs from others does Oracle have in their products
- pjmlp 6y agoNope, they pay for ISO which Google hasn't done for Java.
- cyphar 6y agoYou don't have to pay for ISO to implement an ISO standard. In addition, Oracle released their database software in 1979 but SQL only became an ANSI standard in 1986 (and an ISO standard in 1987) so they did originally reimplement an API which wasn't a public standard.
- espadrine 6y ago> What happens to WINE if it is illegal to use the same names Kernel32 does? I was wondering where would the Oracle win hurt most, and I think there is worse than WINE. The Unix syscalls would have been Bell Labs’ copyright. That copyright was sold to Novell, which was sold to… Micro Focus International plc? So this British consulting company that is, according to its website, “powering digital transformation”, could transform the digital world by suing BSD, Linux, Apple and Microsoft for tremendous sums of money and forbid them from using the famous syscalls. I guess a given set of CLI programs may also be seen as an application programming interface, which makes all of GNU liable too. Is that correct?
- wtn 6y ago4.4BSD was cleared in 1993: https://en.wikipedia.org/wiki/UNIX_System_Laboratories,_Inc._v._Berkeley_Software_Design,_Inc.#Settlement https://en.wikipedia.org/wiki/UNIX_System_Laboratories,_Inc....
- monocasa 6y agoThat was only under the assumption that the APIs themselves weren't copyrightable.
- gmiller123456 6y agoLooks like the case was settled fairly quickly, so exactly what the claims were aren't as clear, and whether or not the API is part of the settlement depends on the exact details of that contract which aren't public.
- monocasa 6y agoIt was very established ninth circuit case law at that time that APIs weren't copyrightable. This exact point came up today during oral arguments, with Oracle not denying it but instead saying that the terms "interface" and "API" weren't intended to apply to something so massive as the structure, sequence, and organization of the Java standard library. Additionally, the contract is public. http://www.groklaw.net/pdf/USLsettlement.pdf http://www.groklaw.net/pdf/USLsettlement.pdf Point 9C on page 14 has the university declaring that as far as they know, no AT&T IP is present in 4.4BSD, despite it clearly having a UNIX compatible API.