Skip to content

Commit

Permalink
doc(gov): add GOVERNANCE.md
Browse files Browse the repository at this point in the history
PR-URL: nodejs#54

Related: nodejs/docker-iojs#65
Signed-off-by: Hans Kristian Flaatten <[email protected]>
  • Loading branch information
Hans Kristian Flaatten committed Oct 13, 2015
1 parent 184653e commit 6c2237c
Showing 1 changed file with 174 additions and 0 deletions.
174 changes: 174 additions & 0 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
# Docker Working Group

The Node.js Docker project is jointly governed by a Working Group (WG)
that is responsible for high-level guidance of the project.

The WG has final authority over this project including:

* Technical direction
* Project governance and process (including this policy)
* Contribution policy
* GitHub repository hosting
* Conduct guidelines
* Maintaining the list of additional Collaborators

For the current list of WG members, see the project
[README.md](./README.md#people).

## Collaborators

The [nodejs/docker-node](https://github.com/nodejs/docker-node) GitHub
repository is maintained by the WG and additional Collaborators who
are added by the WG on an ongoing basis.

Individuals making significant and valuable contributions are made
Collaborators and given commit-access to the project. These
individuals are identified by the WG and their addition as
Collaborators is discussed as a pull request to this project's
[README.md](./README.md#people).

_Note:_ If you make a significant contribution and are not considered
for commit-access log an issue or contact a WG member directly.

Modifications of the contents of the
[nodejs/docker-node](https://github.com/nodejs/docker-node) repository
are made on a collaborative basis. Anybody with a GitHub account may
propose a modification via pull request and it will be considered by
the project Collaborators. All pull requests must be reviewed and
accepted by a Collaborator with sufficient expertise who is able to
take full responsibility for the change. In the case of pull requests
proposed by an existing Collaborator, an additional Collaborator is
required for sign-off. Consensus should be sought if additional
Collaborators participate and there is disagreement around a
particular modification. See _Consensus Seeking Process_ below for
further detail on the consensus model used for governance.

Collaborators may opt to elevate significant or controversial
modifications, or modifications that have not found consensus to the
WG for discussion by assigning the ***WG-agenda*** label to a pull
request or issue. The WG should serve as the final arbiter where
required.

For the current list of Collaborators, see the project
[README.md](./README.md#people).

## WG Membership

WG seats are not time-limited. There is no fixed size of the WG.
However, the expected target is between 6 and 12, to ensure adequate
coverage of important areas of expertise, balanced with the ability to
make decisions efficiently.

There is no specific set of requirements or qualifications for WG
membership beyond these rules.

The WG may add, or remove, members to and from the WG. A WG member may
choose to be removed from the WG by voluntary resignation.

Changes to WG membership should be posted in the
[nodejs/docker-node](https://github.com/nodejs/docker-node) repository
as an issue or pull request with the ***WG-agenda*** label followed by
the consensus seeking process described below.

No more than 1/3 of the WG members may be affiliated with the same
employer. If removal or resignation of a WG member, or a change of
employment by a WG member, creates a situation where more than 1/3 of
the WG membership shares an employer, then the situation must be
immediately remedied by the resignation or removal of one or more WG
members affiliated with the over-represented employer(s).

## WG Meetings

This working group does not meet. All discussions and decisions
happen in the
[nodejs/docker-node](https://github.com/nodejs/docker-node) repository
in issues and pull requests. Items that requires a decission by the
WG can be flagged with the ***WG-agenda*** label.

When an issue is tagged with ***WG-agenda***, the WG may invite
persons or representatives from certain projects to participate in the
discussion in a non-voting capacity.

## Consensus Seeking Process

The WG follows a [Consensus
Seeking](http://en.wikipedia.org/wiki/Consensus-seeking_decision-making)
decision-making model.

All proposed changes to the project must be made in the form of a pull
request to the repository (directly commiting to a production branch
of the repository is not permitted). The consensus seeking process
will then follow via discussion by the WG members on that pull
request. Changes deemed trivial by WG members may be merged instantly
by any WG member, without waiting for consensus, so long as they leave
a note explaining the reason for the merge.

When an agenda item has appeared to reach a consensus any WG member
may ask "Does anyone object?" as a final call for dissent from the
consensus.

If an agenda item cannot reach a consensus a WG member can call for a
closing vote. The call for a vote must be seconded by a majority of
the WG or else the discussion will continue. Simple majority wins.

## Developer's Certificate of Origin 1.0

By making a contribution to this project, I certify that:

* (a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license indicated
in the file; or

* (b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source license
and I have the right under that license to submit that work with
modifications, whether created in whole or in part by me, under the
same open source license (unless I am permitted to submit under a
different license), as indicated in the file; or

* (c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified it.

## Code of Conduct

This Code of Conduct is adapted from [Rust's wonderful
CoC](https://github.com/rust-lang/rust/wiki/Note-development-policy#conduct).

* We are committed to providing a friendly, safe and welcoming
environment for all, regardless of gender, sexual orientation,
disability, ethnicity, religion, or similar personal characteristic.

* Please avoid using overtly sexual nicknames or other nicknames that
might detract from a friendly, safe and welcoming environment for
all.

* Please be kind and courteous. There's no need to be mean or rude.
* Respect that people have differences of opinion and that every
design or implementation choice carries a trade-off and numerous
costs. There is seldom a right answer.

* Please keep unstructured critique to a minimum. If you have solid
ideas you want to experiment with, make a fork and see how it works.

* We will exclude you from interaction if you insult, demean or harass
anyone. That is not welcome behaviour. We interpret the term
"harassment" as including the definition in the [Citizen Code of
Conduct](http://citizencodeofconduct.org/); if you have any lack of
clarity about what might be included in that concept, please read
their definition. In particular, we don't tolerate behavior that
excludes people in socially marginalized groups.

* Private harassment is also unacceptable. No matter who you are, if
you feel you have been or are being harassed or made uncomfortable
by a community member, please contact one of the channel ops or any
of the TC members immediately with a capture (log, photo, email) of
the harassment if possible. Whether you're a regular contributor or
a newcomer, we care about making this community a safe place for you
and we've got your back.

* Likewise any spamming, trolling, flaming, baiting or other
attention-stealing behaviour is not welcome.

* Avoid the use of personal pronouns in code comments or
documentation. There is no need to address persons when explaining
code (e.g. "When the developer")

0 comments on commit 6c2237c

Please sign in to comment.