Skip to content

Instantly share code, notes, and snippets.

@SeanKilleen
Last active April 19, 2019 16:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SeanKilleen/8158d53437ea7bd8fc479066c9ab5e3e to your computer and use it in GitHub Desktop.
Save SeanKilleen/8158d53437ea7bd8fc479066c9ab5e3e to your computer and use it in GitHub Desktop.
GitHub feature proposal: Outreach reactions

GitHub Feature Proposal: Outreach Reactions

The challenge / problem

  • 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.

Additional Constraints

  • 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.

The Proposal: Outreach Reactions

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).

Does it meet the constraints?

  • ✅ 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

Some Sample Use Cases

  • 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.

A Note on the UX

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.

@MattOBrienEH
Copy link

MattOBrienEH commented Apr 19, 2019

Small spelling suggestions

We propose that maintainers be anble

A discussion esclates an de-escalation

@SeanKilleen
Copy link
Author

@MattOBrienEH thanks for catching those! Fixed.

@terrajobst
Copy link

terrajobst commented Apr 19, 2019

I like the idea. It would be nice if:

  • The contact information can be from a person, not the repo. After all, this meant to be a personal engagement. Or at least a drop down, so the person can choose.
  • The flagging has some classification, similar to the hide comments feature. Sometimes the desire to reach out is a natural extension of the conversation vs. a case where the a CoC is being violated. The goal here would be to avoid scaring people.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment