rfc:adopt-code-of-conduct
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:adopt-code-of-conduct [2016/01/07 18:00] – A buncch of major changes, wip ircmaxell | rfc:adopt-code-of-conduct [2017/09/22 13:28] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== PHP RFC: Adopt Code Of Conduct ====== | ====== PHP RFC: Adopt Code Of Conduct ====== | ||
- | * Version: 0.4 | + | * Version: 0.5 |
- | * Date: 2016-01-04 | + | * Date: 2016-01-20 |
- | * Author: Anthony Ferrara < | + | * Author: Derick Rethans < |
- | * Status: | + | * Original |
+ | * Status: | ||
* First Published at: http:// | * First Published at: http:// | ||
Line 9: | Line 10: | ||
This RFC proposes that the PHP project should adopt a formal code of conduct for its members. | This RFC proposes that the PHP project should adopt a formal code of conduct for its members. | ||
+ | |||
+ | The goal of this code of conduct is to give a clear signal what is expected of contributors and project maintainers, | ||
+ | |||
+ | This proposal consists of several parts: | ||
+ | |||
+ | * A general "Code of Conduct", | ||
+ | * A set of guidelines to foster collaboration on proposed language features through RFCs [[guidelines]]. | ||
+ | * A set of procedures to follow if individuals wish to make complaints if other project members do not follow either the Code of Conduct or the Constructive Collaboration Guidelines. | ||
+ | * A Contributor Mediation Team to asses and act upon the complaints as received through the above procedures | ||
+ | * Possibilities for strong action if things really go awry regarding a project member. For example, if project members continue to violate the Collaboration Guidelines or Code of Conduct after several rounds of mediation and/or complaints. | ||
===== Proposal ===== | ===== Proposal ===== | ||
+ | |||
+ | ==== Code of Conduct ==== | ||
This RFC proposes for the PHP project to adopt [[http:// | This RFC proposes for the PHP project to adopt [[http:// | ||
- | ==== Code of Conduct Text ==== | + | === Code of Conduct Text === |
Contributor Code of Conduct | Contributor Code of Conduct | ||
Line 30: | Line 43: | ||
religion, or nationality. | religion, or nationality. | ||
- | Examples of unacceptable | + | Examples of unacceptable |
* The use of sexualized language or imagery | * The use of sexualized language or imagery | ||
Line 42: | Line 55: | ||
or reject comments, commits, code, wiki edits, issues, and other | or reject comments, commits, code, wiki edits, issues, and other | ||
contributions that are not aligned to this Code of Conduct, or to ban | contributions that are not aligned to this Code of Conduct, or to ban | ||
- | temporarily or permanently any contributor for other behaviors | + | temporarily or permanently any contributor for other behaviours |
deem inappropriate, | deem inappropriate, | ||
Line 53: | Line 66: | ||
spaces when an individual is representing the project or its community. | spaces when an individual is representing the project or its community. | ||
- | Instances of abusive, harassing, or otherwise unacceptable | + | Instances of abusive, harassing, or otherwise unacceptable |
be reported by contacting a project maintainer at codeofconduct@php.net. | be reported by contacting a project maintainer at codeofconduct@php.net. | ||
All complaints will be reviewed and investigated and will | All complaints will be reviewed and investigated and will | ||
Line 64: | Line 77: | ||
http:// | http:// | ||
- | ==== Website Page ==== | + | === Website Page === |
A page will be created on php.net at // | A page will be created on php.net at // | ||
- | ==== Mailing List ==== | + | ==== Constructive Collaboration Guidelines |
- | A new mailing list will be created at // | + | This section presents a loose collection of guidelines that focus on encouraging constructive feedback on language proposals (RFCs). RFCs are used to introduce |
- | ==== Conflict Resolution Team ==== | + | Below are several suggestions: |
- | A team of 5 volunteers shall be assembled who will make up the Conflict Resolution Team. | + | * Post infrequently. Take the time to read the existing thread. In general, don't send more than one post per hour about a single topic. |
+ | * Write clear and unambiguous prose. It is better to be descriptive than to be concise. | ||
+ | * Write as much as is necessary, but as little as you can get away with. | ||
+ | * Suggest improvements to the RFC, don't just shoot it down. | ||
+ | * Don't use hyperboles to defend your arguments. | ||
+ | * Don't send a "quick email", | ||
+ | * Think before you send " | ||
+ | * Debate the technical issues, and never attack a person' | ||
- | The team shall consist of: | + | === Website Page === |
- | * At least one person with commit karma to php-src | + | A page will be created on php.net at //php.net/ |
- | * At least one person with commit karma to php-documentation | + | |
- | As long as the preceding two seats are filled, there is no karma requirement (wiki or otherwise) for the remaining three seats. | ||
- | All team members will be elected by RFC vote (requiring 2/3 majority). | + | ==== Complaints procedure ==== |
- | There is no specified term limit, but if either the PHP project or the other members of the Conflict Resolution Team feel that a specific member is not doing their job, they can be removed by an RFC vote (requiring 50% + 1 to support removal). | + | === Mailing List === |
- | ==== Process For Reported Incidents | + | A new mailing list will be created at // |
+ | |||
+ | === Process For Reported Incidents === | ||
In the event that an incident is reported the following process should be followed: | In the event that an incident is reported the following process should be followed: | ||
- | * A Conflict Resolution | + | * The Community Mediation |
- | * The team member documents the issue as best as possible, researching any supporting materials necessary | + | * The Community Mediation Team should pick a case handler to deal with each specific incident |
- | * The team member shall make contact with the accused offending party and document their side as much as possible | + | * A team member documents the issue as best as possible, researching any supporting materials necessary |
- | * The team member shall make every reasonable attempt to mediate and defuse the situation without needing to resort to punishment | + | * A team member shall make contact with the accused offending party and document their side as much as possible |
+ | * A team member shall make every reasonable attempt to mediate and defuse the situation without needing to resort to punishment | ||
- | If all reasonable efforts to reach a mediated agreement fail and punitive | + | If all reasonable efforts to reach a mediated agreement fail and other action is deemed |
- | * The team member makes a recommended course-of-action to the Conflict Resolution | + | * The team member makes a recommended course-of-action to the Community Mediation |
- | * The CoC team will vote internally on the recommended course-of-action (4/5 majority required to affect any action) | + | * The Community Mediation Team will vote internally on the recommended course-of-action (4/5 majority required to affect any action) |
- | * The CoC shall report a redacted summary of the incident and the course-of-action to // | + | * The Community Mediation Team shall report a redacted summary of the incident and the course-of-action to // |
At all steps the reporter(s) should be kept up to date on the process and recommendations that are made. | At all steps the reporter(s) should be kept up to date on the process and recommendations that are made. | ||
- | ==== Reasonable Person Test ==== | + | === Confidentiality === |
+ | |||
+ | All incidents are to be kept in the strictest form of confidentiality. The Community Mediation Team shall be the only group to know about the reporter and the precise details of any incident. Any communication outside of the team (including fact-finding, | ||
+ | |||
+ | Additionally, | ||
+ | |||
+ | |||
+ | === Reasonable Person Test === | ||
To determine if the incident is a violation or not, the Conflict Resolution Team shall use the [[https:// | To determine if the incident is a violation or not, the Conflict Resolution Team shall use the [[https:// | ||
Line 118: | Line 146: | ||
Note: reporting an incident does not absolve a person of the requirement to abide by the CoC. This means that the victim of harassment is not entitled to " | Note: reporting an incident does not absolve a person of the requirement to abide by the CoC. This means that the victim of harassment is not entitled to " | ||
+ | |||
+ | |||
+ | ==== Community Mediation Team ==== | ||
+ | |||
+ | A team of 5 volunteers shall be assembled who will make up the Community Mediation Team. | ||
+ | |||
+ | The team shall consist of: | ||
+ | |||
+ | * At least one person with commit karma to php-src | ||
+ | * At least one person **without** any karma to php-src | ||
+ | * At least one person with commit karma to php-documentation | ||
+ | |||
+ | As long as the preceding three seats are filled, there is no karma requirement (wiki or otherwise) for the remaining three seats. | ||
+ | |||
+ | All team members will be elected by RFC vote (requiring 2/3 majority). | ||
+ | |||
+ | There is no specified term limit, but if either the PHP project or the other members of the Community Mediation Team feel that a specific member is not doing their job, they can be removed by an RFC vote (requiring 50% + 1 to support removal). | ||
+ | |||
+ | === Transparency === | ||
+ | |||
+ | Any punitive action taken by the Conflict Resolution Team shall be reported to internals@php.net, | ||
+ | |||
+ | Reasonable efforts should be taken to ensure the privacy of the reporting party. The only two exceptions would be if the incident was public or if the reporting party agrees to be identified. | ||
+ | |||
+ | Additionally, | ||
==== Potential Actions ==== | ==== Potential Actions ==== | ||
- | The Conflict Resolution | + | The intention that nothing in this section is ever going to be needed. In extreme cases, when the Community Mediation Team finds that a certain project member continues to violate either the Code of Conduct or Constructive Contributing Guidelines, more punitive action **might** be required. |
+ | |||
+ | The Community Mediation | ||
In the event that additional action is required, it may include: | In the event that additional action is required, it may include: | ||
Line 130: | Line 185: | ||
* Issue temporary ban (no more than 7 days) | * Issue temporary ban (no more than 7 days) | ||
- | If the Conflict Resolution | + | If the Community Mediation |
- | A ban may include removal of commit karma, mailing list write access as well as disabling of the associated PHP.net account. Depending on the particular infraction, one, many or all access may be suspended. | + | Punitive action |
A new address/ | A new address/ | ||
Line 138: | Line 193: | ||
Bans (temporary or permanent) should only be used in egregious cases where a pattern of disregard for the CoC is demonstrated. | Bans (temporary or permanent) should only be used in egregious cases where a pattern of disregard for the CoC is demonstrated. | ||
- | ==== Appeals | + | === Appeals |
Either party may appeal an action by raising the concern to internals@php.net. PHP project members may then vote to overturn or strengthen the action as necessary (votes require 50%+1 to overturn, and 2/3 majority to strengthen the action). | Either party may appeal an action by raising the concern to internals@php.net. PHP project members may then vote to overturn or strengthen the action as necessary (votes require 50%+1 to overturn, and 2/3 majority to strengthen the action). | ||
- | It is worth noting that this may be used as a technique to attempt to disclose the reporter to make them the subject of public scrutiny. Therefore reasonable attempts at confidentiality should be maintained, and the teams (Conflict Resolution | + | It is worth noting that this may be used as a technique to attempt to disclose the reporter to make them the subject of public scrutiny. Therefore reasonable attempts at confidentiality should be maintained, and the teams (Community Mediation |
- | ==== Confidentiality | + | ==== Additional Sections |
- | All incidents are to be kept in the strictest form of confidentiality. The Conflict Resolution Team shall be the only group to know about the reporter and the precise details of any incident. Any communication outside of the team (including fact-finding, | + | === Conflict of Interest === |
- | + | ||
- | Additionally, | + | |
- | + | ||
- | ==== Transparency ==== | + | |
- | + | ||
- | Any punitive action taken by the Conflict Resolution Team shall be reported to internals@php.net, | + | |
- | + | ||
- | Reasonable efforts should be taken to ensure the privacy of the reporting party. The only two exceptions would be if the incident was public or if the reporting party agrees to be identified. | + | |
- | + | ||
- | Additionally, | + | |
- | + | ||
- | ==== Conflict of Interest | + | |
In the event that a CoC violation is reported against a Conflict Resolution Team member, the remaining members shall investigate and raise the concern to internals@php.net, | In the event that a CoC violation is reported against a Conflict Resolution Team member, the remaining members shall investigate and raise the concern to internals@php.net, | ||
- | ==== Accountability | + | === Accountability === |
The PHP project voting body has the right to overturn any action taken the Conflict Resolution Team by vote (50% + 1 required to overturn). | The PHP project voting body has the right to overturn any action taken the Conflict Resolution Team by vote (50% + 1 required to overturn). | ||
- | ==== Updating Code Of Conduct ==== | + | === Updating Code Of Conduct === |
+ | |||
+ | Any changes to the text of the Code of Conduct, or updating the version of it shall require an RFC with 2/3 majority voting. Any changes to the text of the Contributor Guidelines shall require an RFC with 2/3 majority voting. | ||
- | Any changes to the text of the code of conduct, or updating the version of it shall require an RFC with 2/3 majority voting. | ||
===== Examples ===== | ===== Examples ===== | ||
Line 176: | Line 220: | ||
=== Activities on a php.net property === | === Activities on a php.net property === | ||
- | Activities on a php.net property shall always be considered " | + | Activities on a php.net property shall always be considered " |
=== Activities at a technology conference === | === Activities at a technology conference === | ||
Line 201: | Line 245: | ||
- | ===== Initial | + | ===== Initial |
- | This RFC will include a vote for the initial | + | This RFC will include a vote for the initial |
===== Vote ===== | ===== Vote ===== | ||
Line 214: | Line 258: | ||
* 0.3 - Significant expansion of the RFC | * 0.3 - Significant expansion of the RFC | ||
* 0.4 - More significant expansion, adding examples | * 0.4 - More significant expansion, adding examples | ||
+ | * 0.5 - Focus more on mediation than punishment. Rename the Conflict Resolution Team to Contributor Mediation Team. Reshuffle content. Added Constructive Collaboration Guidelines. |
rfc/adopt-code-of-conduct.1452189647.txt.gz · Last modified: 2017/09/22 13:28 (external edit)