rfc:adopt-code-of-conduct
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
rfc:adopt-code-of-conduct [2016/01/04 21:52] – 2/3 majority ircmaxell | rfc:adopt-code-of-conduct [2016/01/20 17:20] – Withdraw CoC RFC ircmaxell | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== PHP RFC: Adopt Code Of Conduct ====== | ====== PHP RFC: Adopt Code Of Conduct ====== | ||
- | * Version: 0.2 | + | * Version: 0.4 |
* Date: 2016-01-04 | * Date: 2016-01-04 | ||
* Author: Anthony Ferrara < | * Author: Anthony Ferrara < | ||
- | * Status: | + | * Status: |
* First Published at: http:// | * First Published at: http:// | ||
Line 12: | Line 12: | ||
===== Proposal ===== | ===== Proposal ===== | ||
- | This RFC proposes for the PHP project to adopt the [[http:// | + | This RFC proposes for the PHP project to adopt [[http:// |
+ | |||
+ | ==== Code of Conduct Text ==== | ||
+ | |||
+ | Contributor Code of Conduct | ||
+ | |||
+ | As contributors and maintainers of this project, and in the interest of | ||
+ | fostering an open and welcoming community, we pledge to respect all | ||
+ | people who contribute through reporting issues, posting feature | ||
+ | requests, updating documentation, | ||
+ | and other activities. | ||
+ | |||
+ | We are committed to making participation in this project a | ||
+ | harassment-free experience for everyone, regardless of level of | ||
+ | experience, gender, gender identity and expression, sexual orientation, | ||
+ | disability, personal appearance, body size, race, ethnicity, age, | ||
+ | religion, or nationality. | ||
+ | |||
+ | Examples of unacceptable behavior by participants include: | ||
+ | |||
+ | * The use of sexualized language or imagery | ||
+ | * Personal attacks | ||
+ | * Trolling or insulting/ | ||
+ | * Public or private harassment | ||
+ | * Publishing other' | ||
+ | * Other unethical or unprofessional conduct | ||
+ | |||
+ | Project maintainers have the right and responsibility to remove, edit, | ||
+ | or reject comments, commits, code, wiki edits, issues, and other | ||
+ | contributions that are not aligned to this Code of Conduct, or to ban | ||
+ | temporarily or permanently any contributor for other behaviors that they | ||
+ | deem inappropriate, | ||
+ | |||
+ | By adopting this Code of Conduct, project maintainers commit themselves | ||
+ | to fairly and consistently applying these principles to every aspect of | ||
+ | managing this project. Project maintainers who do not follow or enforce | ||
+ | the Code of Conduct may be permanently removed from the project team. | ||
+ | |||
+ | This Code of Conduct applies both within project spaces and in public | ||
+ | spaces when an individual is representing the project or its community. | ||
+ | |||
+ | Instances of abusive, harassing, or otherwise unacceptable behavior may | ||
+ | be reported by contacting a project maintainer at codeofconduct@php.net. | ||
+ | All complaints will be reviewed and investigated and will | ||
+ | result in a response that is deemed necessary and appropriate to the | ||
+ | circumstances. Maintainers are obligated to maintain confidentiality | ||
+ | with regard to the reporter of an incident. | ||
+ | |||
+ | This Code of Conduct is adapted from the Contributor Covenant | ||
+ | (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 ==== | ==== Mailing List ==== | ||
- | A new mailing list will be created at // | + | A new mailing list will be created at // |
- | ==== Response | + | ==== Conflict Resolution |
- | A team of 5 volunteers shall be assembled who will make up the code of conduct team. | + | A team of 5 volunteers shall be assembled who will make up the Conflict Resolution Team. |
The team shall consist of: | The team shall consist of: | ||
Line 33: | Line 83: | ||
As long as the preceding two seats are filled, there is no karma requirement (wiki or otherwise) for the remaining three seats. | 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. | + | 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 CoC team feel that a specific member is not doing their job, they can be removed by an RFC vote. | + | 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). |
- | ==== Process For Incidents ==== | + | ==== Process For Reported |
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 CoC team member is notified of an incident | + | * A Conflict Resolution Team member is notified of an incident |
* The team member documents the issue as best as possible, researching any supporting materials necessary | * The team member documents the issue as best as possible, researching any supporting materials necessary | ||
- | * The team member makes a recommended course-of-action to the CoC team | + | |
- | * The CoC team will vote internally on the recommended course-of-action | + | * The 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 action is deemed necessary (it should always be a last resort): | ||
+ | |||
+ | | ||
+ | * The CoC team will vote internally on the recommended course-of-action | ||
* The CoC shall report a redacted summary of the incident and the course-of-action to // | * The CoC 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. | ||
- | The CoC team shall have the power to directly: | + | ==== Reasonable Person Test ==== |
+ | |||
+ | To determine if the incident is a violation or not, the Conflict Resolution Team shall use the [[https:// | ||
+ | |||
+ | The following four points | ||
+ | |||
+ | * the foreseeable risk of harm their actions create versus the utility of their actions | ||
+ | * the extent of the risk so created | ||
+ | * the likelihood such risk will actually cause harm to others | ||
+ | * any alternatives of lesser risk, and the costs of those alternatives | ||
+ | |||
+ | Additionally, | ||
+ | |||
+ | 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 " | ||
+ | |||
+ | ==== Potential Actions ==== | ||
+ | |||
+ | The Conflict Resolution Team should make every reasonable attempt to defuse the situation without having to resort to " | ||
+ | |||
+ | In the event that additional action is required, it may include: | ||
* Revert or edit existing commits | * Revert or edit existing commits | ||
* Reject pull requests | * Reject pull requests | ||
* Revert/ | * Revert/ | ||
- | * Revoke commit karma | ||
* Issue temporary ban (no more than 7 days) | * Issue temporary ban (no more than 7 days) | ||
- | If the CoC team determines that a longer temporary ban or a permanent ban is necessary, they shall institute a temporary ban and raise an RFC to the general project to effect the desired ban. Once the RFC is issued, the temporary ban's lifetime will be tied to the RFC's lifetime (will expire when the vote is finished). | + | If the Conflict Resolution Team determines that a longer temporary ban or a permanent ban is necessary, they shall institute a temporary ban and raise an RFC to the general project to effect the desired ban. Once the RFC is issued, the temporary ban's lifetime will be tied to the RFC's lifetime (will expire when the vote is finished). All Ban RFCs will require 2/3 majority to affect the ban. However, this temporary ban shall not include the // |
- | ==== Bans ==== | + | 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. |
- | + | ||
- | A ban shall include removal of commit karma, mailing list write access as well as disabling of the associated PHP.net account. | + | |
A new address/ | A new address/ | ||
+ | |||
+ | Bans (temporary or permanent) should only be used in egregious cases where a pattern of disregard for the CoC is demonstrated. | ||
+ | |||
+ | ==== 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). | ||
+ | |||
+ | 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 Team and PHP project members) should keep this in mind. | ||
==== Confidentiality ==== | ==== Confidentiality ==== | ||
- | All incidents are to be kept in the strictest form of confidentiality. The CoC 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, | + | 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, |
+ | |||
+ | 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, | ||
+ | |||
+ | ==== 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). | ||
+ | |||
+ | ==== 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. | ||
+ | |||
+ | ===== Examples ===== | ||
+ | |||
+ | ==== " | ||
+ | |||
+ | === Activities on a php.net property === | ||
+ | |||
+ | Activities on a php.net property shall always be considered " | ||
+ | |||
+ | === Activities at a technology conference === | ||
+ | |||
+ | While at a technology conference, the CoC is only considered to apply if and only if the person is demonstrably representing the project. | ||
+ | |||
+ | For example, merely speaking at a conference about PHP is not enough to be " | ||
+ | |||
+ | This does not intend to limit the CoC applicability to only during a talk, however any violation that happens at a conference shall be assumed to **not** be representing the project unless there is significant and obvious evidence to the contrary. | ||
+ | |||
+ | === Activities on a social network === | ||
+ | |||
+ | On social networks, the CoC is only considered to apply if the context of the conversation makes it clear that the person represents the PHP project. | ||
+ | |||
+ | For example, merely having "PHP contributor" | ||
+ | |||
+ | === Other === | ||
+ | |||
+ | In all cases, if an issue seems reasonably connected to a project matter, the CoC may apply depending on how strongly the connection is. | ||
+ | |||
+ | For example, if one person is involved in a heated discussion on internals@, and then immediately after starts harassing another participant on another channel with similar tone, the harassment may be considered a violation. | ||
+ | |||
+ | In no case should a casual connection be considered a violation (just because two people are both members of the project is not enough to form a connection). | ||
- | ===== Initial Team ===== | + | ===== Initial |
- | This RFC will include a vote for the initial | + | This RFC will include a vote for the initial |
===== Vote ===== | ===== Vote ===== | ||
Line 80: | Line 212: | ||
* 0.1 - Initial Draft | * 0.1 - Initial Draft | ||
* 0.2 - Move to 2/3 majority | * 0.2 - Move to 2/3 majority | ||
+ | * 0.3 - Significant expansion of the RFC | ||
+ | * 0.4 - More significant expansion, adding examples |
rfc/adopt-code-of-conduct.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1