Apache, Oracle, and the JCK
The Apache/Sun rift is well-known to most following the Java world. Apache has long demanded that the field of use restrictions be dropped. There's some consensus that the FOU clause actually violates the JCP's charter. I'm not a lawyer so I can't really comment either way. This has prevented Apache Harmony from certifying as a Java implementation and, at least in part, has led to the development of the Dalvik VM up on which Android based applications run. A new article in The Register reports that talks between Apache and Oracle have started to break down and that should worry anyone who works with Java.
Java's promise and value has long been platform portability. Except for a few corner cases here and there, an application written in Java could run on any platform which had a JVM. Even most of those cases can be mitigated if your application is written correctly. With the rising popularity of "non-computer" computing devices (smart phones, tablets, etc.), Android has become an considerable presence in the industry. Whether or not Google chooses to certify Dalvik as a JVM or not, it isn't allowed to even try, really. The Java JCK won't allow it. And that poses a real threat to Java.
The FOU restriction was added, in part, to protect Sun's JavaME business. This made business sense to a degree as that's an enormous market. Back when devices couldn't support a full JVM, JME made a lot of sense. That's changing rapidly these days. Personally, I think the days of JME are numbered. I think Android is going to be a huge player in the years to come. And it isn't Java. Already, dozens of times I've personally helped debug someone's "Java" code only to find that the tried and true answer doesn't apply because, surprise!, that code was actually running on an Android device.
The mobile market is already huge and it's only getting bigger. There's little reason for Oracle to retain the FOU clause. Oracle doesn't need the JME market the way Sun did. Opening that up will allow Dalvik, and others, to certify as a Java implementation and push Java into even more markets. If Oracle fails to do this, it could ultimately end up ceding the mobile market to others. I've long agreed with Apache that the FOU is unfair and violates the spirit (and probably the letter) of the JCP agreement. Oracle should drop the clause as they've said in the past that Sun should. Vendors who still need JME can still pay for it. But, increasingly, JME is looking more and more anachronistic. I see very little reason to protect it any longer and every reason to push Java in to more and more markets.
Update: Yes, in some ways I'm conflating Harmony and Dalvik. They're both emblematic of the larger issue. The problem of the FOU and the viability of the JVM on an embedded device is the main point. Please don't get too caught up in the finer technical points. I apologize for any confusion.
Disclaimer: These opinions are my own. I do not speak for any of the parties involved nor do I have any inside knowledge despite my employment at Oracle. I am simply a passionate Java advocate expressing an opinion.
Java 6 on OS X
Most of the Java loving world has probably already upgraded to OS X 10.5 which has an official, Apple sanctioned Java 6 implementation available. However, some of you might be stuck on 10.4 for whatever reason (as I was until today...) and are desperate for some Java 6 love. When doing some work just this morning on gfv3, I finally ran into a Java 6 only reference that I couldn't get around. After some flailing and whining, I was reminded of soylatte (a colleague here at sun has been using it) which is built off the openjdk sources.
I grabbed that 10.4 build and extracted it and gave it a spin. If you're a *nix-head like myself, configuring your shell to use soylatte is a trivial process. Despite my best efforts, however, I failed to find a way to configure OS X to use soylatte in general rather than Apple's 1.5 VM. So I had to resort to running IntelliJ IDEA on 1.5 but I could register soylatte as a platform VM inside IDEA and run my apps using that. And that seemed to work quite well. I can verify that gfv3 does indeed run on soylatte and that makes me very happy. It made me happy for about 30 minutes until the UPS man showed up with my OS X upgrade DVD with which I could upgrade and get a formal release instead. But it was an interesting exercise and hopefully anyone else stuck on 10.4 can use this hint as well. It certainly would've made staying on 10.4 for a longer period much more palatable.