- Sometimes, things get a little heated in GitHub discussion threads / reviews.
- Occasionally, these conversations escalate to a point where they might be considered Code of Conduct violations or could result in a member being banned.
- To be a good community stewards, some maintainers would prefer to reach out to the offender in some cases (per their org or CoC policy).
- However, GitHub currently has no easy way to contact someone who doesn't explicitly list their e-mail address.
NOTE: we'll refer to the person who maintainers are requesting to talk to as "the offending user" as that was the original context for this proposal, but it doesn't always have to indicate an offense.
- Directly contacting people may be seen as a little aggressive, especially if you've tracked down their e-mail address somewhere.
- Enabling free-form contact forms is a recipe for abuse, particularly against under-represented folks.
- We want to place the power in the hands of those who are being asked to respond to outreach, so that they can choose to respond or not.
- We want to keep that request generic, so that a conversation can take place, rather than escalating comments ("you'll be banned if you don't respond", "you've been reported for x/y/z")
- We don't want this form of outreach to be public, because it is not meant to be a form of public shaming, but rather a de-escalating tactic.
We propose that maintainers be able to leave an "outreach request" on one or more comments. That outreach request could show up -- only to the person it's being requested of -- as a banner under a given comment, and a note at the top of an issue or PR discussion.
The banner would request that this user contact the project maintainers for further discussion at a chosen e-mail address (taken from a repo setting or the maintainer's profile).
- ✅ Doesn't expose the offending user's e-mail
- ✅ Doesn't allow arbitrary messages to be sent to users
- ✅ Leaves the choice to respond with the offending user
- ✅ Only available to maintainers of a given repo
- A user posts an unacceptable comment in a discussion that rises to the level where maintainers would consider banning that person. As a last resort, they leave an outreach reaction on the post. The user (and only the user) sees a banner on the GitHub issue asking them to contact the maintainers at a given e-mail address. The user chooses to reach out for a discussion.
- A discussion esclates and de-escalation is needed. To save face, the maintainers use the outreach reaction. The user sees the outreach reaction, reaches out, and things can be resolved in a private, de-escalated space.
- A user receives an outreach request and chooses to ignore. The maintainers then take the action they'd previously considered (e.g. banning the user)
- The user receives an outreach request and self-corrects.
- The maintainer decides the outreach request is no longer necessary and removes it.
We know the implementation of this (how does a project choose the e-mail address to use? How does a maintainer make/remove this request?) is not fleshed out here. If the general concept is accepted, we'd be happy to dig more into specifics.
Small spelling suggestions
We propose that maintainers be anble
A discussion esclates an de-escalation