Yesterday my friend Erik Thauvin and I were discussing the issue of Java ME under GPL. There are some interesting issues that may not be 100% clear in Sun's Java GPL FAQ.
Apparently there have been some arguments about whether it is even possible to ship a Java ME application that is not governed by the provisions of the GPL. As I understand it, the argument goes something like this: "All of Java ME is now GPL and there is no Classpath Exception for Java ME. Therefore, since your Java ME apps ultimately link into the GPL Java ME runtime VM, your application must fall under the GPL just as the Java ME runtime is."
I am not an expert on the nuances of various open source licenses, and IANAL ("I am not a lawyer" - an acronym more of us may regrettably have to start using!) This argument did not sound like what I understood Sun to be doing, so I called up the person whom I feel is clearly best equipped to address the question, Sun's Chief Open Source Officer, Simon Phipps.
Read Simon's answer at Javalobby.
So basically, unless you are distributing, copying or modifying a GPL'ed Java ME runtime VM, you are free to license Midlets any way you choose.
Good for users and developers. Not so good for handset developers/manufacturers.