This is an automated email from the ASF dual-hosted git repository.

pingsutw pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/submarine.git


The following commit(s) were added to refs/heads/master by this push:
     new 61933c6  SUBMARINE-1040. Add Bylaws page to the website
61933c6 is described below

commit 61933c6b5a70a5fe3649ae6bac34e96b4da86855
Author: featherchen <[email protected]>
AuthorDate: Fri Oct 1 01:21:41 2021 +0800

    SUBMARINE-1040. Add Bylaws page to the website
    
    ### What is this PR for?
    <!-- A few sentences describing the overall goals of the pull request's 
commits.
    First time? Check out the contributing guide - 
https://submarine.apache.org/contribution/contributions.html
    -->
    Add Bylaws which defines the roles and responsibilities of the project, who 
may vote, how voting works, how conflicts are resolved, etc.
    
    e.g. Bylaws in Hadoop : https://hadoop.apache.org/bylaws.html
    ### What type of PR is it?
    Documentation
    
    ### Todos
    None
    
    ### What is the Jira issue?
    <!-- * Open an issue on Jira 
https://issues.apache.org/jira/browse/SUBMARINE/
    * Put link here, and add [SUBMARINE-*Jira number*] in PR title, eg. 
`SUBMARINE-23. PR title`
    -->
    https://issues.apache.org/jira/browse/SUBMARINE-1040
    ### How should this be tested?
    <!--
    * First time? Setup Travis CI as described on 
https://submarine.apache.org/contribution/contributions.html#continuous-integration
    * Strongly recommended: add automated unit tests for any new or changed 
behavior
    * Outline any manual steps to test the PR here.
    -->
    ### Screenshots (if appropriate)
    
    See Bylaws.md
    
    ### Questions:
    * Do the license files need updating? No
    * Are there breaking changes for older versions? No
    * Does this need new documentation? No
    
    Author: featherchen <[email protected]>
    
    Signed-off-by: Kevin <[email protected]>
    
    Closes #760 from featherchen/SUBMARINE-1040 and squashes the following 
commits:
    
    872f5a6d [featherchen] SUBMARINE-1040. Add Bylaws
---
 website/docs/community/Bylaws.md | 177 +++++++++++++++++++++++++++++++++++++++
 website/sidebars.js              |  11 +--
 2 files changed, 183 insertions(+), 5 deletions(-)

