+1 My vote would be to follow Tom's recommendation. For reference here is the Apache Felix policy [1] in question.
Ray [1] https://felix.apache.org/documentation/development/provisional-osgi-api-policy.html On Wed, Aug 4, 2021 at 12:47 PM Thomas Watson <tjw...@gmail.com> wrote: > 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 > -- *Raymond Augé* (@rotty3000) Senior Software Architect *Liferay, Inc.* (@Liferay) OSGi Fellow, Java Champion