Aug 31, 2010

Oracle's dislike of MIDP 3.0

The final release of the JSR 271 Mobile Information Device Profile 3 (MIDP 3.0) specification was done on December 9 2009. Unlike the earlier specifications, Sun, uhm... well Oracle, is choosing to remain very low profile about MIDP 3.0. Oracle's Java ME SDK (which replaced WTK )have not yet rushed to implement MIDP 3.0 and the NetBeans IDE seems to ignore it. What really is the reason behind Oracle's silence over MIDP 3.0?

One may quickly assume that it is because the world has moved on and Android is the future representative of the Java language on mobile phones. Hence the lack of attention from Oracle about MIDP. Although, it is true that the attention of the Java world is upon Android and not on MIDP. I believe the reason is not simply about lack of attention.

The licensing terms of MIDP3 is what really troubles Oracle. MIDP 3.0 TCK is licensed under Apache License (APL) v2.0, but there is a catch. In order to gain access to MIDP 3.0 TCK, a letter agreement must be signed and accepted by the JSR lead Aplix. So what is in this letter agreement? If you do not license and JSR TCKs yourself the terms of the agreement does not affect you at all and you get access to the TCK under APL terms for free. If you do license JSR TCKs, which is the case with Oracle, then a set of conditions apply. These conditions are listed by Brian Deuser (MIDP 3.0 specification lead) on the JSR 271 final vote as follows:

  • No per unit royalties payments are required.
  • No more restrictions (or less) will be offered to Aplix.
  • Payment for each TCK shall not exceed $50,000/yr.
  • No more than usual & customary terms for the TCK are given.
  • No extra conditions are placed on an Independent Implementation by using the TCK outside the scope of the Specification License terms for Independent Implementations

These terms is mostly about Aplix trying to ensure a better deal for the TCKs licensed especially by Oracle. By just looking at the Oracle comments on the final approval ballot, you can see that Oracle strongly refuses the licensing terms of MIDP 3.0 TCK. As a result, Oracle, which controls the Java ME SDK and NetBeans IDE (which is open source right?), try to ignore MIDP 3.0.