Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Didn't Stallman write an update to his original?

It's really hard to miss, right under the title, in big bold type:

http://www.gnu.org/philosophy/java-trap.html



I was browsing Wikipedia's list of Java implementations recently, so I was wondering in what way the Java Trap still exists, as now you can find dozens of both proprietary and open implementations.

http://en.wikipedia.org/wiki/List_of_Java_virtual_machines


The read from the Oracle lawsuit is that using any of those will get you sued.

I've read many arguments about how Dalvik is 'different' and some or all of these are 'safe' and so on, but the reality is that 'safe' is whatever Oracle decides it is.


The read from the Oracle lawsuit is that using any of those will get you sued.

Wait - what users of non-Oracle/Sun JVM implementations have been sued by Oracle?

Oracle sued Google as the maker of a non-licensed (and supposedly copyright infringing) Java Virtual Machine. To my knowledge, no one has been sued for merely using a non-Oracle JVM, have they?


Lets say you're writing C. You're going along your merry way and all is well. Except that one day, your code doesn't do what you want it to do. Well, every day. But, this day is special. Today, your code isn't working because of a compiler bug, not because of a bug in your code.

Now, you can either ignore the bug, and hope that it gets fixed. You can work around it. You can use a different C compiler that may not have the bug. Or, you can fix the bug yourself.

Now, lets say instead of C, you're writing Java. Given the situation that Oracle seems to be attempting to make, the first situation won't get you sued, but it will leave you will a bug. The second choice is the best option. But, the bug still needs to be fixed at some point. The third choice might not be possible, because Oracle will have sued everyone else who has a JVM implementation and forced them to stop making an alternative, leaving you with the buggy Oracle/Sun JVM. And the last choice will get you sued.

And, to be frank, three of these four choices suck, and the remaining one isn't a joy to work with either.


OpenJDK is not a dead end - you can extend it and correct any bugs that are a problem to you.


IcedTea for example, unlike Dalvik, has passed the TCK, which from my understanding makes it Oracle-approved. I don't really understand how this whole thing works, so I might be wrong.


IcedTea is a OpenJDK fork, its major purpose was to replace those parts of the the JDK that Sun just couldn't open source (e.g. because they were based on licensed code that Sun couldn't make arrangements for).

It was Sun approved, and I see no reason Oracle would change that unless they want to fsck with OpenJDK in general. But, again, who knows? Oracle is the new Java steward and their polices, so far some good, some bad, are demonstrably different than Sun's were.


Sun licensed OpenJDK under the GPL. With that, it waived any right to sue its users for violation of any patent it held. Oracle bought that obligation with the rest of Sun and can't change the terms under which it is distributed - because anyone can redistribute it under the original terms.

From http://openjdk.java.net/legal/gplv2+ce.html

"6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein."

and

"7. (...) For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program"


However the license isn't valid in a case like this unless it passes the TCK, right? And as we saw with Harmony, Sun and now Oracle is quite willing to withhold the TCK and therefore refuse a license.

How this plays out with OpenJDK and its derivatives I don't know; I'd assume they couldn't do anything for Java 6 (and I don't want to borrow trouble), but couldn't they e.g. in theory refuse access to the Java 7 TCK, resulting in a freezing of the GPLed version?

Anyway, my point here is that their GPL license of their technology is a much more restricted use of the license than we're used to.


However the license isn't valid in a case like this unless it passes the TCK, right?

No, that is not correct. The OpenJDK license is the GNU GPL plus a liberalizing exception for the Classpath. Possessors of the GPLed JDK are permitted to make and distribute modified versions without passing the TCK.


> However the license isn't valid in a case like this unless it passes the TCK, right?

No. Since it's licensed under GPL, it's completely Oracle-proof. The license is valid regardless TCK compliance.

> How this plays out with OpenJDK and its derivatives I don't know

Any derivative is also covered by the same license.

> refuse access to the Java 7 TCK, resulting in a freezing of the GPLed version?

OpenJDK can gain any features present in JDK 7. As long as it's derived, Oracle can do nothing about it. What may get you in trouble is calling it Java without passing the TCK. I am happy with changing JDK and JVM to "Just-Like-Their Development Kit" and "Just-Like-Their VM".

It will be funny if, in the end, it's Stallman who makes Oracle into a civilized corporate citizen.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: