From patchwork Mon Aug 8 14:52:00 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bill Fischofer X-Patchwork-Id: 73454 Delivered-To: patch@linaro.org Received: by 10.140.29.52 with SMTP id a49csp16404qga; Mon, 8 Aug 2016 07:52:14 -0700 (PDT) X-Received: by 10.55.212.218 with SMTP id s87mr28972937qks.43.1470667934143; Mon, 08 Aug 2016 07:52:14 -0700 (PDT) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id o33si17554449qkh.183.2016.08.08.07.52.12; Mon, 08 Aug 2016 07:52:14 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=pass (p=NONE dis=NONE) header.from=linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id E46A360F41; Mon, 8 Aug 2016 14:52:11 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id DCCBC60F17; Mon, 8 Aug 2016 14:52:08 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id DF81760F19; Mon, 8 Aug 2016 14:52:04 +0000 (UTC) Received: from mail-oi0-f42.google.com (mail-oi0-f42.google.com [209.85.218.42]) by lists.linaro.org (Postfix) with ESMTPS id 32F4060F15 for ; Mon, 8 Aug 2016 14:52:03 +0000 (UTC) Received: by mail-oi0-f42.google.com with SMTP id f189so174932472oig.3 for ; Mon, 08 Aug 2016 07:52:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=E24uxElzcyFLGiKCxi6SilFIHWrism/wic1N+wlsTrk=; b=JgHfo8palA4yPCGjsNQV7eEbpS+qRIktEl1Ck2/23IK62f0YgH4oYEJKBbFrUUBSTG 6I4JR5vUKTtCXhR6lHiiMSZLyDNDDBfUOAJJF9N34ubi/d0sYwrV5zuctY7KhUUhShWl nH9zaO6DSX01MhhPJk2Dw6djlo/0vPLyNZnfdm+PBzieJfMHG5+V0rwt2HIyOXiar4fc 0gZL5r/2cvQJYyORSWeKZFX/kw/Aq5XOOoj3eUrebPBBAvhyoE3NaSXZ0E8Iz96QVjZ/ PzQa0HYpNm8I/YzG9y8L98n+1Xe/jJOV05eFzs3xGk5GdUP3VSYbo6m1rVNeGmEnQe3x kcXg== X-Gm-Message-State: AEkoouuPN3WRLPdjKNWbzFtUnQf3x2/jgnPy5ukVrh3hmQyNmseF4zjoSaUq+b2c+pIl0PnSeMo= X-Received: by 10.157.52.188 with SMTP id g57mr23563113otc.173.1470667922539; Mon, 08 Aug 2016 07:52:02 -0700 (PDT) Received: from localhost.localdomain (cpe-66-68-129-43.austin.res.rr.com. [66.68.129.43]) by smtp.gmail.com with ESMTPSA id 8sm40279otr.17.2016.08.08.07.52.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 08 Aug 2016 07:52:02 -0700 (PDT) From: Bill Fischofer To: lng-odp@lists.linaro.org Date: Mon, 8 Aug 2016 09:52:00 -0500 Message-Id: <1470667920-1839-1-git-send-email-bill.fischofer@linaro.org> X-Mailer: git-send-email 2.7.4 X-Topics: patch Subject: [lng-odp] [PATCH] doc: release-guide: elaborate release naming scheme X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" Add additional detail and examples to the description of the release naming scheme used by ODP, detailing the expected impact to ODP applications and/or other ODP implementations for each change. Signed-off-by: Bill Fischofer --- doc/process-guide/release-guide.adoc | 51 ++++++++++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 11 deletions(-) -- 2.7.4 diff --git a/doc/process-guide/release-guide.adoc b/doc/process-guide/release-guide.adoc index 8816c03..6ee798d 100644 --- a/doc/process-guide/release-guide.adoc +++ b/doc/process-guide/release-guide.adoc @@ -116,28 +116,57 @@ atomically as possible * the maintainer tags the master branch == Releases == -All releases are from master. +All releases are from master. Recall that ODP consists of three separate +components: + +* An API Specification +* Multiple independently owned and maintained _implementations_ of the ODP API +* A Validation Test Suite that tests implementation conformance to the ODP API + +Included with the main ODP git repository is the `odp-linux` reference +implementation of the ODP API, and it also has an associated service stream +that is independent of all other ODP implementations. This means that the ODP +release naming conventions address the needs of all three of these components, +which is accomplished via a multi-level structure using the format: + +*v...* -They are tagged in the repository using the format -v... There are three release types with differing frequencies and impact to the -applications. +applications and other ODP implementations. The fourth is simply used to +designate the service stream associated with an individual ODP implementation. === Generation releases === A generation release indicates a major completion of work, and a possible -change in direction for the API. Same as for Major release plus they are -defined by the Steering committee. +change in direction for the API. Generation release changes are approved by the +LNG Steering Committee, which is the governing body for ODP. === Major releases === -Major (API) releases are scheduled to be about once a -quarter, but when there is significant progress made they may be more frequent. +Major (API) releases are used when new APIs or capabilities are introduced or +changes are made to existing APIs. These changes may not be +backwards-compatible. Major release changes thus potentially affect ODP +applications as well as implementations. === Point releases === -General bug fixes and other non API altering changes are gathered and a release -made every month if sufficient change has accumulated. +General bug fixes and other non API altering changes are gathered and a +release made every month if sufficient change has accumulated. Examples of a +point release would be typographic corrections to API header file +documentation, other additional documentation, extensions or corrections to +the validation test suite, additions or corrections to example programs, +etc. No API changes are permitted in a point release, so ODP applications are +not impacted. Other ODP implementations _may_ be impacted if, for example, a +bug is fixed in a validation test that results in a latent bug in other +implementations being exposed. === Implementation (Impl) === -Platform specific free form text relating to the version. +Platform specific free form text relating to the version. This field is for +the sole use of implementations to represent their individual service +streams. Its format may vary between implementations. For example, the +`odp-linux` reference implementation uses a simple incrementing digit (0, 1, +2, etc.). Other implementations may use `Build xxxx` or something similar. +Changes in this designator have no impact on and may be ignored by other ODP +implementations. The only changes that ODP applications should see is corrected +functional or performance behavior when running on that specific ODP +implementation. == Deprecating part of the API Deleting or changing the published API follows the normal <>, with the following additional rules: