From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <john.mcnamara@intel.com>
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by dpdk.org (Postfix) with ESMTP id 281E758DB
 for <dev@dpdk.org>; Fri,  2 Dec 2016 17:44:15 +0100 (CET)
Received: from fmsmga002.fm.intel.com ([10.253.24.26])
 by orsmga101.jf.intel.com with ESMTP; 02 Dec 2016 08:44:14 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.33,287,1477983600"; d="scan'208";a="1093738928"
Received: from sivswdev02.ir.intel.com (HELO localhost.localdomain)
 ([10.237.217.46])
 by fmsmga002.fm.intel.com with ESMTP; 02 Dec 2016 08:44:13 -0800
From: John McNamara <john.mcnamara@intel.com>
To: dev@dpdk.org
Cc: John McNamara <john.mcnamara@intel.com>
Date: Fri,  2 Dec 2016 16:44:12 +0000
Message-Id: <1480697052-21951-1-git-send-email-john.mcnamara@intel.com>
X-Mailer: git-send-email 1.7.0.7
Subject: [dpdk-dev] [PATCH v1] doc: add details of sub-trees and maintainers
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Dec 2016 16:44:16 -0000

Add a new section to the Code Contributors Guide to outline
the roles of tree and component maintainers and how they
can be added and removed.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
---
 doc/guides/contributing/patches.rst | 66 ++++++++++++++++++++++++++++++++-----
 1 file changed, 58 insertions(+), 8 deletions(-)

diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index fabddbe..3b5746b 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -12,7 +12,7 @@ The rationale for many of the DPDK guidelines is explained in greater detail in
 
 
 The DPDK Development Process
------------------------------
+----------------------------
 
 The DPDK development process has the following features:
 
@@ -21,13 +21,9 @@ The DPDK development process has the following features:
 * There are maintainers for hierarchical components.
 * Patches are reviewed publicly on the mailing list.
 * Successfully reviewed patches are merged to the repository.
-
-|
-
-* There are main repository ``dpdk`` and sub-repositories ``dpdk-next-*``.
-* A patch should be sent for its target repository. Like net drivers should be on top of dpdk-next-net repository.
-* All sub-repositories are merged into main repository for -rc1 and -rc2 versions of the release.
-* After -rc2 release all patches should target main repository.
+* Patches should be sent to the target repository or sub-tree, see below.
+* All sub-repositories are merged into main repository for ``-rc1`` and ``-rc2`` versions of the release.
+* After the ``-rc2`` release all patches should target the main repository.
 
 The mailing list for DPDK development is `dev@dpdk.org <http://dpdk.org/ml/archives/dev/>`_.
 Contributors will need to `register for the mailing list <http://dpdk.org/ml/listinfo/dev>`_ in order to submit patches.
@@ -37,6 +33,60 @@ The development process requires some familiarity with the ``git`` version contr
 Refer to the `Pro Git Book <http://www.git-scm.com/book/>`_ for further information.
 
 
+Maintainers and Sub-trees
+-------------------------
+
+The DPDK maintenance hierarchy is divided into a main repository ``dpdk`` and sub-repositories ``dpdk-next-*``.
+
+There are maintainers for the trees and for components within the tree.
+
+Trees and maintainers are listed in the ``MAINTAINERS`` file. For example::
+
+    Crypto Drivers
+    --------------
+    M: Some Name <some.name@email.com>
+    T: git://dpdk.org/next/dpdk-next-crypto
+
+    Intel AES-NI GCM PMD
+    M: Another Name <another.name@email.com>
+    F: drivers/crypto/aesni_gcm/
+    F: doc/guides/cryptodevs/aesni_gcm.rst
+
+Where:
+
+* ``M`` is a tree or component maintainer.
+* ``T`` is a repository tree.
+* ``F`` is a maintained file or directory.
+
+Additional details are given in the ``MAINTAINERS`` file.
+
+The role of the component maintainers is to:
+
+* Review patches for the component or delegate the review.
+  This should be done, ideally, within 1-2 weeks of submission to the mailing list.
+* Add an ``acked-by`` to patches, or patchsets, that they agree are ready for committing to a tree.
+
+Component maintainers can be added or removed by submitting a patch to the ``MAINTAINERS`` file.
+Maintainers should have demonstrated a reasonable level of contributions to the component area or to a similar area.
+This should be confirmed by an ``ack`` from an established contributor.
+There can be more than one component maintainer if desired.
+
+The role of the tree maintainers is to:
+
+* Maintain the overall quality of their tree.
+  This can entail additional review, compilation checks or other tests deemed necessary by the maintainer.
+* Commit reviewed patches.
+* Prepare the tree for integration.
+
+Tree maintainers can be added or removed by submitting a patch to the ``MAINTAINERS`` file.
+The proposer should justify the need for a new sub-tree and should have demonstrated a sufficient level of contributions in the area or to a similar area.
+This should be confirmed by 3 ``acks`` from established contributors.
+Disagreements on trees or maintainers can be brought to the Technical Steering Committee.
+
+Tree backup maintainers, when required, can be selected from the active tree maintainers.
+This can be agreed and coordinated by the tree maintainers.
+
+
 Getting the Source Code
 -----------------------
 
-- 
2.7.4