Jan 15, 2007

No specification? Well, this is so un-javaME

Every now and then, eRCP project receives a comment or question suggesting a need for a specification for eRCP. This is mostly due to the fact that mobile device world is a highly fragmented one and everyone wishes to see a compliant implementation of eRCP and eSWT on their favorite platform. I also think the familiarity of mobile java with JSRs contributes as well ( almost half of the JSRs are targeted for Java ME). Now that eclipse has joined JCP, it is imminent that we will receive more of those so here is my 2 cents on that.

I do not believe that having a specification and having the accompanying TCK really ensures the compatibility. If a specification would solve that problem, java ME itself would not suffer from the incompatibilities. On the other hand, the open source development we are following on the eRCP project, allows us to cooperate closely among different implementation teams on different platforms. We share our tests, see the bugs reported, read comments about all platforms and best of all see the implementation code. I do not think any specification and TCK can provide better means for compatibility than this.

Some argue that being a JSR makes it available on more platforms. Well, not necessarily, proof? Not all the JSRs are available (and suitable) for all platforms. The decision to implement an API on a platform depends on many other things before a specification. If a person or company wants to implement eRCP for a platform, I hope that by following the eclipse development process and being open, transparent as possible eRCP project can be inviting enough for everyone. If it is not please let me know.

Would eRCP and/or eSWT loose anything with a JSR? I guess the design-by-committee nature of the JCP would hobble the innovation.