Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update and refactor CoC policy and processes #1135

Merged
merged 90 commits into from
Feb 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
4f509e2
Outline structure of CoC requirements doc
tobie Aug 8, 2023
a880dc8
Start filling it CoC outline
tobie Aug 24, 2023
15f8739
Clean up commitments section
tobie Aug 25, 2023
a4266b9
Add section for project delegation
tobie Aug 25, 2023
2726181
Add warning upfront
tobie Aug 25, 2023
b683a7d
Update CoC
tobie Aug 25, 2023
2b82f61
Removing commitment
tobie Aug 25, 2023
1ac0b6b
Updates to the CoC
tobie Aug 25, 2023
30b7492
Make it stand out
tobie Aug 25, 2023
583097a
Make appeals standout less
tobie Aug 25, 2023
2c067c9
Slight language tuning
tobie Aug 25, 2023
b2d2f7b
Always point to the same CoC URL
tobie Aug 25, 2023
0e8f591
Apply suggestions from code review
tobie Nov 21, 2023
e7ab32b
Rename FOUNDATION_CODE_OF_CONDUCT_REQUIREMENTS.md to COC_POLICY.md
tobie Nov 21, 2023
dd0d239
Rename HANDLING_CODE_OF_CONDUCT_REPORTS.md to COC_PROCESS_FOR_HANDLIN…
tobie Nov 21, 2023
b620ee7
Add missing link
tobie Nov 21, 2023
955a17a
Add placeholder page for CoC Team
tobie Nov 21, 2023
9675d0f
Rename CoCET to CoC Team
tobie Nov 21, 2023
8a9caa9
More CoCET to CoC Team renaming
tobie Nov 21, 2023
9eb86a3
Update file titles
tobie Nov 21, 2023
a78e460
Remove reference to the Resources subteam which doesn't exist
tobie Nov 21, 2023
ec70cef
Rename COC_PROCESS file
tobie Nov 21, 2023
69085f6
Move reason for shared CoC
tobie Nov 21, 2023
733b7a9
Add CoC Team to Policy
tobie Nov 21, 2023
092a402
Remove redundant info from process
tobie Nov 21, 2023
8f9d125
Move Conflict of Interest policy
tobie Nov 21, 2023
4680ee8
Add appeals to the policy
tobie Nov 21, 2023
1f5cc42
Minor language cleanup
tobie Nov 22, 2023
d936cc3
Reordering content
tobie Nov 22, 2023
2b7a07d
Standardize on contributor covenant wording
tobie Nov 22, 2023
cd89e67
Separate moderation aspects
tobie Nov 22, 2023
6994d5c
Remove ToC
tobie Nov 22, 2023
085d29f
Add requirements for project which opt-in to manage CoC incident reports
tobie Nov 22, 2023
ffc6f76
Note that the CoC Team maintains the CoC Processes
tobie Nov 22, 2023
31da164
Clean up escalation and appeal policy
tobie Nov 22, 2023
0515365
Various cleanup
tobie Nov 22, 2023
e501c6a
Fix missing line break
tobie Nov 22, 2023
5f973d8
Add warning that processes are out of date
tobie Nov 22, 2023
11be28f
Fix typso
tobie Nov 22, 2023
5deb0ff
Split COC POLICY Commitments into Incident Response and Confidentiality
tobie Nov 23, 2023
4527251
Remove remaining references to CoCP
tobie Nov 23, 2023
a42a2da
Making it more explicit that the CoC Team can involve external people…
tobie Nov 23, 2023
25632f4
Add transparency and record keeping requirements to the CoC Policy
tobie Nov 23, 2023
bf85e2a
Rename CoC Team Process to CoC Team Charter
tobie Nov 23, 2023
4d307cf
Add missing new line
tobie Nov 23, 2023
1e35d64
Moar typos
tobie Nov 28, 2023
c9a0b48
Rename CoC Team Charter file accordingly
tobie Nov 28, 2023
e6b8337
Use harmed and accused individuals instead of victims and offenders
tobie Nov 28, 2023
b8a11f1
Align language in CoC
tobie Nov 28, 2023
d23885c
Avoid duplicating content
tobie Nov 28, 2023
059bf0e
Clarify escalation and appeal process
tobie Nov 28, 2023
ae35e94
Update COC_TEAM_CHARTER.md #1135
PaulaPaul Dec 8, 2023
7222df2
Update COC_TEAM_CHARTER.md #1135
PaulaPaul Dec 8, 2023
6c6dbde
Update COC_TEAM_CHARTER.md
PaulaPaul Dec 8, 2023
083a516
Minimal COC_TEAM_CHARTER.md #1135
PaulaPaul Dec 8, 2023
eee4bf1
More updates - Minimal COC_TEAM_CHARTER.md #1135
PaulaPaul Dec 8, 2023
5062bf2
Remove redundant text with the CoC Policy
tobie Dec 9, 2023
ff7cb68
Avoid introducing dependency on membership expectations for now
tobie Dec 9, 2023
abd64cf
Fix title
tobie Dec 9, 2023
cb1391a
Spell out acronyms now that the preamble has been shortened
tobie Dec 9, 2023
a353d80
Remove line breaks
tobie Dec 9, 2023
1888f9f
Make a distinction between upholding and abiding by
tobie Dec 9, 2023
87bc848
Empower individuals to take immediate action to prevent further harm
tobie Dec 9, 2023
ab45618
Clean-up team structure and spell out case handling
tobie Dec 9, 2023
3fd9b6b
Write out responsibilities and move them to top of charter
tobie Dec 11, 2023
e9f981e
Note decision-making process must be documented
tobie Dec 11, 2023
9760879
Rough refactoring
tobie Dec 11, 2023
e645d7f
Indicate where primary members are mentioned in the CoC
tobie Dec 11, 2023
16170e9
Add some links to the CoC policy
tobie Dec 11, 2023
bbf79ed
Add commitment to responsiveness
tobie Dec 17, 2023
d070dfa
Add reference to CPC decision-making policy
tobie Dec 17, 2023
af68265
Fix language
tobie Dec 17, 2023
1b1f185
Clarify what appeals not being suspensive means
tobie Jan 23, 2024
02a76f4
Define primary and alternate members more explicitely
tobie Jan 23, 2024
8b76857
Make the CPC responsible for the CoC enforcement processes
tobie Jan 27, 2024
9bc2e46
Remove CoC Chair
tobie Jan 27, 2024
b4a5aae
Give examples of mismanagement which justify escalation
tobie Jan 27, 2024
c1e8e6a
Make sure the CoC team considers project and community needs during e…
tobie Jan 27, 2024
dffa55c
Clean up CoC Team selection process
tobie Jan 27, 2024
7efd5fc
Avoid having multiple CoC Team member work for the same employer
tobie Jan 27, 2024
11589c3
Update CoC email address to coc@openjsf.org
tobie Feb 20, 2024
b082a7b
Make it clear that the CoC process management is still TBD
tobie Feb 20, 2024
874a0a2
Remove completed todos
tobie Feb 20, 2024
1949b83
Remove todo in CoC Team charter
tobie Feb 20, 2024
b9964fe
Be explicit about the confidentiality of accused individuals
tobie Feb 20, 2024
b968510
Carify limits of obligation of confidentiality
tobie Feb 21, 2024
b46a206
Be more specific about the purpose of information sharing
tobie Feb 22, 2024
7402f91
Apply suggestions from code review
tobie Feb 22, 2024
67d5c84
Fixing typos + grammar
tobie Feb 23, 2024
0369bf1
Make linkinator complain less
tobie Feb 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 24 additions & 24 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,8 @@
# Code of Conduct
# OpenJS Foundation Code of Conduct

