6 ms·
Glad to see that I'm not the only one who still likes the JVM after living through the good, the bad, and the ugly with it. Freeing Java with the GPL was an am
by bcg1 11y ago
Glad to see that I'm not the only one who still likes the JVM after living through the good, the bad, and the ugly with it.
Freeing Java with the GPL was an amazing move by Sun and kudos to everyone who made that happen. Without that action, there likely would not be another 20 years at this point.
I think the article is good and I concur that the JVM's future as a compilation target looks promising. Personally I'm very excited about the prospect of the JVM being a major platform for Perl 6... Perl has an amazing community and I look forward to an influx of true hackers into Javaland.
- amyjess 11y agoI dislike the Java language, but the JVM itself has excellent tooling. Maven and OSGi are wonderful, wonderful things.
- jcadam 11y agoI'm not sure if this is meant to be serious or not. I suppose if someone has no experience outside of the Java ecosystem (like many of the developers I've had to work with over the years), Maven and OSGi might appear to be 'good' things.
- fleitz 11y agoThis is the Zen of Java.
- EdwardDiego 11y agoYour comment is sneering and dismissive without any substance. Why is Maven bad instead of good, and what experiences do you have that lead you to that opinion?
- Someone1234 11y ago> Freeing Java with the GPL was an amazing move by Sun and kudos to everyone who made that happen. But due to recent legal rulings (and assuming they don't get overturned in the supreme court) Oracle has effectively locked Java back down. Even if it is GPL, Oracle has managed to copyright the APIs themselves, making the GPL-ness of the Java codebase more or less meaningless. Sun did make Java free, no doubt about that, but under Oracle it is hard to argue that Java remains free. It is an Oracle product that Oracle owns, and if you try to fork it you will be sued (Oracle has made that point abundantly clear). To be honest the GPL is now inadequate against this new type of copyright enforcement.
- narrator 11y agoIANAL, but it seems to me that Java 1.6 is GPLed and the implementation contains the interfaces. As long as they stick to JDK 1.6, which is good enough, they're fine.
- FigBug 11y agoIsn't the issue that Google didn't fork it, but instead re-implemented it and the re-implementation had Oracle code in it? If Google had forked it and kept their version under the GPL they would have been fine.
- pron 11y agoI don't think you understand. That APIs are copyrightable means that the GPL applies even to the API. The GPL does not allow any further restrictions, and Oracle isn't imposing any. You may do with OpenJDK as you please as long as you comply with the GPL. You may re-implement the APIs, or use HotSpot's JIT to compile Brainfuck bytecode -- anything at all. That doesn't mean you can use the trademark Java for the result, but that's beside the point (and applies for all open-source projects). If you don't want to comply with the GPL and you still want to build an implementation of Java -- which is what Google did -- only then do you have to comply with Oracle's alternative licensing, which forces you to make your implementation fully compliant (Android isn't) and places further restrictions (such as the use on mobile devices). In any case, whatever applies to Java applies to any other GPL project. As to Oracle suing you if you fork Java (and not abide by the GPL), let's just see what actually happened there: 1/ Google reimplemented Java not under GPL 2/ it did so while breaking compatibility, and 3/ to directly compete against what was then on of Java's main sources of income. So, yes, I think it's safe to say that if you make an incompatible implementation of Java to directly threaten Oracle's business, they will sue you. I have a feeling that other companies would do the same.
- pquerna 11y agoJava was not free'ed by the GPL. Its a mirage. You've been deceived. The specific implementation of the OpenJDK is available under the GPL, but the TCK, which is basically all of the test cases, is essentially proprietary. Can you imagine Google writing Go, but keeping the Test cases for themselves? Well, they would let you use the test cases, but only if you used Go in way Google wanted you to. If you wanted to compile Go on the Raspberry Pi, or on anything 'like' a Phone, well that was off limits, and you could no longer use the test cases. It's bizarre. It's evil. The JVM is a great platform, but it is not "free".
- rbanffy 11y ago> the TCK, which is basically all of the test cases, What if a new set of compatibility tests were derived from OpenJDK's behavior and all major Java-invested vendors who wouldn't mind poking Larry in the eye (I suppose not too many people would find that objectionable), decided that new test set is the de-facto compatibility reference?
- pquerna 11y ago"We", the royal hacker we, non-Oracle companies, tried, it failed: http://en.wikipedia.org/wiki/Apache_Harmony http://en.wikipedia.org/wiki/Apache_Harmony
- rbanffy 11y agoThe dynamics of a GPL-based project are somewhat different from an Apache-based one. Maybe that difference could be meaningful here.
- jslove 11y agoOracle owns Javascript too.. http://tsdr.uspto.gov/#caseNumber=75026640&caseType=SERIAL_NO&searchType=statusSearch http://tsdr.uspto.gov/#caseNumber=75026640&caseType=SERIAL_N...
- bcg1 11y agoThat's a good point and you're justified in saying that it could have been better if the TCK was GPL'd too. But in reality the TCK is not part of the language, the virtual machine, or anything else that most hackers use. And we actually have a free JVM implementation that passes the TCK and always will as long as that is important, and I would argue that having 2 is much less important than having 1. And if its really that important... we could make our own TCK and force Oracle to become bug for bug compatible with us I think much more relevant to being 'partially free' would be the example of Android... if they had released the whole platform as GPL the wouldn't be facing a billion dollar lawsuit that threatens the very possibility of building compatible APIs altogether... instead they chose to be as proprietary and control freakish as they could get away with while still pretending to be a community project... you can at least compile and run OpenJDK on almost any platform... while Android is notorious for being technically open source but in practice nearly impossible to run without proprietary components