The Java Community Process doesn't exist. At least not in the way you probably think it does. This surprised even me (although it shouldn't have), and I'll explain here just exactly what I mean.
The Java Community Process (JCP) is the standards process for Java. The FAQ gives the best summary:
So, the JCP is a process to define standards around Java.
Each standard, known as a Java Specification Request(JSR), follows a clearly defined process. Each JSR is developed by an Expert Group (EG) who are hand selected by the Spec Lead. Most newer JSRs are now run in a more open and transparent manner.
The JCP has many members, all of whom are listed online. Many of these members are individuals, who pay no annual fee. Not-for-profits pay $2000 per year, while companies pay $5000 per year. There are currently over 1200 members.
JCP executive committee
While the JCP has many members, only a select few have real power. These are the members of the Executive Committees (EC). There is one EC for Java ME and one for Java SE/EE - each has 16 members.
Each EC member serves a three year term. Ten of the seats are 'ratified', which means that Sun picks who they are (based on a balanced community and regional representation) and the membership votes to approve or disapprove the selection. Five seats are available for a free vote of the JCP membership. One seat on each EC is the 'permanent' seat held by Sun. The current Java SE/EE members are:
- Apache Software Foundation
- Eclipse Foundation Inc.
- Fujitsu Limited
- Werner Keil (individual)
- Doug Lea (individual)
- Nortel Networks
- Red Hat middleware LLC
- Sun Microsystems
This is the basic structure as it relates to JCP members:
The JCP is fundamentally a series of legal agreements (black lines) between Sun and each member of the JCP (orange sqaure). This has been described as a hub and spoke layout, and that is the obvious way to draw it.
The JCP is supported by a small Program Management Office which, amongst other tasks, assists JSR spec leads, handles the website and arranges Executive Committee meetings. The PMO is a department of Sun and funded by Sun (apart from the fees listed above):
Does the JCP really exist?
This sounds like a daft question!
But if you've been reading carefully you will have noticed that it really isn't.
Firstly, the PMO is named very carefully - its a "program" management office. Thats because the PMO is managing a program, not an organisation. The program is the JCP program of Sun.
Secondly, consider the name 'Java Community Process'. The clue is in the word "process". The JCP is just a process for defining standards. The JCP is not an organisation in its own right - it's a group within Sun.
Thirdly, consider the legal situation. All legal agreements (the JSPA) are signed between the member and Sun. There are no legal agreements between the member and the JCP, because the JCP is not a real organisation.
Not convinced? Look at the legal definitions for the JCP and its membership:
It can't really be clearer - the JCP is a "formal process", not an organisation.
And note how clever the definition of "membership" is. You are a member simply because you signed a legal agreement (the JSPA). And remember that the legal agreement is actually with Sun, not the JCP (which you might naturally think).
Now, I don't know about you, but that isn't the kind of membership I normally think of, such as a sports club membership. Put simply, as a JCP "member" I'm not really a member of the JCP, because there is actually no such organisation.
By comparison, here is the definition of Eclipse:
As can be seen, "The Eclipse Foundation" is a real organisation - something entirely different to the JCP. Being a "member" of The Eclipse Foundation is something that would be very meaningful.
There is no JCP organisation. The JCP is simply a "process" to produce standards, not an actual standards organisation itself. (Even the Executive Committees are simply members that guide Java technology)
As it isn't an independent organisation with power, the "JCP" has been unable to effectively take action in the ASF vs Sun Apache Harmony dispute. The picture clearly shows how all legal agreements feed back to Sun, so no other party can influence the issue directly.
I have to admit that I've been a bit dense in not really grasping the lack of any JCP organisation until today. But I do wonder how many other developers have grasped it either?
Put simply, the JCP is NOT a standards organisation - because it isn't an organisation at all. In fact, there is only one organisation here - Sun - and they still control all the cards.
Apache Software Foundation member, speaking personally
Sun Java Champion, speaking personally
Not a committer on Harmony or OpenJDK
PS. I'd just like to note that the individuals that staff the JCP PMO have always been very helpful, in exactly the same way as the engineers developing JDK 7. This debate is all about Sun's management and how we really don't have an open standards