+1 [X] Adopt this replacement text David Jencks
On May 20, 2014, at 10:01 AM, David Jencks <[email protected]> wrote: > Following some dev list discussion, proposal is to change > http://felix.apache.org/documentation/development/provisional-osgi-api-policy.html > to this (markdown source): > > -------------------------------------------------------------------------------------- > > The OSGi Alliance exposes provisional API that may or may not become part of > future OSGI specifications. This policy explains how and when Felix > subprojects may relate to such API. Provisional OSGi API refers to anything > in the `org.osgi.*` package namespace that is not part of a final released > specification. > > ## Policy > 1. No Felix release may contain or refer to provisional OSGI API. > 1. Provisional API may be included and used in unreleased source code, > however the API must be part of a final released OSGI specification before > this Felix source may be released. > > 1. Although it is STRONGLY NOT RECOMMENDED, modified versions of provisional > api may be released with these modifications: > > 1. Any provisional OSGi API must be recreated in the `org.apache.felix.*` > package name space; this effectively makes it provisional Felix API. > 1. All Felix provisional API must be marked as deprecated. > 1. All Felix provisional API exported from bundles should be exported with a > mandatory attribute of `status="provisional"`. > > ## Discussion > > The first goal of this policy is to completely avoid using provisional OSGi > API in released Felix projects given the potential confusion and questions by > doing so. The second goal is to make the existence of any released Felix > provisional API completely obvious to downstream users and make it difficult > for them to use it unknowingly. However, any such release is likely to > involve numerous problems such as incorrect semantic versioning or version > mismatch between the provisional and eventual OSGI release and bundle version > inflation if the Felix provisional api is removed after the OSGI API is > released. > > As an example, to provisionally export the > `org.apache.felix.service.metatype` package, the > `Export-Package` statement would look something like this: > > :::xml > <Export-Package> > org.apache.felix.service.metatype; version="0.1"; mandatory="status"; > status="provisional" > </Export-Package> > > When working with new OSGI specifications, constructing a Felix provisional > API will likely result in parallel package structures between the provisional > OSGi and Felix APIs. When working with existing specifications, it may be > necessary to create extensions to existing OSGi interfaces in the Felix > package namespace. > > > -------------------------------------------------------------------------------------- > > +1 [ ] Adopt this replacement text > -1 [ ] Keep the existing text > 0 [ ] Don't care > > Vote open for 72 hours or until I can get enough people to vote :-) > > thanks > david jencks >
