Return-Path: X-Original-To: apmail-felix-dev-archive@www.apache.org Delivered-To: apmail-felix-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B23AE11E4A for ; Tue, 20 May 2014 18:00:34 +0000 (UTC) Received: (qmail 86490 invoked by uid 500); 20 May 2014 18:00:34 -0000 Delivered-To: apmail-felix-dev-archive@felix.apache.org Received: (qmail 86415 invoked by uid 500); 20 May 2014 18:00:34 -0000 Mailing-List: contact dev-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@felix.apache.org Delivered-To: mailing list dev@felix.apache.org Received: (qmail 86405 invoked by uid 99); 20 May 2014 18:00:34 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 May 2014 18:00:34 +0000 X-ASF-Spam-Status: No, hits=3.2 required=5.0 tests=FORGED_YAHOO_RCVD,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of david_jencks@yahoo.com designates 98.138.91.38 as permitted sender) Received: from [98.138.91.38] (HELO nm14-vm1.bullet.mail.ne1.yahoo.com) (98.138.91.38) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 May 2014 18:00:27 +0000 Received: from [98.138.100.117] by nm14.bullet.mail.ne1.yahoo.com with NNFMP; 20 May 2014 18:00:06 -0000 Received: from [98.138.84.41] by tm108.bullet.mail.ne1.yahoo.com with NNFMP; 20 May 2014 18:00:06 -0000 Received: from [127.0.0.1] by smtp109.mail.ne1.yahoo.com with NNFMP; 20 May 2014 18:00:06 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1400608806; bh=vplgBrjW2agPnVXjB5sYFQRmHKleCfLJszb/eIoSzIY=; h=X-Yahoo-Newman-Id:X-Yahoo-Newman-Property:X-YMail-OSG:X-Yahoo-SMTP:X-Rocket-Received:From:Content-Type:Message-Id:Mime-Version:Subject:Date:References:To:In-Reply-To:X-Mailer; b=d8QNbISLUOyfHFcgJ1SNDQl7wZ7jusrcq5rB6D1DFeA0vGggpXA0lw4aFJvxAigC2BzJ+foE4Lo4JHX04B2JgMmxqIzFbK0Kqs6V2jz57FH1EFRMcf88TrXZS0tKFd7QZS+zHJoqObaSs8TPvau5hUe/dIbktBV+wjyJYiCgptY= X-Yahoo-Newman-Id: 92261.24785.bm@smtp109.mail.ne1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: YDzoKvgVM1kBbjGlXio95tp4pThn0T73f.xga5mLU.W3hFV SSqLgFCL5xcsRXqDkGpUlZeUbNWDDnDPKQYlRfKJSfVH04khn3.mOU00dNx7 k.MhRfCn0G3DUypqtCq_kURGsS28kWax7ZWPM7FWOrzUUJD8fdUceiSrqGjA xTXIExZRSlyV..Ijiuj92fwCuByTP0ts6kmn49_ItYE63rMMgLVaBo50jGH5 YO1q8I599fS_OxYdmWzZtqdR4l6bRhEdtNnpUs1s8aypKovFbb4a12.DtJYt 7uBFLwHhEE8qtMh6D0x0AQx5UA2dHwdlHy3HLJRfdU3ubXfp5j60Jr.r1FGx xOCIWM4T6l_CzDSQqONQS8mKWg7EQBeuY0heEh78Ozf2SBPmC1WYgaNfJTlR YwpmgJaEULPStKYyBNuWQBGAMPlE5fM6ob3lA95EqLhhbYPW324mk2e1t_pf TrI6CxC1VnnouoXjNlxseQ7MfDrqrOD.1uqXWnmUi8dLFtdifO0eq1JYaVwJ fneuRbNixFnpwBqyvxks.D9bnJ_M0hqmLvOZo.jOsMlcfllUchb2tlw3bAPu RD_oFgI6J8msCpK4wQbN488boO0cql62_XQO.wTt7ZeT.3rj_ZZAiUegufpe U1BSBNAvJbnuhQKqIFMloAz6j5CWk0kD40Pm8GLTwHGy_jPVQMOY- X-Yahoo-SMTP: .9oIUzyswBANsYgUm_5uPui0skTnzGJXJQ-- X-Rocket-Received: from [10.0.1.2] (david_jencks@98.246.196.64 with plain [98.139.211.125]) by smtp109.mail.ne1.yahoo.com with SMTP; 20 May 2014 11:00:06 -0700 PDT From: David Jencks Content-Type: multipart/alternative; boundary="Apple-Mail=_C2F17089-BD5E-4C0E-8E21-71E0E045338B" Message-Id: <1E03D3AC-ABCA-4865-BBB1-F913AE6840C4@yahoo.com> Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\)) Subject: Re: [VOTE] Policy change for use of unreleased (spec) apis Date: Tue, 20 May 2014 11:00:03 -0700 References: <6E00DDCE-66CE-4843-9D13-61862139EA35@yahoo.com> To: "dev@felix.apache.org" In-Reply-To: <6E00DDCE-66CE-4843-9D13-61862139EA35@yahoo.com> X-Mailer: Apple Mail (2.1510) X-Virus-Checked: Checked by ClamAV on apache.org --Apple-Mail=_C2F17089-BD5E-4C0E-8E21-71E0E045338B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii +1 [X] Adopt this replacement text David Jencks On May 20, 2014, at 10:01 AM, David Jencks = wrote: > Following some dev list discussion, proposal is to change = http://felix.apache.org/documentation/development/provisional-osgi-api-pol= icy.html to this (markdown source): >=20 > = --------------------------------------------------------------------------= ------------ >=20 > 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. >=20 > ## 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. >=20 > 1. Although it is STRONGLY NOT RECOMMENDED, modified versions of = provisional api may be released with these modifications: >=20 > 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=3D"provisional"`. >=20 > ## Discussion >=20 > 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. >=20 > As an example, to provisionally export the = `org.apache.felix.service.metatype` package, the > `Export-Package` statement would look something like this: >=20 > :::xml > > org.apache.felix.service.metatype; version=3D"0.1"; = mandatory=3D"status"; status=3D"provisional" > >=20 > 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. >=20 >=20 > = --------------------------------------------------------------------------= ------------ >=20 > +1 [ ] Adopt this replacement text > -1 [ ] Keep the existing text > 0 [ ] Don't care >=20 > Vote open for 72 hours or until I can get enough people to vote :-) >=20 > thanks > david jencks >=20 --Apple-Mail=_C2F17089-BD5E-4C0E-8E21-71E0E045338B--