OSGi Alliance Opens Up Review Process
The OSGi alliance has opened up their review process for upcoming specifications, allowing anyone to see the work that is being done for the organisation. Previously, only members and associates could see or comment on the proposals before they went live.
OSGi (request for) proposals or 'RFP's, along with request for comments or 'RFC's, are the way in which new features are added to the OSGi specifications. The OSGi specification itself appears as core, compendium and enterprise releases, though these specifications are in fact collections of individual RFPs that have been brought together as a certified collection, in the same way that the J2EE stack is a certified collection of releases of various APIs. This allows applications to target OSGi 5, which gives functionality across many different APIs.
The OSGi specifications are modular, in the sense that it's possible to use a specific API (such as the Remote Services API) even if it's not part of the core platform that you're running on; by adding an implementation such as Apache DXF or Eclipse's ECF, you can use that version of the service.
The way services arise is typically through a specific customer requirement, whether it be in the embedded space or in the enterprise market. This is then sponsored and run by a spec lead, who puts forward proposals and gets comments on them. This process repeatedly iterates until the spec is finalised, at which point the OSGi alliance votes whether to incorporate it in the next version of the appropriate collection. Services such as OBR, Blueprint and even the module layer itself have all gone through this process.
The specifications are often developed in tandem with one or more separate implementations. By having different groups implement the services in different ways, the API can be tested in ways which may not be obvious to the spec lead, which can result in a tighter API definition. (The Java APIs, such as Servlets, also typically work in this fashion as well.)
By making these proposals and request for comments open to all, the OSGi Alliance hopes to share the process and allow commenters to put forward observations and improvements to the APIs at an earlier stage, when feedback can be more readily integrated in to the development, instead of only at the end when the spec is finalised. To make the process much easier, the specifications are available on GitHub and an open Bugzilla is available to see the comments so far. At the moment, pull requests for modifications are not supported but it opens the doors to accept feedback in this way in the future.
Stephanie Davis (nee Stewart) Dec 21, 2014