From patchwork Thu Jan 7 19:17:22 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Mike Holmes X-Patchwork-Id: 59301 Delivered-To: patch@linaro.org Received: by 10.112.130.2 with SMTP id oa2csp109327lbb; Thu, 7 Jan 2016 11:17:39 -0800 (PST) X-Received: by 10.55.75.203 with SMTP id y194mr117469019qka.2.1452194259244; Thu, 07 Jan 2016 11:17:39 -0800 (PST) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id a78si55576697qgf.66.2016.01.07.11.17.38; Thu, 07 Jan 2016 11:17:39 -0800 (PST) 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; dkim=neutral (body hash did not verify) header.i=@linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 796DB617FA; Thu, 7 Jan 2016 19:17:38 +0000 (UTC) Authentication-Results: lists.linaro.org; dkim=fail reason="verification failed; unprotected key" header.d=linaro.org header.i=@linaro.org header.b=Fh58Hu/j; dkim-adsp=none (unprotected policy); dkim-atps=neutral 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.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,T_DKIM_INVALID,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 C929C617C8; Thu, 7 Jan 2016 19:17:32 +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 CAAC1617C5; Thu, 7 Jan 2016 19:17:30 +0000 (UTC) Received: from mail-qk0-f172.google.com (mail-qk0-f172.google.com [209.85.220.172]) by lists.linaro.org (Postfix) with ESMTPS id B2B75617C5 for ; Thu, 7 Jan 2016 19:17:29 +0000 (UTC) Received: by mail-qk0-f172.google.com with SMTP id q19so134525655qke.3 for ; Thu, 07 Jan 2016 11:17:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version:content-type :content-transfer-encoding; bh=SJqSnvswBMTLoGcO43ShujNMDYveiMjoE8cFOxze2XE=; b=Fh58Hu/jM99dWjLN9qPSuL/aHbmQ7aBj4Ujr8st0NhskMazAlClF0EIbSbJIqwd6tw SZiRqdYj62kUKsEJFxxhmgQu6X8sRZtZABo/VUBoFnhM3+G9g8T6Z7Z+cqvK/fdDBCFe 8FPcx7Y6z4gI0rDf+Z5oxJBVQ2sGN2RAOv/qY= 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:mime-version :content-type:content-transfer-encoding; bh=SJqSnvswBMTLoGcO43ShujNMDYveiMjoE8cFOxze2XE=; b=XMIHofUkRvApfuICiktlJQb56nY42nsI9l11ACg2wbUbT4NuHlaQQINVrEG7u39fVR DGbM54kM/czUSlNau4WSCrpkZ2p0kp0wtYUbYE8KwiyZRRYX9sR72O0fB0+ubYAh8emm 6Txyma1/czmRB0qFQXqDe6wRqdZvtgwuvXWMCxI4Wsda2+hgCqVe3GN0lgaRHUxBzpx0 ek/XnPculGnU0CPJRR3oEOycKpeevoHkOUMtrurq1KBOSTUJR41Yql6xy+IaJ30HPcON JadcxEtjFyDmKQwGL4oURw8PRRM6XmjmBXdNE5atVz87daqsg1hXMTepm7SlnakGae1c 5kNg== X-Gm-Message-State: ALoCoQkKqaA4+OVY7/THHijsBAxCnvkbYE1eTYBgobrGnyYXnAmDkBDrhYNBMN6BRmtWzTxytjUrLsUShIYtC5lWZDI1l3TapQ== X-Received: by 10.55.20.75 with SMTP id e72mr70190701qkh.72.1452194249468; Thu, 07 Jan 2016 11:17:29 -0800 (PST) Received: from localhost.localdomain (c-98-221-136-245.hsd1.nj.comcast.net. [98.221.136.245]) by smtp.gmail.com with ESMTPSA id e34sm28055034qga.4.2016.01.07.11.17.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 07 Jan 2016 11:17:28 -0800 (PST) From: Mike Holmes To: lng-odp@lists.linaro.org Date: Thu, 7 Jan 2016 14:17:22 -0500 Message-Id: <1452194242-10579-1-git-send-email-mike.holmes@linaro.org> X-Mailer: git-send-email 2.5.0 MIME-Version: 1.0 X-Topics: patch Subject: [lng-odp] [PATCH] doc: process: add byelaws 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" The bylaws were only recorded as part of the website, move them to git where they can be tracked. Signed-off-by: Mike Holmes Reviewed-by: Bill Fischofer --- doc/process-guide/Makefile.am | 10 ++-- doc/process-guide/bylaws-guide.adoc | 104 ++++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+), 4 deletions(-) create mode 100644 doc/process-guide/bylaws-guide.adoc diff --git a/doc/process-guide/Makefile.am b/doc/process-guide/Makefile.am index 54e2c1d..1ac32da 100644 --- a/doc/process-guide/Makefile.am +++ b/doc/process-guide/Makefile.am @@ -1,11 +1,13 @@ -TARGET = $(top_srcdir)/doc/output/release-guide.html +TARGET = $(top_srcdir)/doc/output/release-guide.html $(top_srcdir)/doc/output/bylaws-guide.html -EXTRA_DIST = release-guide.adoc +EXTRA_DIST = release-guide.adoc bylaws-guide.adoc all-local: $(TARGET) -$(TARGET): release-guide.adoc - @mkdir -p $(top_srcdir)/doc/output +$(top_srcdir)/doc/output/release-guide.html: release-guide.adoc + asciidoc -b html5 -a icons -a toc2 -a max-width=55em --out-file=$@ $< + +$(top_srcdir)/doc/output/bylaws-guide.html: bylaws-guide.adoc asciidoc -b html5 -a icons -a toc2 -a max-width=55em --out-file=$@ $< clean-local: diff --git a/doc/process-guide/bylaws-guide.adoc b/doc/process-guide/bylaws-guide.adoc new file mode 100644 index 0000000..91411da --- /dev/null +++ b/doc/process-guide/bylaws-guide.adoc @@ -0,0 +1,104 @@ +OpenDataPlane (ODP) Bylaws-Guide +================================ +:toc: + +:numbered!: +[abstract] +Abstract +-------- +This document is intended to guide a new application developer in +understanding the bylaws + +The ODP project has established a set of by-laws defining the operational +processes by which direction of ODP resources is determined and how the product +is managed. + +The by-laws define roles, stewardship/management, patch approvals, voting +procedures, and reporting (Roadmap) requirements. + +Further details about ODP may be found at the http://opendataplane.org[ODP] +home page. + +:numbered: + +== Roles considered +=== Users +People that use the project and submit bugs and request new features to the +project. + +=== Contributors +All of the volunteers who are contributing time, code, documentation, or +resources to the project. A contributor that makes sustained, welcome +contributions to the project may be invited to become a maintainer, though the +exact timing of such invitations depends on many factors. + +If a contributor wants to move the project in direction X or add feature Y, and +that requires a lot of rewrite in the existing code-base then: + +* explain that in an email to the mailing list. +* send out RFCs (early and often) with example code, so the community (and +maintainers) can see what you want and say if it fits or not. + +The above helps find and solve common problems among contributors. + +=== Maintainer(s) +* The maintainer for a project have push rights to the main repo. Only one +maintainer. The most trustworthy sub-maintainer shall step in and take over the +maintainer ship as required. +* Sub-maintainer(s) one or many for the different modules in the project. +* Sub-maintainers shall focus on ensuring that the current code base has good +quality and review new patches to maintain that good quality. +* When Maintainers accept code, they have to deal with it until they die or rip +it out (so its important that they understand what the code does and why they +need it). The contributor shall convince the maintainer to take their code (the +maintainer should feel like he would be stupid to not accept the code…) + +=== Release Manager === + +* The RM shall publish a Release Plan on the roadmap. One week before the +release the candidate list will be reviewed. +* The RM is responsible for building consensus around the content of the +Release. + +== Roadmap +The roadmap shall state projected future releases and the expected content. + +== Steering Committee (SC) +* Maintaining the project’s shared resources, email lists and the homepage. +* Speaking on behalf of the project. +* Resolving license disputes regarding products of the project. +* Nominating new PMC members and committers. +* Maintaining these bylaws and other guidelines of the project. +* Planning the roadmap (shall state projected future releases and the expected +content). + +=== Patch approval +Reviewed-by is only replied to the list after inspecting the code. If you have +review comments they should be constructive and not just saying “no”. +Reviewed-by and Signed-off-by implies that you are co-responsible for any bugs +found in the code. + +If you don’t respond you are assumed to agree with the patch. + +== Voting == +Voting is necessary if consensus not has been reached. Must have established +quorum. + +* “Yes”, “Agree”,"+1" the action should be performed. +In general, this vote also indicates a willingness on the behalf of the voter in +“making it happen” + +* “Abstain” This vote indicates that the voter abstains. +The voter has no interest or does not participate in the vote. + +* “No”, “Disagree” "-1" the action should not be performed. +On issues where consensus is required, this vote counts as a veto. All vetoes +must contain an explanation of why the veto is appropriate. Vetoes with no +explanation are void. It may also be appropriate for a -1 vote to include an +alternative course of action. + +== Adding new features == + +If person X adds a new feature (API group X) then he should/could be asked to +be the maintainer for that feature. Code (old or new) is likely to be removed +if it is unmaintained.