Sun has finally announced their open source plans for Java ME. As it turns out, Java ME will be licensed under strict GPLv2 — without the exception made for Java SE. That means the Java ME license is viral to all software built on top of it. All those MIDlets or Xlets extend classes from Java ME implementation after all!
Device manufacturers still have to license a non-GPL version of Java ME. Or, all Java software bundled in the device must be open source as well.
That is understandable since Sun certainly does not want to lose the large Java ME revenue it collects from Nokia, Motorola and alike. But what does it mean for developers in the OSS community? If I take the Java ME code and port it to, say, the latest Motorola Linux phone, does that make all MIDlets running on top it GPL too? Does that mean it is illegal to run non-GPL licensed MIDlets on such Java ME VMs?
I am not a lawyer. So, it would be niiiiice if someone from Sun can clarify.
Update: Please see Terrence Barr’s explanation on java.net. In short, you are affected by GPL only if you *distribute the JVM* with your MIDP application. So, the only people affected are device vendors and integrators.