A Call to Fix the JCP Oberver Status
As a book author and glutton for punishment, I am often interested in
bleeding-edge Java technologies, as they are cooked up through the Java
community process. For example, when David Geary and myself wrote the first
edition of our Core JavaServer Faces book, we needed to work with the early
access versions of the spec and reference implementation (RI). At the time,
source for the RI was only available to members of the expert group, and I had
to use a decompiler to get an approximation of the source from the binary
files. It was surprisingly effective, but not something that I care to repeat.
Fortunately, now the RI is developed with a
href="https://javaserverfaces.dev.java.net/">public version control system
on java.net, so that problem has gone away. But the spec is still very hard to
read, and it would often help to have some background information on the
thinking behind it. Unlike a true open source project, the expert group
discussions are not public. The spec is only publicly updated at infrequent
intervals and is often at variance with the RI.
style="float: left; margin-right: 1em;" />
When I complained bitterly to my fellow
href="https://java-champions.dev.java.net/">Java champions, someone
suggested that I join any JSRs in which I am interested as an
observer. href="http://java.sun.com/developer/technicalArticles/jcp/">This and href="http://geeklondon.com/blog/view/whats-in-the-box">this and href="http://weblogs.java.net/blog/editors/archives/2003/06/putting_the_c_i.html">this
article tout the benefits of the observer status.
It turns out that, in order to be an observer, you first have to become a
JCP member. That requires that your employer signs off on some pretty heavy
legal paperwork. The JCP is naturally concerned that an employer doesn't later
claim that some idea that made it into some JSR work product is their property.
I didn't think there was any hope that anyone at my employer (San Jose State
University) would understand the paperwork, or have the courage to sign it. But
fortunately, I don't work for them during for the entire year, so I just signed
it as a self-employed person while I was on break.
I then dutifully followed the process to sign on as an observer to a couple
of JSRs (including JSR 314 for JSF 2.0), and the result was . . . nothing.
I emailed Ed Burns, the spec lead, and he responded:
CH> Hi Ed,
CH> I am an observer for JSR 314, but I am confused as to how I can observe.
CH> I naively assumed I would get some way of monitoring how the spec
CH> evolves, perhaps through read-only access of a mailing lists forum, and
CH> by being able to see proposal drafts. I logged onto the JCP page, and it
CH> has no contents. I was added to the observer alias, but have not
CH> received any email. Do I need to activate this in some way?
The observer list is very low traffic. We use it for announcements on
the availability of new drafts.
We don't have a publically observable list for JSF 2.0. We charged Kito
with maintaining a public JSF 2.0 group blog, but he hasn't updated it.
It's at <http://blogs.jsfcentral.com/jsf2group/>. Please prod him to
style="float: right; margin-left: 1em;" />
Well, I am sorry, but that stinks. That's not openness. I think the JCP
needs to move up to the next level of href="http://www.merriam-webster.com/dictionary/glasnost">glasnost. I have
sympathy for the poor spec leads who aren't given a lot of guidance. So the JCP
should provide some guidance, such as:
- Email and forum discussions are to be archived (unless there is some
specific reason for confidentiality)
- All versions of spec drafts are to be archived
- Observers have access to these archives
To their credit, JSR 314 has a publicly accessible issue tracker. I don't
think there is any evil intent to hide the discussions and drafts. They just
didn't start out with a mechanism that made it easy. That's why I think the JCP
should put every new JSR on notice to make all information public by default.
What's in it for you, the user of Java technology? Better technology, I
think. Expert groups can have unhealthy dynamics, such as group think, design
by committee, and a mad rush to adopt half-baked ideas just before deadlines.
JSF in particular has some unhappy features, and absences of features. When the
process is more open, interested people can watch what is about to happen, blog
about the good and the bad, and raise awareness in the wider community. If you
agree, please kvetch in the blog comments so that the JCP folks pay attention.
Update March 4, 2009: JSR 314 has just decided to make their email discussions and spec drafts public! Thanks to Ed Burns for doing the right thing!