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

Add process for handling reports #271

Merged
merged 30 commits into from
Sep 23, 2019
Merged
Changes from 8 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
de67a3e
Add process for handling reports
keywordnew Jul 23, 2019
3a41881
Combine report handling with S1 CoC proposal
keywordnew Jul 30, 2019
0fe421d
Address comment: specify subject of reports
keywordnew Jul 30, 2019
fbbf763
Add need to review personal info storage on Github
keywordnew Jul 30, 2019
e3bf6ef
Address comment: explicitly list collecting opinions
keywordnew Jul 30, 2019
dac1d84
Address comment: allow for issues to be closed in certain conditions
keywordnew Jul 30, 2019
b9b2131
Add CPC as role
keywordnew Aug 7, 2019
25d3fd2
Add TBD: role of members
keywordnew Aug 7, 2019
e996830
Apply suggestions from review
keywordnew Sep 3, 2019
516f586
Update placeholder email
keywordnew Sep 5, 2019
b3f81e8
Use suggestions
keywordnew Sep 5, 2019
16e4431
Update README.md
keywordnew Sep 5, 2019
3e0d1a9
Update proposals/stage-1/CODE_OF_CONDUCT/HANDLING-REPORTS.md
mhdawson Sep 6, 2019
f547434
squash: align with rest of docs in proposal
mhdawson Sep 6, 2019
1d5aaf2
squash: fix typos
mhdawson Sep 6, 2019
2eef5ce
squash: fix email for coc-escalation
mhdawson Sep 6, 2019
98902f7
squash: fixup
mhdawson Sep 6, 2019
bd5837b
squash: add ref about members recusing themselves
mhdawson Sep 6, 2019
366444e
Update proposals/stage-1/CODE_OF_CONDUCT/HANDLING-REPORTS.md
mhdawson Sep 10, 2019
9671542
Update proposals/stage-1/CODE_OF_CONDUCT/HANDLING-REPORTS.md
mhdawson Sep 10, 2019
377b53e
Update proposals/stage-1/CODE_OF_CONDUCT/HANDLING-REPORTS.md
mhdawson Sep 10, 2019
6d12e32
Update proposals/stage-1/CODE_OF_CONDUCT/HANDLING-REPORTS.md
mhdawson Sep 10, 2019
37c2999
Update proposals/stage-1/CODE_OF_CONDUCT/HANDLING-REPORTS.md
mhdawson Sep 10, 2019
d475032
Update proposals/stage-1/CODE_OF_CONDUCT/HANDLING-REPORTS.md
mhdawson Sep 10, 2019
84e9406
Update proposals/stage-1/CODE_OF_CONDUCT/HANDLING-REPORTS.md
mhdawson Sep 10, 2019
f575cec
Update proposals/stage-1/CODE_OF_CONDUCT/HANDLING-REPORTS.md
mhdawson Sep 10, 2019
d84e0d3
squash: Address @kborchers comments
mhdawson Sep 10, 2019
a58aa13
Update proposals/stage-1/CODE_OF_CONDUCT/HANDLING-REPORTS.md
mhdawson Sep 12, 2019
20ea625
squash: address comments from @mcollina
mhdawson Sep 12, 2019
d72c623
Update proposals/stage-1/CODE_OF_CONDUCT/HANDLING-REPORTS.md
mhdawson Sep 17, 2019
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
41 changes: 41 additions & 0 deletions proposals/stage-1/CODE_OF_CONDUCT/HANDLING-REPORTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Handling reports and escalation
This document describes the proposed process for handling reports and escalation, along with relevant roles in the OpenJS Foundation.

Reporting to the OpenJS Foundation either concerns a matter with the Foundation or is considered an escalation where insufficient resolution was provided by a project, with regards to violations of the Code of Conduct.

## Channels
* Email: report@openjsf.org.
* Form: It would be easier on the reportee to have a form template to help them structure their report. The form submission could trigger an email.
keywordnew marked this conversation as resolved.
Show resolved Hide resolved
* Repo: openjs/moderation (not provisioned). As commented in PR review, hosting sensitive personal information on GitHub needs due consideration, review, and possibly legal consultation.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

similar to above. This document should outline the actual process rather than questions about process.

Also, is this document for project maintainers or external individuals? That would likely change the process a bit.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This document was written initially for project maintainers.

Removing content to README.md. Thanks for calling out.

* A form submission could open an issue in the repo, to allow folks to discuss in context.
keywordnew marked this conversation as resolved.
Show resolved Hide resolved
## Confidentiality and record-keeping
Everything reported and discussed is confidential unless explicitly stated. For any facts to be made public, the reportee’s explicit permission is needed. All reports should be recorded, together with the discussion of it. A private moderation repo would satisfy the need for recordkeeping.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For any facts to be made public, the reportee’s explicit permission is needed.

