The problem with free organizations (as in free beer) the cost are carried by one party that in exchange demands special rights. For example, the OpenJDK projects is mostly paid for by Sun, just like the JCP. However, the consequence is that if you submit a source code, you must grant Sun a perpetual and full license, with the rights to sub license, for all your code.Though the OpenJDK is available under the GPL license, this choice of license is a Sun decision. You can not submit your code as GPL to the OpenJDK project, the GPL is a license granted by Sun to its users. You therefore have to sign the Sun Contribution Agreement. In this contract you oblige yourself to
- Share your copyrights with Sun
- License any patents bearing on your contributions to Sun
They key is now that Sun provides the OpenJDK to anyone under GPL and parts of it with the Classpath exception that allows you to run code on it. However, for many companies this is too restrictive because they have special patents they are not willing to share or can not share their source code for other reasons. Obviously, Sun is willing to provide the OpenJDK under an an alternate license for an appropriate fee, or not. It is their call.
If you do serious work in the JCP or OpenJDK, it is highly likely that the value of your donation to Sun significantly exceeds any membership fees of any open organizations.
When I started using Java in 1996 I had a lot of confidence in Sun because I always thought that the way they handled the standardization of NFS in an exemplary way. I still do believe that most people working for Sun have the best intentions. However, for the good of the community the shepherd should not be one of the sheep.
Zucht (Sigh in Dutch). Another blog side tracked about non-technical issues. I wish we could focus on the technical issues so we can show why and how the OSGi service platform is more ambitious and provides more and superior solutions for the modularity problem than JSR 277+294. It feels so sad that instead on working together on a suitable standard, Sun, against a lot of industry pressure, bifurcates the market for no technical reason. I do not claim the OSGi specs are perfect, there is work to do. However, they are mature, proven, have a large audience, and seem to provide more functionality than JSR 277 attempts to implement now (with a large learning curve ahead of them). Would such a situation have arisen when the Java community was shepherded in an more independent way?
Peter Kriens
P.S. I just learned that Neil Bartlett had the same idea and also posted a blog about the same subject ...