+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
> 

Reply via email to