The OpenJS Foundation and its member projects use [Contributor Covenant v2.0](https://contributor-covenant.org/version/2/0/code_of_conduct) as their code of conduct. The full text is included below in English, and [translations](https://www.contributor-covenant.org/translations) are available on the Contributor Covenant website.
## Report an incident

ovflowd marked this conversation as resolved.
Show resolved Hide resolved
## Commitment

All recipients of reports commit to:

- maintain the confidentiality with regard to the reporter and victim of an incident
- participate in the path for escalation as outlined in the section on Escalation when required

## Report an issue in a project

1. To report an issue in one of the projects listed below, please use the method provided. The project itself is responsible for managing these reports.
1. To report an incident in one of the projects listed below, please use the method provided. The project itself is responsible for managing these reports.
* **AMP Project:** <code-of-conduct@amp.dev>
* **Appium:** email maintainers
* **Electron:** <coc@electronjs.org>
Expand All @@ -23,23 +14,29 @@ All recipients of reports commit to:
* **Node-RED:** <team@nodered.org>
* **Webdriver.io:** [contact TSC reps](https://github.com/webdriverio/webdriverio/blob/HEAD/AUTHORS.md)
* **Webhint:** <support@webhint.io>
2. For every other OpenJS Foundation project, please email <report@lists.openjsf.org>. The Cross Project Council (CPC) is responsible for managing these reports.

In case of a conflict of interest, if the report is not handled appropriately (for example, if there are unacceptable delays, a lack of communication, confidentiality isn't respected, etc.), or in case of an emergency, you may [escalate the report][escalation] to the [Code of Conduct Team (CoC Team)][CoC Team] by emailing <coc@openjsf.org> or by contacting any of its members.
2. **To report any other incident** (for example: in an OpenJS Foundation project not listed above, in a Collab Space, in the Cross Project Council, or during an event), please email the [Code of Conduct Team (CoC Team)][CoC Team] at <coc@openjsf.org> or contact any of its members.

### Appeal a decision

tobie marked this conversation as resolved.
Show resolved Hide resolved
Harmed individuals and accused individuals may [appeal][] the decision to the CoC Team up to thirty (30) days after a response was provided if they believe that the process was not followed properly. Appeals do not delay or block the execution of decisions communicated in the response.

## Report an issue in a space managed by the foundation
To [appeal][] a decision, please email the [Code of Conduct Team (CoC Team)][CoC Team] at <coc@openjsf.org>.

For reporting issues in spaces managed by the OpenJS Foundation, for example, repositories within the OpenJS organization or an live event such as a conferences, email <report@lists.openjsf.org>. The Cross Project Council (CPC) is responsible for managing these reports.
## Code of Conduct Team (CoC Team)

## Escalate an issue
The Code of Conduct Team (CoC Team) is a foundation-wide team established to manage code of conduct incident reports across the whole foundation (except for [projects who have opted-in][opted-in] to manage reports directly), escalation of reports managed by projects, and appeals to decisions made in response to incidents. The CoC Team is currently composed of:

The OpenJS Foundation maintains a [Code of Conduct Panel (CoCP)](https://github.com/openjs-foundation/cross-project-council/blob/HEAD/conduct/FOUNDATION_CODE_OF_CONDUCT_REQUIREMENTS.md#code-of-conduct-panel). This is a foundation-wide team established to manage escalation when a reporter believes that a report to a member project or the CPC has not been properly handled.
- Robin Ginn (OpenJSF Executive Director) <rginn@linuxfoundation.org>
- Kylie Wagar-Dirks (OpenJSF Communications Manager) <kwagar@linuxfoundation.org>
- Joe Sepi (Cross Project Council Chair) <sepi@joesepi.com>

In order to escalate to the CoCP, email <coc-escalation@lists.openjsf.org>.
You may contact the CoC Team at <coc@openjsf.org> or contact any of its members.

## More Info

For more information, refer to the full
[Code of Conduct governance document](https://github.com/openjs-foundation/cross-project-council/blob/HEAD/conduct/FOUNDATION_CODE_OF_CONDUCT_REQUIREMENTS.md).
For more information, refer to the [Code of Conduct Policy](https://github.com/openjs-foundation/cross-project-council/blob/HEAD/conduct/COC_POLICY.md).

---

Expand Down Expand Up @@ -105,13 +102,11 @@ representative at an online or offline event.

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
the email addresses listed above in the
[Reporting](#report-an-issue-in-a-project) and
[Escalation](#escalate-an-issue) sections.
the email addresses listed above in the [Reporting](#report-an-incident) section.
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
harmed individuals and the reporter(s) of any incident.

tobie marked this conversation as resolved.
Show resolved Hide resolved
## Enforcement Guidelines

Expand Down Expand Up @@ -177,3 +172,8 @@ For answers to common questions about this code of conduct, see the FAQ at
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
[escalation]: https://github.com/openjs-foundation/cross-project-council/blob/main/conduct/COC_POLICY.md#escalation
[appeal]: https://github.com/openjs-foundation/cross-project-council/blob/main/conduct/COC_POLICY.md#appeals
[CoC Team]: https://github.com/openjs-foundation/cross-project-council/blob/main/conduct/COC_POLICY.md#code-of-conduct-team-coc-team
[opted-in]: https://github.com/openjs-foundation/cross-project-council/blob/main/conduct/COC_POLICY.md#delegation-to-projects

4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -218,8 +218,8 @@ If an Observer fails to meet these expectations they can be excluded from future

#### Code of Conduct
* [Code of Conduct](CODE_OF_CONDUCT.md) - This is the canonical version of the code of conduct adopted by the Foundation and all of its projects.
* [Foundation Code of Conduct Requirements](./conduct/FOUNDATION_CODE_OF_CONDUCT_REQUIREMENTS.md) - This describes what projects need to do to properly implement the Foundations's code of conduct.
* [Handling Code of Conduct Reports and Escalation](./conduct/HANDLING_CODE_OF_CONDUCT_REPORTS.md) - This explains how projects need to handle code of conduct violations and how, when, and to whom they need to be escalated.
* [Code of Conduct Policy](./conduct/COC_POLICY.md) - This describes the Foundation's policy for code of conducts.
* [Incident Management Processes](./conduct/COC_PROCESS_FOR_INCIDENT_MANAGEMENT.md) - This explains how the CoC Team and projects handle code of conduct violations and how, when, and to whom they need to be escalated.
* [Member Expectations](./conduct/MEMBER_EXPECTATIONS.md) - Additional behavior expectations of CPC members and project leaders.

#### The CPC itself
Expand Down
128 changes: 128 additions & 0 deletions conduct/COC_POLICY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
This document defines the OpenJS Foundation's code of conduct policy.

If you want to report an incident, go to [code-of-conduct.openjsf.org][CoC].

***

# Code of Conduct Policy

The OpenJS Foundation (OpenJSF) delegates to the Cross Project Council (CPC), via its [charter][], the responsibility of choosing, maintaining, and enforcing a Code of Conduct (CoC) for all of its projects, collab spaces, and for any related activities.
ovflowd marked this conversation as resolved.
Show resolved Hide resolved

## Code of Conduct

The OpenJSF's code of conduct is located at [code-of-conduct.openjsf.org][CoC]. It is based on the [Contributor Covenant](https://www.contributor-covenant.org/).

A common code of conduct allows a common escalation and appeal process and allows better support of projects in their efforts to apply the code of conduct.

All OpenJSF projects, collab spaces, and any activities related to the OpenJSF are operating under this code of conduct unless otherwise stated. (For example, events organized in partnership with other organizations might be operating under a different code of conduct.)
ovflowd marked this conversation as resolved.
Show resolved Hide resolved

Projects joining the foundation that already have a code of conduct will need to adopt the OpenJSF's CoC within three (3) months. Projects that don't already have a code of conduct operate under the OpenJSF's CoC as soon as they enter incubation.
tobie marked this conversation as resolved.
Show resolved Hide resolved
tobie marked this conversation as resolved.
Show resolved Hide resolved

## Reporting incidents

Reporting incidents should be as simple and flexible as possible.

All information necessary to report an incident must be publicly documented directly alongside the code of conduct itself. This information must contain at least the following:

1. A general email address at which incidents can be reported.
2. The name and email address of each recipient of the general email address.

Reporters may choose to report an incident by using the general email address provided or by contacting any of its recipients individually, either by using their provided email, reaching out in person, or by any other reasonable means.

An acknowledgment of receipt should be promptly issued to incident reporters.

The name and contact details of the people responsible for managing the incident report should be provided to reporters as soon as possible (to uncover conflicts of interest upfront and allow for escalation).

## Incidents requiring immediate action

Individuals responsible for managing incident reports are empowered to take immediate action in order to prevent further harm, for example by blocking someone from accessing virtual spaces managed by a project or the Foundation or by removing someone from an event.

These actions must be documented at the earliest convenient occasion for review by the Code of Conduct Team or the other people responsible for managing incident reports for the related project.

## Incident Response
ovflowd marked this conversation as resolved.
Show resolved Hide resolved

All incident reports will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances.

## Responsiveness

Every incident report, escalation request, or appeal will be promptly acknowledged upon receipt and a response provided in a timely manner. All parties involved should be kept informed and updated in a timely and efficient manner.

## Transparency

The number and relevant details of the reported incidents, escalation requests, and appeals, along with the responses made and actions taken should be made available, at least on a yearly basis, in a redacted form, to the Cross Project Council for further dissemination.

## Record keeping

A record of all communications related to an incident report, escalation request, or appeal must be kept.

## Confidentiality

The identity of the harmed individual(s) and the reporter(s) of an incident report must be kept confidential.

The identity of the accused individual should be kept confidential. However, incidents requiring immediate action (e.g. to prevent further harm) and implementing the decision resulting from the incident management process might require sharing the identity of the accused individual beyond the people involved in the incident management process itself. Additionally, the obligation of confidentiality towards the accused individual ends if the accused individual chooses to disclose the information publicly. In all cases, however, care should be taken to limit information sharing to what is strictly necessary to address the issue at hand and avoid making that sharing retaliatory.

## Conflict of Interest

Any person involved with the management of an incident report must immediately notify the CoC Team in writing and recuse themselves from the process if they have been involved in the incident itself or have any other conflict of interest with any of the involved parties (e.g. same employer).
tobie marked this conversation as resolved.
Show resolved Hide resolved

## Enforcement

### Incident management processes

The Cross Project Council (CPC) defines, documents, and maintains all processes necessary for the management of incident reports and the enforcement of the code of conduct and this policy through the [CoC Process for Incident Management](COC_PROCESS_FOR_INCIDENT_MANAGEMENT.md).

The CPC works with the OpenJS Foundation staff to develop the infrastructure and processes necessary to comply with the requirements of this policy, notably when it comes to record-keeping, confidentiality, and transparency.

### Code of Conduct Team (CoC Team)

The Cross Project Council (CPC) delegates enforcement of the code of conduct to the Code of Conduct Team (CoC Team) through the [CoC Team Charter][].

The structure of the CoC Team and how its members are elected are described in the [CoC Team Charter][].

The current composition of the CoC Team is available in the [code of conduct][CoC] itself along with means to contact by email the whole CoC Team and each of its members individually.

The CoC Team is responsible for applying the [incident management processes][].

The CoC Team is empowered to involve external people to resolve an issue provided these commit to abide by the code of conduct, the [incident management processes][], and by this policy.

### Delegation to projects

Projects may opt-in to enforce the code of conduct themselves provided they meet the following requirements:

1. Commit to uphold the code of conduct.
2. Commit to uphold this policy.
3. Provide a general email address where incidents can be reported and document it alongside the code of conduct.
4. Define and publicly document a process by which the project selects people responsible for managing incident reports. For Impact and At Large projects, at least two people must be selected.
5. List the people responsible for managing incident reports alongside the code of conduct as outlined in the [Reporting incidents section](#reporting-incidents).
6. Publicly document their decision-making process for responding to incident reports.
7. Document the foundation's escalation and appeal process alongside the code of conduct.
8. Participate in good faith in the [escalation](#escalation) and [appeal](#appeals) processes.

## Moderation

Each project is free to implement moderation processes appropriate for the size and scope of the project provided these processes abide by the code of conduct and by this policy.

## Escalation

Reporters, harmed individuals, and accused individuals may [escalate](#escalation) an issue to the CoC Team at any point in the process in case of a conflict of interest, if the report is not being handled appropriately (for example, if there are unacceptable delays, a lack of communication, confidentiality isn't respected, etc.), or in case of an emergency.

The CoC Team is empowered to manage escalation requests of incident reports managed by projects that have opted-in to enforce the code of conduct themselves.

If the CoC Team finds that the escalation request has merit, the CoC Team may decide to take over the management of the incident report or refer the issue to the Cross Project Council which may request changes to the existing management process.

Projects are expected to participate in good faith in the escalation process and to share all the information related to the incident report with the CoC Team. The CoC Team is expected to consider project and community needs during the escalation process and may involve the Cross Project Council if necessary and project leadership if appropriate.
ljharb marked this conversation as resolved.
Show resolved Hide resolved

## Appeals

Harmed individuals and accused individuals have thirty (30) days after a response was provided to appeal to the CoC Team a decision made in response to an incident report. Decisions may only be appealed on the grounds that the documented process was not properly followed or that it did not meet the requirements of this policy. If the CoC Team finds that the appeal has merit, it may decide to override the decision that was previously made.

If the initial report was already managed by the CoC Team, a different set of CoC Team members should be chosen to manage the appeal process. The CoC Team may choose to involve external people if needed.

If the appeal follows an incident report managed by a project, the project is expected to participate in good faith in the appeal process and to share all the information related to the incident report with the CoC Team. The CoC Team is expected to consider project and community needs during the appeal and may involve the Cross Project Council if necessary and project leadership if appropriate.

Appeals do not delay or block the execution of decisions communicated in the response.

[CoC]: https://code-of-conduct.openjsf.org/
[Charter]: https://github.com/openjs-foundation/cross-project-council/blob/main/CPC-CHARTER.md
[CoC Team Charter]: https://github.com/openjs-foundation/cross-project-council/blob/main/conduct/COC_TEAM_CHARTER.md
tobie marked this conversation as resolved.
Show resolved Hide resolved
[incident management processes]: https://github.com/openjs-foundation/cross-project-council/blob/main/conduct/COC_PROCESS_FOR_INCIDENT_MANAGEMENT.md
11 changes: 11 additions & 0 deletions conduct/COC_PROCESS_FOR_INCIDENT_MANAGEMENT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
This document defines how the OpenJS Foundation implements its code of conduct.

If you want to report an incident, go to [code-of-conduct.openjsf.org][CoC].

***

The CPC will be updating these processes shortly. Progress is tracked in [Issue #1256](https://github.com/openjs-foundation/cross-project-council/issues/1256).

In the meantime, the previous code of conduct incident management processes can be found [here](https://github.com/openjs-foundation/cross-project-council/blob/cf85fee1411de2c06632d83a9e4876fa8eeb0787/conduct/HANDLING_CODE_OF_CONDUCT_REPORTS.md).

[CoC]: https://code-of-conduct.openjsf.org/
Loading
Loading