Monday, June 1, 2009

Report from OSGi Bundlefest/EEG F2F

Sorry for the delay posting. Here's a report back from the OSGi Bundlefest & EEG face to face held the week of May 11 in Montpellier France.

As some of you may remember, the OSGi Alliance's specification work is aligned with the Eclipse release schedule, since Eclipse Equinox is the reference implementation for the core spec. We had originally been trying to complete our work in time for an end of June publication, to coincide with the release of Equinox.

But we are running into some difficulties - not with the core specification, but with the compendium. In particular, I think it's fair to say that the specification writing phase of the OSGi Alliance process has turned out to be more difficult than anyone expected. In fact the difficulties spilled over into the blogosphere (not that I am trying to reopen the debate about how much change should be allowed or anything!).

The OSGi Alliance is unique among standards organizations and consortia I've contributed to in the past, in part for its informal, collegial environment, but mainly because the Alliance employs a specification editor (currently Peter Kriens) who is responsible for including the member-driven designs into the existing specification.

As a minor refresher, the OSGi Alliance specification development process begins with the formalization of requirements into documents called Request for Proposal (RFPs). When it believes an RFP is complete, the expert group submits it to the requirements group for approval (rarely does an RFP get rejected once an EG submits it - actually this has not happened to the EEG). Once an RFP is approved, one or more solutions to the requirements can be created, in the form of a design document called a Request for Comment (RFC). An RFC has to be approved by the expert group, and once it is, the RFP is submitted to the specification process for finalization.

This last part of the process represents a signficant difference between how the OSGi Alliance works and other bodies work. Especially since the same person has been writing the OSGi specification for about 10 years. The specifications are consistent and very good, as a result. However, most people experienced in standards participation (myself included) find this part of the process takes a little getting used to.

Overall - and I have explicitly asked several other EG members about this - the result of following this step in the process is an improvement over what was in the RFCs. However the RFCs are sometimes the way they are due to compromises among EG members, and the specification process (which is, once again, a good thing) has a tendency to bring things like this back to the surface, especially when the design compromises end up decreasing the quality of the specification. Which, as I've said, has been very good for about a decade now, and we certainly want to preserve the level of quality. On top of all of this, of course, is the fact that OSGi has been around for more than a decade now, and has a very real reference implementation in Equinox, which is used in literally hundreds of products and technologies.

The two designs we are trying very hard to get into the R4.2 Compendium are the Blueprint service (RFC 124) and Remote Services (RFC 119). We had scheduled the bundlefest a while ago to work on RIs and TCKs, on the assumption we'd be done with the majority of the specification work and we could focus on finishing the code bits. Instead, I had to prioritize the specification work ahead of all other work, which created a very ad hoc kind of agenda, one that changed daily - in fact, sometimes several times a day.

At the end of the week we had made some good progress on the specifications - in particular resolving some fairly significant issues that were uncovered - and some of the members also managed to get some coding done. Each day closed with two hour-long calls - one to review the days' discussion for those who were unable to attend (travel budgets are as tight as I've ever seen them), and another to discuss topics still in the requirements or design stage (we are trying to keep the OBR/metadata discussions moving and complete more of the Java EE component mappings in time for the planned end 2009 enterprise profile release).

We have decided to release the core and compendium specifications separately - the R4.2 core specification being implemented by Equinox 3.4 in Eclipse Ganymede released this month - and the compendium needing a bit more time. Currently we are aiming to get it all wrapped up by the end of June for publication in August - fingers crossed.

It was chilly and rainy the whole week, which I suppose was just as well since we had to be in the meeting room all day (except for the famous lunches of course ;-). Saturday was a beautiful day, however, which was lucky for me and for Peter Peshev, since we'd planned to dedicate the day to tourism. We had a great time visiting Pont du Gard, Avignon, and Chateauneuf du Pape - eating cherries bought from roadside stands all the way.

No comments:

Post a Comment