Are we sure we want to commit to this? If we want to make even anonymized summaries of reports / actions taken that will not be possible with the current reading.

mhdawson marked this conversation as resolved.
Show resolved Hide resolved
## Steps/Escalation
1. A report is filed: This is the first step, mostly defined in Channels above.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Link to channels here?

2. The right people are alerted: See Roles.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Link to roles?

Also right seems like an odd way to frame it. perhaps "On call staff is alerted"

3. Contact person assigned: See Roles.
4. Report is acknowledged: The contact person responds to let the reportee know that the report is being discussed.
5. Facts and opinions are gathered: Time is allocated to collect information in one place to make sure everyone involved has access.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/Facts and opinions are gathered/Information gathering

We won't know what are facts or opinions... seems odd to frame it this way

6. Facts are discussed: The facts are discussed in context of opinions. Also see **What to look forward to** for guidelines on appropriate response.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/Facts are discussed/Information is discussed

We don't know what are "facts"

7. An action to be taken is arrived at: The action to be taken is decided by consensus (see section on Consensus process) involving the roles listed in the next section.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

section on Consensus process

Can we link to the section?

8. Resolution offered: The resolution is offered to the reportee by the contact person. The reportee needs to accept the resolution for the matter to be resolved. If they don’t accept, go back to step 5. If there isn't a clear way to resolve the report, the report can be reviewed by the moderation team representatives from OpenJS projects to ensure that the the action and resolution are appropriate.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure I'm 100% in support of this. While the reportee should be consulted in deciding the resolution they should not necessarily be in the position to make this decision.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested revision:

Suggested change
8. Resolution offered: The resolution is offered to the reportee by the contact person. The reportee needs to accept the resolution for the matter to be resolved. If they don’t accept, go back to step 5. If there isn't a clear way to resolve the report, the report can be reviewed by the moderation team representatives from OpenJS projects to ensure that the the action and resolution are appropriate.
8. Resolution offered: The reportee is consulted in landing on a resolution to the report. If there isn't a clear way to resolve the report, the report can be reviewed by the moderation team representatives from OpenJS projects to ensure that the the action and resolution are appropriate.

The report is resolved: The report is resolved if:
keywordnew marked this conversation as resolved.
Show resolved Hide resolved
* the reportee accepts the action.
* there is no communication for 21 days on behalf of the original reporter.
* the Ombudsperson decides that the resolution as it stands is the best possible outcome within the constraints of all involved.
## Roles
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would this section be an appropriate place to also define "reporter" and "reportee". I realise now that I'd missed earlier the rather significant difference between them.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an excellent opportunity to clarify language.

I had used the word "reportee" to refer to the person/s against whom a violation was committed.

I used the word "reporter" when the person who made the report is not the same as the person against whom the violation was committed.

When we clarify, I can go in and change to make the language consistent, it may not be.

We also need a word to refer to the person/s who committed the violation.

* CPC: The Cross Project Council must get involved in cases where a report has been escalated by a project or its team reponsible for enforcing their Code of Conduct. (TBD: role of regular and voting members)
* Moderation team representatives: Each project in the CPC which has a moderation team should have representation here. https://github.com/openjs-foundation can ask these folks if any are willing to also moderate this org.
keywordnew marked this conversation as resolved.
Show resolved Hide resolved
* Ombudsperson: This person acts as an impartial intermediary between a reporter and the Foundation. They also serve to mediate between the moderation team representatives.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will there be any particular rule to decide on who will be this person? Like they cannot be from the same project, just to avoid any conflict of interest.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a good issue to raise. We should clarify. For example, my own opinion is that this person should currently not be directly involved with a specific project (OpenJS Foundation is fine), but past history is ok.

* Contact person: This is a sensitive matter. Each reportee should only have to become comfortable talking with 1 person who represents them to the representatives.
## Concensus process
_To be added after deliberation in CPC._
## Further questions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These questions should be moved to the readme

* How do we protect privacy?
* How do we investigate?
* What are the conflicts of interest?
* How to avoid conflicts of interest?
* Does this relate to the work of the Node.js and other projects’ moderation team?
## What to look forward to
* Beacon project
* Code of Conduct Project: A cross-project collaboration between multiple open source tech communities RxJS, AngularJS, Node.js, Vue.js etc to find consensus on Code of Conducts. Progress is rapid and can add definition to our own process (where possible) within 6 months. Recommend incorporating the findings and avoid duplication of effort.
keywordnew marked this conversation as resolved.
Show resolved Hide resolved