diff --git a/website/docs/community/Bylaws.md b/website/docs/community/Bylaws.md
new file mode 100644
index 0000000..a3df29a
--- /dev/null
+++ b/website/docs/community/Bylaws.md
@@ -0,0 +1,177 @@
+---
+title: Bylaws
+---
+
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+   http://www.apache.org/licenses/LICENSE-2.0
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+This document defines the bylaws under which the Apache Submarine project 
operates. It defines the roles and responsibilities of the project, who may 
vote, how voting works, how conflicts are resolved, etc.
+
+Submarine is a project of the [Apache Software 
Foundation](https://www.apache.org/foundation/). The foundation holds the 
trademark on the name “Submarine” and copyright on Apache code including the 
code in the Submarine codebase. The [foundation 
FAQ](https://www.apache.org/foundation/faq.html) explains the operation and 
background of the foundation.
+
+Submarine is typical of Apache projects in that it operates under a set of 
principles, known collectively as the “Apache Way”. If you are new to Apache 
development, please refer to the [Incubator 
project](http://incubator.apache.org) for more information on how Apache 
projects operate.
+
+# Roles and Responsibilities
+
+Apache projects define a set of roles with associated rights and 
responsibilities. These roles govern what tasks an individual may perform 
within the project. The roles are defined in the following sections
+
+- **Users**
+
+  The most important participants in the project are people who use our 
software. The majority of our developers start out as users and guide their 
development efforts from the user’s perspective.
+
+  Users contribute to the Apache projects by providing feedback to developers 
in the form of bug reports and feature suggestions. As well, users participate 
in the Apache community by helping other users on mailing lists and user 
support forums.
+
+- **Contributors**
+
+  All of the volunteers who are contributing time, code, documentation, or 
resources to the Submarine Project. A contributor that makes sustained, welcome 
contributions to the project may be invited to become a Committer, though the 
exact timing of such invitations depends on many factors.
+
+- **Committers**
+
+  The project’s Committers are responsible for the project’s technical 
management. Committers have access to all subproject subversion repositories. 
Committers may cast binding votes on any technical discussion regarding any 
subproject.
+
+  Committer access is by invitation only and must be approved by consensus 
approval of the active PMC members. A Committer is considered emeritus by their 
own declaration or by not contributing in any form to the project for over six 
months. An emeritus committer may request reinstatement of commit access from 
the PMC. Such reinstatement is subject to consensus approval of active PMC 
members.
+
+  Significant, pervasive features are often developed in a speculative branch 
of the repository. The PMC may grant commit rights on the branch to its 
consistent contributors, while the initiative is active. Branch committers are 
responsible for shepherding their feature into an active release and do not 
cast binding votes or vetoes in the project.
+
+  All Apache committers are required to have a signed Contributor License 
Agreement (CLA) on file with the Apache Software Foundation. There is a 
[Committer FAQ](https://www.apache.org/dev/committers.html) which provides more 
details on the requirements for Committers
+
+  A committer who makes a sustained contribution to the project may be invited 
to become a member of the PMC. The form of contribution is not limited to code. 
It can also include code review, helping out users on the mailing lists, 
documentation, testing, etc.
+
+- **Release Manager**
+
+  A Release Manager (RM) is a committer who volunteers to produce a Release 
Candidate according to 
[HowToRelease](https://github.com/apache/submarine/blob/master/dev-support/cicd/HowToRelease.md).
 The RM shall publish a Release Plan on the _common-dev@_ list stating the 
branch from which they intend to make a Release Candidate, at least one week 
before they do so. The RM is responsible for building consensus around the 
content of the Release Candidate, in order to achieve a successful Pr [...]
+
+- **Project Management Committee**
+
+  The Project Management Committee (PMC) for Apache Submarine was created by 
the Apache Board in October 2019 when Submarine moved out of Hadoop and became 
a top level project at Apache. The PMC is responsible to the board and the ASF 
for the management and oversight of the Apache Submarine codebase. The 
responsibilities of the PMC include
+
+  - Deciding what is distributed as products of the Apache Submarine project. 
In particular all releases must be approved by the PMC
+  - Maintaining the project’s shared resources, including the codebase 
repository, mailing lists, websites.
+  - 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
+
+  Membership of the PMC is by invitation only and must be approved by a 
consensus approval of active PMC members. A PMC member is considered “emeritus” 
by their own declaration or by not contributing in any form to the project for 
over six months. An emeritus member may request reinstatement to the PMC. Such 
reinstatement is subject to consensus approval of the active PMC members.
+
+  The chair of the PMC is appointed by the ASF board. The chair is an office 
holder of the Apache Software Foundation (Vice President, Apache Submarine) and 
has primary responsibility to the board for the management of the projects 
within the scope of the Submarine PMC. The chair reports to the board quarterly 
on developments within the Submarine project.
+
+  The chair of the PMC is rotated annually. When the chair is rotated or if 
the current chair of the PMC resigns, the PMC votes to recommend a new chair 
using Single Transferable Vote (STV) voting. See 
[https://wiki.apache.org/general/BoardVoting](https://wiki.apache.org/general/BoardVoting)
 for specifics. The decision must be ratified by the Apache board.
+
+# Decision Making
+
+Within the Submarine project, different types of decisions require different 
forms of approval. For example, the previous section describes several 
decisions which require “consensus approval” approval. This section defines how 
voting is performed, the types of approvals, and which types of decision 
require which type of approval.
+
+- **Voting**
+
+  Decisions regarding the project are made by votes on the primary project 
development mailing list ([email protected]). Where necessary, PMC 
voting may take place on the private Submarine PMC mailing list. Votes are 
clearly indicated by subject line starting with \[VOTE\]. Votes may contain 
multiple items for approval and these should be clearly separated. Voting is 
carried out by replying to the vote mail. Voting may take four flavors
+
+  - **+1** “Yes,” “Agree,” or “the action should be performed.” In general, 
this vote also indicates a willingness on the behalf of the voter in “making it 
happen”
+  - **+0** This vote indicates a willingness for the action under 
consideration to go ahead. The voter, however will not be able to help.
+  - **\-0** This vote indicates that the voter does not, in general, agree 
with the proposed action but is not concerned enough to prevent the action 
going ahead.
+  - **\-1** This is a negative vote. 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.
+
+  All participants in the Submarine project are encouraged to show their 
agreement with or against a particular action by voting. For technical 
decisions, only the votes of active committers are binding. Non binding votes 
are still useful for those with binding votes to understand the perception of 
an action in the wider Submarine community. For PMC decisions, only the votes 
of PMC members are binding.
+
+  Voting can also be applied to changes made to the Submarine codebase. These 
typically take the form of a veto (-1) in reply to the commit message sent when 
the commit is made.
+
+- **Approvals**
+
+  These are the types of approvals that can be sought. Different actions 
require different types of approvals
+
+  - **Consensus Approval -** Consensus approval requires 3 binding +1 votes 
and no binding vetoes.
+  - **Lazy Consensus -** Lazy consensus requires no -1 votes (‘silence gives 
assent’).
+  - **Lazy Majority -** A lazy majority vote requires 3 binding +1 votes and 
more binding +1 votes than -1 votes.
+  - **Lazy 2⁄3 Majority -** Lazy 2⁄3 majority votes requires at least 3 votes 
and twice as many +1 votes as -1 votes.
+
+- **Vetoes**
+
+  A valid, binding veto cannot be overruled. If a veto is cast, it must be 
accompanied by a valid reason explaining the reasons for the veto. The validity 
of a veto, if challenged, can be confirmed by anyone who has a binding vote. 
This does not necessarily signify agreement with the veto - merely that the 
veto is valid.
+
+  If you disagree with a valid veto, you must lobby the person casting the 
veto to withdraw their veto. If a veto is not withdrawn, any action that has 
been vetoed must be reversed in a timely manner.
+
+- **Actions**
+
+  This section describes the various actions which are undertaken within the 
project, the corresponding approval required for that action and those who have 
binding votes over the action.
+
+  - **Code Change**
+
+    A change made to a codebase of the project and committed by a committer. 
This includes source code, documentation, website content, etc.
+
+    Consensus approval of active committers, but with a minimum of one +1. The 
code can be committed after the first +1, unless the code change represents a 
merge from a branch, in which case three +1s are required.
+
+  - **Product Release**
+
+    When a release of one of the project’s products is ready, a vote is 
required to accept the release as an official release of the project.
+
+    Lazy Majority of active PMC members
+
+  - **Adoption of New Codebase**
+
+    When the codebase for an existing, released product is to be replaced with 
an alternative codebase. If such a vote fails to gain approval, the existing 
code base will continue.
+
+    This also covers the creation of new sub-projects within the project
+
+    Lazy 2⁄3 majority of PMC members
+
+  - **New Branch Committer**
+
+    When a branch committer is proposed for the PMC
+
+    Lazy consensus of active PMC members
+
+  - **New Committer**
+
+    When a new committer is proposed for the project
+
+    Consensus approval of active PMC members
+
+  - **New PMC Member**
+
+    When a committer is proposed for the PMC
+
+    Consensus approval of active PMC members
+
+  - **Branch Committer Removal**
+
+    When removal of commit privileges is sought **or** when the branch is 
merged to the mainline
+
+    Lazy 2⁄3 majority of active PMC members
+
+  - **Committer Removal**
+
+    When removal of commit privileges is sought. Note: Such actions will also 
be referred to the ASF board by the PMC chair
+
+    Lazy 2⁄3 majority of active PMC members (excluding the committer in 
question if a member of the PMC).
+
+  - **PMC Member Removal**
+
+    When removal of a PMC member is sought. Note: Such actions will also be 
referred to the ASF board by the PMC chair.
+
+    Lazy 2⁄3 majority of active PMC members (excluding the member in question)
+
+  - **Modifying Bylaws**
+
+    Modifying this document.
+
+    Lazy majority of active PMC members
+
+- **Voting Timeframes**
+
+  Votes are open for a period of 7 days to allow all active voters time to 
consider the vote. Votes relating to code changes are not subject to a strict 
timetable but should be made as timely as possible.
+
+  - **Product Release - Vote Timeframe**
+
+    Release votes, alone, run for a period of 5 days. All other votes are 
subject to the above timeframe of 7 days.
diff --git a/website/sidebars.js b/website/sidebars.js
index b10ec3a..98ae3a9 100644
--- a/website/sidebars.js
+++ b/website/sidebars.js
@@ -20,7 +20,7 @@
 module.exports = {
     docs: [
         {
-            "Introduction": [],
+            Introduction: [],
             "Getting Started": [
                 "gettingStarted/quickstart",
                 // "gettingStarted/localDeployment",
@@ -50,7 +50,7 @@ module.exports = {
                     ],
                 },
                 {
-                    "Others": [
+                    Others: [
                         "userDocs/others/mlflow",
                         "userDocs/others/tensorboard",
                     ],
@@ -69,7 +69,8 @@ module.exports = {
                 "devDocs/IntegrationTestK8s",
                 "devDocs/IntegrationTestE2E",
             ],
-            "Community": [
+            Community: [
+                "community/Bylaws",
                 "community/README",
                 "community/HowToCommit",
                 "community/contributing",
@@ -95,13 +96,13 @@ module.exports = {
                     ],
                 },
             ],
-            "Releases": [
+            Releases: [
                 "releases/submarine-release-0.2.0",
                 "releases/submarine-release-0.3.0",
                 "releases/submarine-release-0.4.0",
                 "releases/submarine-release-0.5.0",
             ],
-            "RoadMap": [],
+            RoadMap: [],
         },
     ],
     api: [

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to