Java SE 7 Finally Approved By JCP, 13 To 1 101
medv4380 writes with news from InfoWorld about the near-term future of Java: "Java Platform, SE (Standard Edition) 7 has been passed this week by the JCP Executive Committee for SE/EE (Enterprise Edition), by a vote of 13 in favor and 1 — Google — against. Oracle, IBM, VMware, Red Hat, and Fujitsu are among the affirmative votes, and two committee members — Credit Suisse and Java architect Werner Keil — did not vote. Specifically, committee members voted on Java Specification Request 336, which pertains to the Java upgrade. Voting on the public review ballot for Java SE 7 finished up earlier this week after beginning on May 31. Java SE 7 still faces another vote on a final approval ballot."
Re:GOOG (Score:5, Informative)
"While Google supports the technical content of this JSR, we are voting no because of its licensing terms"
Typical
Interesting that they view the licensing and transparency as deal-breakers [jcp.org], and doubly interesting that a majority of the committee members feel somewhat supportive of that position (but not enough to vote against).
Re:And....? (Score:3, Informative)
Re:GOOG (Score:5, Informative)
On 2011-06-02 Google Inc. voted No with the following comment:
While Google supports the technical content of this JSR, we are voting no because of its licensing terms. As per the JCP resolutions of 9/25/2007 and 4/7/2009, "TCK licenses must not be used to discriminate against or restrict compatible implementations of Java specifications by including field-of-use restrictions on the tested implementations. Licenses containing such limitations do not meet the requirements of the JSPA, and violate the expectations of the Java community that JCP specs can be openly implemented."
The proposed license clearly violates this requirement (see Exhibit A, Section II). Oracle was duly reminded of this when JSR-336 was first proposed, but has done nothing to address the issue. It would be wrong to condone the inclusion of field-of-use restrictions in a TCK license, as this clearly violates the JSPA, by Oracle's own admission. Google does not want to slow the progress of this release, but we do believe it is critical that this issued be addressed, in order to comply with the JSPA and to preserve the openness of the Java platform.
Re:GOOG (Score:5, Informative)
The problem is that Java is not free at all. The platform is open source (GPL2), but Oracle does not allow any compatability testing between different implementations e.g. with a more permissive Apache license. Basically, because of patents, it is open source as long as you keep your frickin' hands off of it. Google has a strong invested interest because it uses Apache classes (which cannot be validated as being Java) within its Android operating system. And they are getting sued over it. Google certainly uses Java a lot, although it would go way to far to name it a "Java shop".
The problem is that Java 7 has been long, long overdue. It's not that 1.6 is bad; far from it. It's just that people are starting to lose interest. For Java to stay alive, we *need* 1.7 and quickly - and if possible with as much buzz as possible. Java still is by far the best maintainable language. That is something we don't want to loose, especially since there are few competitors regarding stability, security and maintainability.
In the end, they are essentially choosing between progress and halting because of licensing issues. As halting it now ay come to stopping Java altogether. Personally I think that Oracle should immediately stop with the licensing bulshit around android, but this is a technical issue, and I would have voted yes myself.
Re:GOOG (Score:5, Informative)
No, the license terms prevent Google(actually Apache) from releasing a non GPL implementation of Java (Apache Harmony). The FOU restrictions are inherently incompatible with ASL.
And it is only a FOU restriction on the TCK. The Testing Compatability Kit. In order to be declared a conformant implementation of Java you must pass the TCK.
Until Harmony passes the TCK, (which would break the ASL) Harmony is not Java, and is therefore in violation of Java patents. And remember Harmony is "Java", it has to work like java and have the same bugs as java. In most of these cases it isn't possible to workaround the patents because it has to be the same as java.
If the TCK didn't have FOU restrictions Harmony would be labeled a version of Java, like OpenJDK, Jrockit, J9, IcedTea and probably a few others. Harmony would get the Patent grant, and anybody who used Harmony (Android) would be free from litigation of patents in Java (Oracle v. Google).
Oracle's versions of Java cannot be used in mobile (primarily, but I think there is something about ATM's and set top boxes as well) without paying oracle a bag of cash. Any other implementation can't be used in mobile either unless Oracle gets a bag of cash. Harmony having the patent grant, and being ASL would effectively give google a free (speech and beer) JVM to use wherever the hell they want regardless of Oracle wanting the bag of cash.
Ideally Google would just use Java on Android without paying Oracle. Rebranding Java to Dalvik was just to try and prevent Oracle from getting money. Rebranding Java to Gava is the least good situation for google, other than paying Oracle $5/handset for Java.