James Gosling’s comments on IBM’s push to Open Source Java

In James Gosling’s blog this week he comments on IBM’s letters asking Sun to Open Source Java.

The main question is what does IBM stand to gain from this. Currently the Java source is free to anyone to download, and I believe anyone is also free to implement their own VM, providing if it is distributed it passes Sun’s certification that it is bytecode compatible with other JVM implementations, implements the whole specification, and doesn’t include any proprietary extenstions. IBM do this today – you can download IBM’s own JVM from their site.

So it would seem IBM’s main interest here is to implement a JVM and not have to pass Sun’s certification. So why would they do this? One can only assume that they wish to take Java in a different direction than Sun and add other features that are currently not provided.

This is exactly what Sun is trying to avoid – if this situation happens then the Java platform may become fragmented with many different incompatible versions. Incidentally, this is what Microsoft attempted with their own JVM flavor (J++), that Sun eventually managed to have stopped in a court case.

JSR 244 planning next J2EE release, 1.5

JSR 244 started yesterday, is the specification request for the next release of the J2EE platform spec, 1.5.

The key goal of 1.5 is for ease of development. This may mean increased use of metadata (being introduced in J2SE 1.5) to allow developers to specify class behavior (eg, markup tags to signify an EJB) by using tags similar to XDoclet’s approach, or maybe some other approach.

I think the key for J2EE 1.5 is they have to make a solid commitment to where the EJB spec is going. Hibernate and JDO are already showing a large following, and if the EJB spec does not follow in a similar approach, in particular with Entity Beans, then I think the use of Entity Beans will become irrelevant.

Sun continue work with JDO 2.0

Sun have submitted a JSR (243) for the next version of the JDO specification, 2.0.

As JDO is seen as a viable alternative to Entity Beans, it makes you wonder were Sun is headed with this, especially as they are also working on the EJB3.0 spec.

It would make sense to leave Entity bean support in future J2EE specs for backward compatibility, but surely they must see that the majority of everyone else is going in the direction of Object persistence (with Hibernate and JDO), while Sun are still beating Entity Beans to death? And the majority of those who have implemented systems with Entity Beans are moaning about how complicated the development is, poor performance, bad fit with the Business Domain Model etc?