3 ms·
Not, however, if you call it "Java" (tm). Furthermore, explain the lawsuit where it was won, lost, won again, buried in peat for 3 months, and then pending agai
by fargle 7y ago
Not, however, if you call it "Java" (tm). Furthermore, explain the lawsuit where it was won, lost, won again, buried in peat for 3 months, and then pending again?
It isn't very open if you get sued for implementing a compatible API.
- cable2600 7y agoMicrosoft was sued by Sun for J++ J# using the Java API, Microsoft then made C# to replace it. Dotnet is Microsoft's version of Java that they wrote to eventually cross platform like Java in Dotnet Core.
- Alupis 7y ago> It isn't very open if you get sued for implementing a compatible API. Google was sued for Android's use of a copy of a specific implementation - not for implementing something compatible. Specifically - Android made use of a copy of parts of an Oracle/Sun implementation of Java, instead of writing their own or using OpenJDK (which wasn't mature at the time of the alleged offense). This was all back from a time where Sun owned Java outright, and offered licensed use. Times are quite different now for the Java ecosystem. > Not, however, if you call it "Java" (tm). No, you cannot make a new programming language and call it Java. I think you'll find similar trademark protections on any language. You also couldn't make a new JVM and call it "HotSpot", because Oracle owns that trademark too - but you can call your custom JVM anything else you want. So long as it followed the OpenJDK specifications, it would be compatible with Java bytecode and run Java programs just fine.
- sterlind 7y agoMy professor served as Google's expert witness to explain to a jury what the extent of the alleged duplicated code was. Only a handful of methods had identical implementations - things like toString() or binary search, and Google argued it was because they'd hired the original programmer, who implemented it the same way twice independently. make no mistake: the case was about whether an API can be copywrited, or whether it's public information like a phone book. as far as I know, Google's implementation was independent.
- Yetanfou 7y ago> Google was sued for Android's use of a copy of a specific implementation Nope, they were sued (and prevailed [1]) because of them re-implementing Java APIs. The 'copy of a specific implementation' rhetoric concerned a 9-line snippet [2] which was laughed out of court by Alsup. Here's the contested piece of code: private static void rangeCheck(int arrayLen, int fromIndex, int toIndex { if (fromIndex > toIndex) throw new IllegalArgumentException("fromIndex(" + fromIndex + ") > toIndex(" + toIndex+")"); if (fromIndex < 0) throw new ArrayIndexOutOfBoundsException(fromIndex); if (toIndex > arrayLen) throw new ArrayIndexOutOfBoundsException(toIndex); } Here's Alsup's reaction to the claim [3 (look through the thread for a quote or find Groklaw on archive.org)]: Judge: We heard the testimony of Mr. Bloch. I couldn't have told you the first thing about Java before this problem. I have done, and still do, a significant amount of programming in other languages. I've written blocks of code like rangeCheck a hundred times before. I could do it, you could do it. The idea that someone would copy that when they could do it themselves just as fast, it was an accident. There's no way you could say that was speeding them along to the marketplace. You're one of the best lawyers in America, how could you even make that kind of argument? The case has been documented ad infinitum et delirium, look it up. [1] https://www.theguardian.com/technology/2016/may/26/google-wins-copyright-lawsuit-oracle-java-code https://www.theguardian.com/technology/2016/may/26/google-wi... [2] https://news.ycombinator.com/item?id=11722514 https://news.ycombinator.com/item?id=11722514 [3] https://news.ycombinator.com/item?id=3979899 https://news.ycombinator.com/item?id=3979899
- jacobush 7y agoI'm an Alsup fanboy now, I admit it.
- pjmlp 7y agoIf the lawsuit was legit for Microsoft's J++, it is also legit for Android Java. A cherry picked Java 8 flavor, with partial support for Java standard library, incomplete mapping of JVM bytecodes into DEX bytecodes (required for some Java 8+ features), that forces Java library authors to either constrain themselves to such Android Java flavor, or provide two implementations of their libraries. Nowadays I call Android Java as Android J++, as homage to Google succeeding where Microsoft failed.