News for hackers. Stuff that matters.
Re:Java Trap, 2010 Edition by sanxiyn on Tuesday October 12, 2010 @08:09AM (#1783040)
This is not trolling. I honestly ask: why is TCK important? How does it prevent Apache Harmony from ever shipping a "real release"? After all, before OpenJDK, GCJ and lots of other free Java implementations released fine without TCK.
Re:Java Trap, 2010 Edition by pilif on Tuesday October 12, 2010 @08:18AM (#1783063)
the problem is that Sun/Oracles patent license only covers implementations that passed TCK.

Conversely, by not passing TCK you don't get their patent license. Many of the patents in question are difficult (if even possible) to work around if you were to create your alternate implementation.

This means that using any non TCK implementation of Java makes you liable for patent lawsuits (as seen with the Google case).

Re:Java Trap, 2010 Edition by sanxiyn on Tuesday October 12, 2010 @08:23AM (#1783073)
Ah, so anyone using GCJ in a product could be sued the same way Google was sued. I didn't know that.

The right conclusion to make seems to be that software patents are bad.

Re:Java Trap, 2010 Edition by pilif on Tuesday October 12, 2010 @08:44AM (#1783118)

    > Ah, so anyone using GCJ in a product could 
    > be sued the same way Google was sued. I 
    > didn't know that.
this is exactly the point. And this might also be (one of) the reason(s) why Google PR is calling the suit against them a suit against Open Source in itself.
Re:Java Trap, 2010 Edition by bad_user on Tuesday October 12, 2010 @08:36AM (#1783101)
The other conclusion would be that Sun, and now Oracle, are schizophrenic hypocrites: let's not blame it solely on software patents.
Re:Java Trap, 2010 Edition by rbanffy on Tuesday October 12, 2010 @09:08AM (#1783186)
I believe the GCJ is vulnerable because, like Dalvik, it's not derived from the OpenJDK.
Re:Java Trap, 2010 Edition by hga on Tuesday October 12, 2010 @10:22AM (#1783460)
Well, not being VM based it should be free of some or all of the patents used by Oracle in that part of its lawsuit against Dalvik, but that doesn't mean that it wouldn't be otherwise vulnerable.
Re:Java Trap, 2010 Edition by rbanffy on Tuesday October 12, 2010 @11:52AM (#1783803)
And don't forget OpenJDK derivatives are only patent-proof for patents owned by Sun at the time of its licensing.
Re:Java Trap, 2010 Edition by rbanffy on Tuesday October 12, 2010 @09:07AM (#1783182)
> the problem is that Sun/Oracles patent license only covers implementations that passed TCK.

Can they do that, being the OpenJDK GPL-licensed? IIRC, it shields the OpenJDK, as well as GPL-licensed derivatives, from patent lawsuits.

It doesn't protect Apache/MIT/BSD-licensed implementations, but who cares, if there is a GPL-licensed implementation available?

Re:Java Trap, 2010 Edition by pilif on Tuesday October 12, 2010 @11:04AM (#1783633)
you are right, derivates of OpenJDK are shielded.

Clean-room reimplementation are not though.

Harmony was created to have a non-GPL implementation (and was used by Google for that reason)

Re:Java Trap, 2010 Edition by rbanffy on Tuesday October 12, 2010 @03:04PM (#1784494)
If, for no other reason, we should love the GPL for rendering Oracle toothless. :-)
Re:Java Trap, 2010 Edition by pilif on Tuesday October 12, 2010 @04:09PM (#1784724)
unless they don't TCK certify OpenJDK 7. Then we're back at square one.
Re:Java Trap, 2010 Edition by rbanffy on Tuesday October 12, 2010 @09:29PM (#1785668)
No. As long as it's OpenJDK-derived and GPL-licensed, all JDK 7 features can be added.
Re:Java Trap, 2010 Edition by nitrogen on Wednesday October 13, 2010 @03:49AM (#1786462)
No. Only features that don't infringe additional patents can be added by the community. If Oracle owns patents covering a particular Java 7 feature, but never releases any GPL code implementing that feature, then the OpenJDK community cannot implement that feature.

Releasing code under the GPL does not give the open source community carte blanche access to all your future patents, perhaps unless those patents are necessarily infringed by the original GPL release.

Re:Java Trap, 2010 Edition by rbanffy on Wednesday October 13, 2010 @01:07PM (#1787905)
Indeed. The GPL protection only covers OpenJDK as it is released now. However, Oracle would have to tailor the features in JDK 7 as to be under patents they own or licensed, but that are not used in OpenJDK.

And the OpenJDK folks can always implement around those patents.

Re:Java Trap, 2010 Edition by hugh4life on Tuesday October 12, 2010 @08:23AM (#1783075)
"After all, before OpenJDK, GCJ and lots of other free Java implementations released fine without TCK."

GCJ is old... and OpenJDK does have access to the TCK IIRC...

Re:Java Trap, 2010 Edition by bad_user on Tuesday October 12, 2010 @09:08AM (#1783187)
> OpenJDK does have access to the TCK

Of course it does, access to the TCK was always at Sun's discretion to give.

OpenJDK doesn't matter, Java is not free to be implemented by open-source projects (even though JSR 270 explicitly says so) because the TCK licensing prohibits it.

It is also irrelevant if GCJ is old, patents don't have a "use it or you'll lose it" clause as trademarks do.

Re:Java Trap, 2010 Edition by sanxiyn on Tuesday October 12, 2010 @08:28AM (#1783088)
GCJ is old, but is there any other implementation that can compile to native code? (Mainly good for simplifying distribution and better interfacing with native code instead of JNI.)
Re:Java Trap, 2010 Edition by koenigdavidmj on Tuesday October 12, 2010 @11:06AM (#1783640)
If I recall correctly, GCJ's `compiling to native code' really means `slapping a bytecode interpreter and your bytecode in the same file, and calling it an executable'.
Re:Java Trap, 2010 Edition by rmathew on Wednesday October 13, 2010 @01:28AM (#1786193)
This is not correct at all. It generates actual native code from Java source files or byte-code.
Re:Java Trap, 2010 Edition by hugh4life on Tuesday October 12, 2010 @08:49AM (#1783130)
Excelsior JET... is an AOT compiler...

http://www.excelsior-usa.com/jet.html

It is licensed...

Re:Java Trap, 2010 Edition by va_coder on Tuesday October 12, 2010 @08:20AM (#1783067)
I would also add the question: If I'm running Java on the server to deliver Web services, who cares? It's still open source, I have no plans to distribute MyPersonalVM that can run Java.

Google is the one that wants to keep it's advertisement machine going. It matters to them that over the next few years an open and mobile competitor is around. It doesn't matter to me.

Re:Java Trap, 2010 Edition by hga on Tuesday October 12, 2010 @08:46AM (#1783120)
The author pointed out that Sun/Oracle's posture is not resulting in as healthy an ecosystem as other languages with multiple independent free implementations.
Re:Java Trap, 2010 Edition by va_coder on Tuesday October 12, 2010 @09:06AM (#1783179)
"These multiple implementations of the languages are creating innovation on their respective platforms."

He also criticized the JVM.

"not resulting in as healthy an ecosystem"

No ecosystem? Clojure, Lucene/Solr, Cassandra, Groovy, Hadoop to name a few are all part of this excellent ecosystem.

Edit: There's some serious group think in HN. It seems any kind of alternate opinion gets immediately down modded. You may disagree with my opinion, but it is a valid and relevant opinion: Is all this lawsuit crap between the MegaCorps relevant to the average developer using Java for services?

Re:Java Trap, 2010 Edition by nkassis on Tuesday October 12, 2010 @09:25AM (#1783237)
I think he meant an ecosystem of differing implementation. When .NET actually looks more open than your platform, I think you need to rethink what you are doing. What people here are asking for is something similar to Mono, a complete reimplementation of the platform and language that is legally available.

And I agree that java has a large ecosystem built on top of it, making it even more important that the underlying stuff doesn't get controlled by one person.

Re:Java Trap, 2010 Edition by bad_user on Tuesday October 12, 2010 @09:31AM (#1783261)
Funny you mentioned 2 projects under the stewardship of the Apache Foundation, the same organization whom Sun proper fucked by first not releasing the TCK under reasonable terms, and second by releasing OpenJDK under a license incompatible with Harmony and too restrictive to be of any use to mobile phone manufacturers, but not restrictive enough to protect derivate works (GPLv3 was already released and the Apache license has a much stronger patents clause).

Here's some context: http://www.apache.org/jcp/sunopenletter.html

Also, all these language implementations are symptoms of a larger problem, can you guess which?

Re:Java Trap, 2010 Edition by va_coder on Tuesday October 12, 2010 @10:02AM (#1783390)
Yea I can guess, that Java the language sucks.

I'm just saying all these articles about the death or lameness of the JVM are not covering the big picture.

Re:Java Trap, 2010 Edition by bad_user on Tuesday October 12, 2010 @10:11AM (#1783418)
The JVM will be alive and well, but these developments and the fact that the JCP process is a joke are hurting the community a lot.
Re:Java Trap, 2010 Edition by davidw on Tuesday October 12, 2010 @09:18AM (#1783212)
If the average developer would prefer to develop for Android rather than Java ME, I think it is indeed relevant.
Re:Java Trap, 2010 Edition by va_coder on Tuesday October 12, 2010 @09:26AM (#1783239)
To you it is very relevant. I'm just saying let's clarify who has a dog in this fight.

Believe it or not, I'm using Solr, Groovy and Clojure and in my eyes the (approved || sanctioned || blessed) JVM has never a better platform.

Re:Java Trap, 2010 Edition by hga on Tuesday October 12, 2010 @10:33AM (#1783507)
OK, you're a happy Clojure user (I'm not familiar with Groovy and haven't heard of Solr). Clojure is very functional and I expect idiomatic memory usage patterns are different than those of Java and other imperative OO languages.

Oracle's patent lawsuit against the Dalvik VM has cast a cloud on deep innovations in JVMs, such as GC implementations tuned for Clojure.

Is there going to be a long term problem? Who knows, who can say? All we know is that Oracle's lawyers were eager to sue Google whereas "patent suits [were] never in Sun's genetic code" (http://nighthacks.com/roller/jag/entry/the_shit_finally_hits...); what follows will depend on how that goes and who knows what else.

At the very least I'm pretty sure this is having a chilling effect. If you have various areas in which you can do things, why do deep JVM innovation. E.g. for Clojure, perhaps Clojure-in-Clojure targeting another platform, most especially x86_64? (This is not idle speculation, BTW.)

Re:Java Trap, 2010 Edition by va_coder on Tuesday October 12, 2010 @11:00AM (#1783618)
I don't disagree with anything you said.

I'm just saying the sky isn't falling for the average developer that is using the JVM. We'll all be using XYZ technology, which hasn't been invented yet, in 3-5 years anyway.

Google is the one with the short term vested interest in distributing a VM that runs Java.

Re:Java Trap, 2010 Edition by vetinari on Tuesday October 12, 2010 @02:27PM (#1784350)
Google's Dalvik (VM) does not run Java.

The Android _SDK_ is Java based. The Android apps are written in Java, the language, compiled into Java bytecode (Java class files) and the class files are converted into single dex file, which is custom instruction set. Then the app is moved onto the device and run.

The Android runtime is neither Java, nor JVM. It is custom (proprietary) VM that happens to use library that is API compatible with Java's standard library (Apache Harmony compiled and converted to dex; again, no java bytecode in sight).