I have a privileged point of view, when it comes to Sun and Motorola, since I often talk to both. It is interesting how the press really missed the point on Sun opensourcing Java and the reason for them to choose GPL.
It is all about mobile (open source).
Let me go back in time. At OSBC, in April 2005, I heard Jonathan Schwartz say that GPL was really bad and CDDL was the way to go. At Java One 2006, he said that they were ready to open source Java but set no timeframe. On October 23rd, Rich Green said that "All of Java SE and all of Java ME should be completed, in terms of open source availability, by the end of the first quarter of calendar ’07". Two days later (two!), his boss Jonathan Schwartz said "by the end of the year". Three weeks later, it is all done, all open source and GPL. What prompted Sun to move that fast? And why GPL and not CDDL?
An interesting news hit two weeks ago. Few talked about it but it was really big. On November 1st, Motorola announced plans to build an open-source version of Java Mobile adopting the Apache License. They simply dropped a bomb inside Sun...
The amount of revenues Sun gets from Java ME is absolutely significant. I would bet it is the #1 software revenue stream at Sun. Motorola moving to its own open source Java ME means taking out 23% of those revenues (that's Moto market share on device shipments). If Nokia follows suit, there it goes another 34% of those revenues... That's almost 60% of a significant revenue stream down the drain, thanks to someone else doing what Sun was supposed to do months (years?) ago.
Sun moved fast. It might be too late but they really stepped up to the plate. I fully appreciate it. They had to send a shock and they went with GPL, not CDDL. Great choice, in my opinion. Where does GPL matters? In mobile, of course.
Java ME GPL means dual licensing. It triggers when embedded (who embeds Java SE?). It is the same model of Funambol, MySQL, Sleepycat and others (in alphabetical order, of course). The only possible commercial open source model, in my opinion, after the devastation of the services-only model by Oracle. With CDDL, they would have lost the virality of GPL. They would have lost the chance to still make money licensing their VM, while attracting the largest possible community. It is a smart move, and another testament of dual licensing. It is the model that works, in particular in mobile.
In summary, Sun opensourcing Java is all driven by mobile. The timing came from mobile. The license is due to mobile. Motorola, in my opinion, was the target, not IBM. I am a Java fan and I always will be. They were clearly late but maybe not too late. Let's see what happens next. This market is moving so fast, it will be interesting to watch... Once again, though, one thing is clear to me: mobile open source is king and it is gaining momentum every day.