|
| 1 | +# Project Governance |
| 2 | + |
| 3 | +## Working Group |
| 4 | + |
| 5 | +All of the Node.js Foundation websites, including this repo, are jointly governed |
| 6 | +by a Working Group (WG). The WG is responsible for high-level guidance of this and |
| 7 | +related projects which include: |
| 8 | + |
| 9 | +- [nodejs/iojs.org](https://github.com/nodejs/iojs.org) published to https://iojs.org |
| 10 | +- [nodejs/new.nodejs.org](https://github.com/nodejs/iojs.org) published to https://new.nodejs.org |
| 11 | +- [joyent/node-website](https://github.com/joyent/node-website) published to https://nodejs.org |
| 12 | + |
| 13 | +The Website WG has final authority over this project including: |
| 14 | + |
| 15 | +* Technical direction |
| 16 | +* Project governance and process (including this policy) |
| 17 | +* Contribution policy |
| 18 | +* GitHub repository hosting |
| 19 | +* Conduct guidelines |
| 20 | +* Maintaining the list of additional Collaborators |
| 21 | + |
| 22 | +For the current list of WG members, see the project |
| 23 | +[README.md](./README.md#current-project-team-members). |
| 24 | + |
| 25 | +## Collaborators |
| 26 | + |
| 27 | +The [nodejs/new.nodejs.org](https://github.com/nodejs/new.nodejs.org) |
| 28 | +GitHub repository is maintained by the WG and additional Collaborators who are |
| 29 | +added by the WG on an ongoing basis. |
| 30 | + |
| 31 | +Individuals making significant and valuable contributions are made |
| 32 | +Collaborators and given commit-access to the project. These |
| 33 | +individuals are identified by the WG and their addition as |
| 34 | +Collaborators is discussed during the weekly WG meeting. |
| 35 | + |
| 36 | +_Note:_ If you make a significant contribution and are not considered |
| 37 | +for commit-access log an issue or contact a WG member directly and it |
| 38 | +will be brought up in the next WG meeting. |
| 39 | + |
| 40 | +Modifications of the contents of the `nodejs/new.nodejs.org` repository are made on |
| 41 | +a collaborative basis. Anybody with a GitHub account may propose a |
| 42 | +modification via pull request and it will be considered by the project |
| 43 | +Collaborators. All pull requests must be reviewed and accepted by a |
| 44 | +Collaborator with sufficient expertise who is able to take full |
| 45 | +responsibility for the change. In the case of pull requests proposed |
| 46 | +by an existing Collaborator, an additional Collaborator is required |
| 47 | +for sign-off. Consensus should be sought if additional Collaborators |
| 48 | +participate and there is disagreement around a particular |
| 49 | +modification. See _Consensus Seeking Process_ below for further detail |
| 50 | +on the consensus model used for governance. |
| 51 | + |
| 52 | +Collaborators may opt to elevate significant or controversial |
| 53 | +modifications, or modifications that have not found consensus to the |
| 54 | +WG for discussion by assigning the ***WG-agenda*** tag to a pull |
| 55 | +request or issue. The WG should serve as the final arbiter where |
| 56 | +required. |
| 57 | + |
| 58 | +For the current list of Collaborators, see the project |
| 59 | +[README.md](./README.md#current-project-team-members). |
| 60 | + |
| 61 | +## WG Membership |
| 62 | + |
| 63 | +WG seats are not time-limited. There is no fixed size of the WG. |
| 64 | +However, the expected target is between 6 and 12, to ensure adequate |
| 65 | +coverage of important areas of expertise, balanced with the ability to |
| 66 | +make decisions efficiently. |
| 67 | + |
| 68 | +There is no specific set of requirements or qualifications for WG |
| 69 | +membership beyond these rules. |
| 70 | + |
| 71 | +The WG may add additional members to the WG by unanimous consensus. |
| 72 | + |
| 73 | +A WG member may be removed from the WG by voluntary resignation, or by |
| 74 | +unanimous consensus of all other WG members. |
| 75 | + |
| 76 | +Changes to WG membership should be posted in the agenda, and may be |
| 77 | +suggested as any other agenda item (see "WG Meetings" below). |
| 78 | + |
| 79 | +If an addition or removal is proposed during a meeting, and the full |
| 80 | +WG is not in attendance to participate, then the addition or removal |
| 81 | +is added to the agenda for the subsequent meeting. This is to ensure |
| 82 | +that all members are given the opportunity to participate in all |
| 83 | +membership decisions. If a WG member is unable to attend a meeting |
| 84 | +where a planned membership decision is being made, then their consent |
| 85 | +is assumed. |
| 86 | + |
| 87 | +No more than 1/3 of the WG members may be affiliated with the same |
| 88 | +employer. If removal or resignation of a WG member, or a change of |
| 89 | +employment by a WG member, creates a situation where more than 1/3 of |
| 90 | +the WG membership shares an employer, then the situation must be |
| 91 | +immediately remedied by the resignation or removal of one or more WG |
| 92 | +members affiliated with the over-represented employer(s). |
| 93 | + |
| 94 | +## WG Meetings |
| 95 | + |
| 96 | +The WG meets weekly on a Google Hangout On Air. The meeting is run by |
| 97 | +a designated moderator approved by the WG. Each meeting should be |
| 98 | +published to YouTube. |
| 99 | + |
| 100 | +Items are added to the WG agenda which are considered contentious or |
| 101 | +are modifications of governance, contribution policy, WG membership, |
| 102 | +or release process. |
| 103 | + |
| 104 | +The intention of the agenda is not to approve or review all patches, |
| 105 | +that should happen continuously on GitHub and be handled by the larger |
| 106 | +group of Collaborators. |
| 107 | + |
| 108 | +Any community member or contributor can ask that something be added to |
| 109 | +the next meeting's agenda by logging a GitHub Issue. Any Collaborator, |
| 110 | +WG member or the moderator can add the item to the agenda by adding |
| 111 | +the ***WG-agenda*** tag to the issue. |
| 112 | + |
| 113 | +Prior to each WG meeting the moderator will share the Agenda with |
| 114 | +members of the WG. WG members can add any items they like to the |
| 115 | +agenda at the beginning of each meeting. The moderator and the WG |
| 116 | +cannot veto or remove items. |
| 117 | + |
| 118 | +The WG may invite persons or representatives from certain projects to |
| 119 | +participate in a non-voting capacity. |
| 120 | + |
| 121 | +The moderator is responsible for summarizing the discussion of each |
| 122 | +agenda item and send it as a pull request after the meeting. |
| 123 | + |
| 124 | +## Consensus Seeking Process |
| 125 | + |
| 126 | +The WG follows a |
| 127 | +[Consensus Seeking](http://en.wikipedia.org/wiki/Consensus-seeking_decision-making) |
| 128 | +decision making model. |
| 129 | + |
| 130 | +When an agenda item has appeared to reach a consensus the moderator |
| 131 | +will ask "Does anyone object?" as a final call for dissent from the |
| 132 | +consensus. |
| 133 | + |
| 134 | +If an agenda item cannot reach a consensus a WG member can call for |
| 135 | +either a closing vote or a vote to table the issue to the next |
| 136 | +meeting. The call for a vote must be seconded by a majority of the WG |
| 137 | +or else the discussion will continue. Simple majority wins. |
| 138 | + |
| 139 | +Note that changes to WG membership require unanimous consensus. See |
| 140 | +"WG Membership" above. |
0 commit comments