|
| 1 | +# Docker Working Group |
| 2 | + |
| 3 | +The Node.js Docker project is jointly governed by a Working Group (WG) |
| 4 | +that is responsible for high-level guidance of the project. |
| 5 | + |
| 6 | +The WG has final authority over this project including: |
| 7 | + |
| 8 | +* Technical direction |
| 9 | +* Project governance and process (including this policy) |
| 10 | +* Contribution policy |
| 11 | +* GitHub repository hosting |
| 12 | +* Conduct guidelines |
| 13 | +* Maintaining the list of additional Collaborators |
| 14 | + |
| 15 | +For the current list of WG members, see the project |
| 16 | +[README.md](./README.md#people). |
| 17 | + |
| 18 | +## Collaborators |
| 19 | + |
| 20 | +The [nodejs/docker-node](https://github.com/nodejs/docker-node) GitHub |
| 21 | +repository is maintained by the WG and additional Collaborators who |
| 22 | +are added by the WG on an ongoing basis. |
| 23 | + |
| 24 | +Individuals making significant and valuable contributions are made |
| 25 | +Collaborators and given commit-access to the project. These |
| 26 | +individuals are identified by the WG and their addition as |
| 27 | +Collaborators is discussed as a pull request to this project's |
| 28 | +[README.md](./README.md#people). |
| 29 | + |
| 30 | +_Note:_ If you make a significant contribution and are not considered |
| 31 | +for commit-access log an issue or contact a WG member directly. |
| 32 | + |
| 33 | +Modifications of the contents of the |
| 34 | +[nodejs/docker-node](https://github.com/nodejs/docker-node) repository |
| 35 | +are made on a collaborative basis. Anybody with a GitHub account may |
| 36 | +propose a modification via pull request and it will be considered by |
| 37 | +the project Collaborators. All pull requests must be reviewed and |
| 38 | +accepted by a Collaborator with sufficient expertise who is able to |
| 39 | +take full responsibility for the change. In the case of pull requests |
| 40 | +proposed by an existing Collaborator, an additional Collaborator is |
| 41 | +required for sign-off. Consensus should be sought if additional |
| 42 | +Collaborators participate and there is disagreement around a |
| 43 | +particular modification. See _Consensus Seeking Process_ below for |
| 44 | +further detail on the consensus model used for governance. |
| 45 | + |
| 46 | +Collaborators may opt to elevate significant or controversial |
| 47 | +modifications, or modifications that have not found consensus to the |
| 48 | +WG for discussion by assigning the ***WG-agenda*** label to a pull |
| 49 | +request or issue. The WG should serve as the final arbiter where |
| 50 | +required. |
| 51 | + |
| 52 | +For the current list of Collaborators, see the project |
| 53 | +[README.md](./README.md#people). |
| 54 | + |
| 55 | +## WG Membership |
| 56 | + |
| 57 | +WG seats are not time-limited. There is no fixed size of the WG. |
| 58 | +However, the expected target is between 6 and 12, to ensure adequate |
| 59 | +coverage of important areas of expertise, balanced with the ability to |
| 60 | +make decisions efficiently. |
| 61 | + |
| 62 | +There is no specific set of requirements or qualifications for WG |
| 63 | +membership beyond these rules. |
| 64 | + |
| 65 | +The WG may add, or remove, members to and from the WG. A WG member may |
| 66 | +choose to be removed from the WG by voluntary resignation. |
| 67 | + |
| 68 | +Changes to WG membership should be posted in the |
| 69 | +[nodejs/docker-node](https://github.com/nodejs/docker-node) repository |
| 70 | +as an issue or pull request with the ***WG-agenda*** label followed by |
| 71 | +the consensus seeking process described below. |
| 72 | + |
| 73 | +No more than 1/3 of the WG members may be affiliated with the same |
| 74 | +employer. If removal or resignation of a WG member, or a change of |
| 75 | +employment by a WG member, creates a situation where more than 1/3 of |
| 76 | +the WG membership shares an employer, then the situation must be |
| 77 | +immediately remedied by the resignation or removal of one or more WG |
| 78 | +members affiliated with the over-represented employer(s). |
| 79 | + |
| 80 | +## WG Meetings |
| 81 | + |
| 82 | +This working group does not meet. All discussions and decisions |
| 83 | +happen in the |
| 84 | +[nodejs/docker-node](https://github.com/nodejs/docker-node) repository |
| 85 | +in issues and pull requests. Items that requires a decission by the |
| 86 | +WG can be flagged with the ***WG-agenda*** label. |
| 87 | + |
| 88 | +When an issue is tagged with ***WG-agenda***, the WG may invite |
| 89 | +persons or representatives from certain projects to participate in the |
| 90 | +discussion in a non-voting capacity. |
| 91 | + |
| 92 | +## Consensus Seeking Process |
| 93 | + |
| 94 | +The WG follows a [Consensus |
| 95 | +Seeking](http://en.wikipedia.org/wiki/Consensus-seeking_decision-making) |
| 96 | +decision-making model. |
| 97 | + |
| 98 | +All proposed changes to the project must be made in the form of a pull |
| 99 | +request to the repository (directly commiting to a production branch |
| 100 | +of the repository is not permitted). The consensus seeking process |
| 101 | +will then follow via discussion by the WG members on that pull |
| 102 | +request. Changes deemed trivial by WG members may be merged instantly |
| 103 | +by any WG member, without waiting for consensus, so long as they leave |
| 104 | +a note explaining the reason for the merge. |
| 105 | + |
| 106 | +When an agenda item has appeared to reach a consensus any WG member |
| 107 | +may ask "Does anyone object?" as a final call for dissent from the |
| 108 | +consensus. |
| 109 | + |
| 110 | +If an agenda item cannot reach a consensus a WG member can call for a |
| 111 | +closing vote. The call for a vote must be seconded by a majority of |
| 112 | +the WG or else the discussion will continue. Simple majority wins. |
| 113 | + |
| 114 | +## Developer's Certificate of Origin 1.0 |
| 115 | + |
| 116 | +By making a contribution to this project, I certify that: |
| 117 | + |
| 118 | +* (a) The contribution was created in whole or in part by me and I |
| 119 | + have the right to submit it under the open source license indicated |
| 120 | + in the file; or |
| 121 | + |
| 122 | +* (b) The contribution is based upon previous work that, to the best |
| 123 | + of my knowledge, is covered under an appropriate open source license |
| 124 | + and I have the right under that license to submit that work with |
| 125 | + modifications, whether created in whole or in part by me, under the |
| 126 | + same open source license (unless I am permitted to submit under a |
| 127 | + different license), as indicated in the file; or |
| 128 | + |
| 129 | +* (c) The contribution was provided directly to me by some other |
| 130 | + person who certified (a), (b) or (c) and I have not modified it. |
| 131 | + |
| 132 | +## Code of Conduct |
| 133 | + |
| 134 | +This Code of Conduct is adapted from [Rust's wonderful |
| 135 | +CoC](https://github.com/rust-lang/rust/wiki/Note-development-policy#conduct). |
| 136 | + |
| 137 | +* We are committed to providing a friendly, safe and welcoming |
| 138 | + environment for all, regardless of gender, sexual orientation, |
| 139 | + disability, ethnicity, religion, or similar personal characteristic. |
| 140 | + |
| 141 | +* Please avoid using overtly sexual nicknames or other nicknames that |
| 142 | + might detract from a friendly, safe and welcoming environment for |
| 143 | + all. |
| 144 | + |
| 145 | +* Please be kind and courteous. There's no need to be mean or rude. |
| 146 | +* Respect that people have differences of opinion and that every |
| 147 | + design or implementation choice carries a trade-off and numerous |
| 148 | + costs. There is seldom a right answer. |
| 149 | + |
| 150 | +* Please keep unstructured critique to a minimum. If you have solid |
| 151 | + ideas you want to experiment with, make a fork and see how it works. |
| 152 | + |
| 153 | +* We will exclude you from interaction if you insult, demean or harass |
| 154 | + anyone. That is not welcome behaviour. We interpret the term |
| 155 | + "harassment" as including the definition in the [Citizen Code of |
| 156 | + Conduct](http://citizencodeofconduct.org/); if you have any lack of |
| 157 | + clarity about what might be included in that concept, please read |
| 158 | + their definition. In particular, we don't tolerate behavior that |
| 159 | + excludes people in socially marginalized groups. |
| 160 | + |
| 161 | +* Private harassment is also unacceptable. No matter who you are, if |
| 162 | + you feel you have been or are being harassed or made uncomfortable |
| 163 | + by a community member, please contact one of the channel ops or any |
| 164 | + of the TC members immediately with a capture (log, photo, email) of |
| 165 | + the harassment if possible. Whether you're a regular contributor or |
| 166 | + a newcomer, we care about making this community a safe place for you |
| 167 | + and we've got your back. |
| 168 | + |
| 169 | +* Likewise any spamming, trolling, flaming, baiting or other |
| 170 | + attention-stealing behaviour is not welcome. |
| 171 | + |
| 172 | +* Avoid the use of personal pronouns in code comments or |
| 173 | + documentation. There is no need to address persons when explaining |
| 174 | + code (e.g. "When the developer") |
0 commit comments