Hi, Now that the OSGi specification development has resumed under the Eclipse OSGi Working Group we need to discuss how the OSGi Working Group will consume compatible implementations done within the Apache Felix project.
For the immediate discussion I have been developing the OSGi R8 Declarative Services implementation in the scrR8 branch [1]. The Apache Felix SCR implementation has been used as the reference implementation for past releases of the OSGi specification. This process has changed somewhat now that the specification is being developed at the Eclipse OSGi Working Group. There no longer will be something called a "reference" implementation. Instead there will be one or more implementations that are "compatible" implementations. In order for the OSGI specification to have a final release vote there must be one or more (non-snapshot) compatible implementations publically available from an open source project. As far as I know, the Apache Felix project has a policy of never having a release of an artifact that contains non-final OSGi specification classes. This leaves the OSGi Working Group with a circularity issue because it cannot have a final release vote of the R8 Declarative Services specification until there is a publically available (non-snapshot) compatible implementation but Apache Felix will not publish a non-snapshot version of SCR R8 implementation to maven central until there is are final spec API JARs available for the SCR R8 specification. The proposed process from the OSGi working group is to have open source projects providing a compatible implementation that is used for the specification voting would provide a milestone version (M1, M2, etc.) or release candidate version (RC1, RC2, etc.) to maven central. These implementations would build against available release candidate OSGI API JARs from maven central. Then the OSGi Specification project build would use the compatible implementation's milestone or release candidate from maven central to build its final version for voting and releasing the final specification artifacts. I propose the Felix project allow releases of milestones and/or release candidates with relaxed rules for including non-final OSGi APIs. Such a milestone or RC release may depend on release candidate API JARs published to maven central by the OSGi Specification project. After the OSGi specification goes final we can then do a final release of the implementation at our leisure. Is this something we can do in the Apache Felix project? Tom [1] https://github.com/apache/felix-dev/tree/scrR8