This is an old revision of the document!
PHP RFC: Adopt Code Of Conduct
This RFC proposes that the PHP project should adopt a formal code of conduct for its members.
This RFC proposes for the PHP project to adopt version 1.3.0 of the Contributor Covenant as a Code of Conduct.
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, submitting pull requests or patches, 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/derogatory comments
- Public or private harassment
- Publishing other's private information, such as physical or electronic addresses, without explicit permission
- 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, threatening, offensive, or harmful.
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 firstname.lastname@example.org. 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.
A page will be created on php.net at php.net/codeofconduct that will display the actual language of the code of conduct used above: Code Of Conduct
A new mailing list will be created at email@example.com for use in reporting incidents and discussing them internally. This mailing list will be private and unarchived.
A team of 5 volunteers shall be assembled who will make up the code of conduct team.
The team shall consist of:
- At least one person with commit karma to php-src
- 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).
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 (requiring 50% + 1 to support removal).
Process For Incidents
In the event that an incident is reported the following process should be followed:
- A CoC 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 makes a recommended course-of-action to the CoC team
- 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 firstname.lastname@example.org
At all steps the reporter(s) should be kept up to date on the process and recommendations that are made.
All votes on recommended course-of-action shall require 4 team members to agree.
Reasonable Person Test
To determine if the incident is a violation or not, the CoC team shall use the Reasonable Person Test.
The following four points shall be taken into account for any incident:
- 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, it shall be assumed that both parties (the accuser and the accused) are acting as reasonable people until proven otherwise. This means that best intentions shall be assumed unless significant evidence to the contrary is found.
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 “harass back”.
The CoC team should make every reasonable attempt to defuse the situation without having to resort to “punishment”. This includes establishing a meaningful discussion around the incident, giving the accused offender the chance to apologize (privately or publicly, depending on the incident) or determining that no action is necessary even if the CoC was violated.
In the event that additional action is required, it may include:
- Revert or edit existing commits
- Reject pull requests
- Revert/reject wiki edits, issues and other contributions
- 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). All Ban RFCs will require 2/3 majority to affect the ban.
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 new address/account which is believed to be used by an already banned individual does not require a RFC to effect provided there is reasonable evidence to support the correlation.
Bans (temporary or permanent) should only be used in egregious cases where a pattern of disregard for the CoC is demonstrated.
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, investigation, documentation, etc) shall not include identifying information as to the reporter unless agreed by the reporter or is otherwise public.
Any action taken by the CoC team shall be reported to email@example.com, including a summary of the incident and the action taken. The summary of the incident should include supporting evidence and justification for the decision.
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.
Conflict of Interest
In the event that a CoC violation is reported against a CoC team member, the remaining members shall investigate and raise the concern to firstname.lastname@example.org, even if they determine no action is to be taken.
The PHP project voting body has the right to overturn any action taken the CoC 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.
This RFC will include a vote for the initial CoC team. A separate thread will be opened asking for volunteers.
This RFC requires 2/3 majority to pass, as it has a significant impact on the community and project operations.
- 0.1 - Initial Draft
- 0.2 - Move to 2/3 majority
- 0.3 - Significant expansion of the RFC