Simon Phipps talked about having a level playing field a while ago, and Sun's Rich Green indicated at Java One that the JCP would like to see more members. Ken Arnold talked about the reforms necessary in the JCP to make it happen. Let me throw a few softballs as well.
Compatibility is great. Everyone wants that. In practice compatibility is easy, too. It just takes a few things:
The problem that Simon talks about, is real. A quasi-monopolist can ruin a platform for others. See the ongoing fight of the EU vs. Microsoft to ensure a level playing field in the Windows arena. Or see the fight Apache had with Sun to ensure that specifications coming out of the JCP can be implemented as free software, to allow a level playing field to exist between free and proprietary implementations of the 'industry standards'. As the times have changed, now it's Sun that's afraid of someone else putting the pressure on them by tilting the playing field to their favour, shifting the thinking from building a 'community' to creating good 'governance'.
For Java to be safe from someone tilting the playing field in their favour in the future, the JCP will need to open up radically, to embrace participation from new members on all levels. It needs to grow much further than the few hundred individuals and vendors that are in it today. It needs to put some power into the hands of the membership, so that anti-social behaviour by vendors can be dealt with effectively and publicly.
For that, it needs to come with full, mandated transparency on every JSR, no-strings-attached access to specifications and test suites, like W3C does. It needs to have a patent policy that requires disclosure of patents embedded in specified technology, and creates a patent covenant around each JSR.
It needs to make the life of Java developers and easier, not harder, as it does currently.
So, here is a small list of items to fix in an upcoming JCP 2.7:
The JCP should either drop the JSPA for participating on the JSRs, or cut it down to one page with clearly spelled out rights and obligations of the membership.
Use the org.jcp.draft.* namespace for the draft specs, then.
JCP should mandate full transparency on JSRs by default, and have a jcp.java.net project associated with each JSR, with a public mailing list archive, RI source code archive and the TCK, as they are being developped, rather than leaving it up to spec leads to set their own rules on transparency.
There should be some effort to ensure quality: require two independant and interoperable implementations of a JSR for it to be allowed to move to the final vote, and require a certain amount of test and assertion coverage in the TCK.
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!