+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

Reply via email to