Skip to content

Instantly share code, notes, and snippets.

@achow101
Last active May 21, 2024 16:52
Show Gist options
  • Save achow101/9192ad26dc4ef08e9c899caeddc968ef to your computer and use it in GitHub Desktop.
Save achow101/9192ad26dc4ef08e9c899caeddc968ef to your computer and use it in GitHub Desktop.

Moderation Guidelines (draft)

Comments on Bitcoin Core issues and pull requests will be aggressively moderated, on the understanding that it is easier to rephrase deleted comments to be constructive and respectful than to replace long term contributors who are burnt out from a discussion culture that is unnecessarily contentious and overbearing.

On the internet, different discussion forums will have different cultural norms, but within Bitcoin Core software projects, moderators will seek to uphold the following norms:

  • Comments will be on-topic.
  • Comments will be about ideas, not people.
  • Comments may offer pointed criticism, if it is criticism about specific technical ideas or decisions, not general criticism, or criticism of individuals or groups. Even the smartest people can have ideas that don't work out, and people with good intentions can make decisions that backfire. It does not add a lot of value generally to speculate about peoples motives or capabilities when discussing the merits of their ideas, and doing so will be considered off-topic in technical discussions.
  • Comments should contribute new information. A certain amount of repetition is critical for learning, dissemination of ideas, and understanding in communication, but it can be taken too far when the same information is repeated in the same context. Moderators may remove comments that do not contribute new information or constructively reframe existing information.
  • Meta-discussions about moderation decisions or moderation policy are off-topic in Bitcoin Core software projects. If you wish to discuss moderation, please file an issue in bitcoin-core/meta, which is the home for project management issues, and nontechnical discussions relating to development of the codebase.

Role of Moderators

Members of the Bitcoin organization will be helpful in reporting and flagging misbehavior. Volunteer moderators will review flagged posts as well as spot check other conversations to determine whether the posts in question should be hidden, deleted, or left as is.

Moderation will necessarily be imperfect and inconsistent, because there is value in having direct and spirited exchange, but also value in fostering an atmosphere of respect and civility. In general, however, moderators will favor action over inaction, because it is easier to repost information to meet desired norms of discussion, than it is to uphold norms that are not adequately enforced.

Moderation procedure

Moderators will act on unwelcome posts when they are seen.

Spam will be deleted and posters accounts will be reported to GitHub. Users who are determined to create an account in order to leave inflammatory comments on controversial topics will also have their comment either hidden or deleted and may be blocked from the Bitcoin organization.

Moderators may lock controversial conversations or limit it to prior contributors or members of the Bitcoin organization.

Moderators may reach out to contributors to ask them to self-moderate. In requesting self-moderation from contributors, moderators may ask for specific actions like editing or deleting the post in question, so as to avoid public shaming directed at the author or other escalations. Apologies can also be helpful to get the conversation back on track.

For borderline posts that are not outright spam or attacks, but don't meet standards of discussion, moderators may choose to hide the comments, which renders them collapsed and minimized in discussion threads. In cases where it may not be obvious why a comment was hidden, moderators should point out specific problems so it is clear how they can be addressed.

If moderation of individual posts fails, moderators will use warnings, timeouts and bans at increasing rates based on prior patterns of behavior. Usually mildly uncivil behavior (such as being off-topic/disruptive or rudeness) will result in a warning or temporary ban (in the order of days). Longer term bans may result from repeated or frequent violations. Moderators will consult with maintainers before making any bans longer than 1 week.

Moderation transparency

The job of moderators is to enforce the community's desired norms of discussion, not to preach or try to control people's behavior. However, because moderators will make a lot of subjective decisions, and will be given a lot of leeway to make those decisions, it is critical for them to be clear about how decisions are made. To this end:

  • When moderators lock a thread, they should also add a post saying that it is locked, saying why it is locked, and if possible, suggesting constructive actions that people who are concerned about the topic can take. This may include suggesting alternate locations the topic could be discussed, or possible solutions in the prior discussion that could be followed up on.

  • When moderators hide a comment which has a mix of potentially useful information and inflammatory rhetoric, they should say somewhere, in a sentence or two, which parts of the message were over the line, so there is less chance of misunderstanding by the poster, and so problems could be potentially corrected. This could be done in a separate post. Or, to avoid disrupting the flow of the conversation, it could be sent in a private message to the poster or added as a postscript to the original comment.

  • When moderators hide or delete a comment which does not add any value at all, they should not need to write any explanation as these actions should be self-explanatory. But they could choose to explain what happened if they think it would be helpful.

  • When moderators ban someone, there should be an issue posted https://github.com/bitcoin-core/meta/issues to provide a public indication that some discussion was suppressed. This could be in dedicated issues, or in a catch-all issue for temporary bans. To avoid embarrassment or potential backlash, the post does need not include name of the person being banned or reasons for the ban.

  • Moderators should not edit the contents of contributors posts. The only exception should be that if moderators are hiding a comment, they can add a clearly delineated postscript to the comment with the moderator's username, the date, and short explanation of why they are hiding the comment.

Feedback

No system of moderation can be perfect or meet everyone's expectations. Too much discussion about moderation can also be a distraction and not a good use of contributors limited time. So discussion about moderation policies or decision should generally be avoided within Bitcoin Core's GitHub software projects, but discussion about moderation, and other topics that could make contributing to Bitcoin Core more productive and pleasant is welcome in the bitcoin-core/meta GitHub project about project management issues.

@josibake
Copy link

josibake commented May 2, 2024

Looks great on first read, although "Contains false statements" seems like it could be hard to enforce and would invite a lot of bike-shedding and argument.

@stickies-v
Copy link

These look like sensible guidelines to me. Not to make it overly verbose, but perhaps worth mentioning that bringing up the same topic again and again when there is no new information / reason to revisit it can be considered abusive too - even if the topic by itself isn't abusive?

@instagibbs
Copy link

Not the person’s own opinion

Sorry I'm having trouble parsing what this means. Laundering someone else's opinions? Lying about opinions?

@luke-jr
Copy link

luke-jr commented May 2, 2024

What is the rationale for "Not the person’s own opinion"? That would seem to suggest commenting on community consensus (or lack thereof) isn't allowed, which definitely shouldn't be the direction to go. It's also concerning to have "Contains false statements" considering that often the maintainers make such false statements and oppose the truth.

@jonatack
Copy link

jonatack commented May 2, 2024

I'd like to encourage even-handedness and kindness. For instance, even when comments are ostensibly about code, there can be behavior that looks like double standards, or making an example of the same people for code or reviewing that is fine or tolerated when done by other people. Any kind of favoritism, or needlessly harsh comments or dunking/punching down on contributors, can be discouraging and demotivating. The bar on these should be higher for moderators and people with additional privileges, as they set the example and shape the project's culture.

We're all very imperfect human beings that are work in progress, of course, and I'm no exception. Nevertheless, wisdom, even-handedness and some kindness and tolerance seem like good things to strive for. Perhaps these can be discussed in the moderation guidelines, if people agree.

@mzumsande
Copy link

As a skepticist I'm not a fan of "false statements", also for practical reasons: Making unknowingly false statements and getting corrected / correcting false statements by others is at the core of what code review is about and shouldn't be subject to moderation. Otherwise the document looks good to me.

@jonatack
Copy link

jonatack commented May 2, 2024

(Another aspect to consider is that not everyone is from the same culture, and there can be differences. Contributors from other continents may have learned English as a second language and not always be aware of the latest words, definitions, cultural values and politics of native speakers and inadvertently trip up on these. I'm currently learning a fifth language and make mistakes often with the languages I'm not fully fluent in.)

@achow101
Copy link
Author

achow101 commented May 2, 2024

Removed the "Not the person's own opinion" and "false statements" lines.

@adamjonas may be able to shed some light on what exactly he meant with those, and perhaps we can work in the ideas with better wording.


but perhaps worth mentioning that bringing up the same topic again and again when there is no new information / reason to revisit it can be considered abusive too - even if the topic by itself isn't abusive?

Yes, I think that would be something useful to add, although I don't know how to word that.

@ryanofsky
Copy link

ryanofsky commented May 3, 2024

This is a great start, but I think it needs a few significant changes. Here is my suggested draft.


Moderation Guidelines

Comments on Bitcoin Core issues and pull requests will be aggressively moderated, on the understanding that it is easier to rephrase deleted comments to be constructive and respectful than to replace long term contributors who are burnt out from a discussion culture that is unnecessarily contentious and overbearing.

On the internet, different discussion forums will have different cultural norms, but within Bitcoin Core software projects, moderators will seek to uphold the following norms:

  • Comments will be on-topic.
  • Comments will be about ideas, not people.
  • Comments may offer pointed criticism, if it is criticism about specific technical ideas or decisions, not general criticism, or criticism of individuals or groups. Even the smartest people can have ideas that don't work out, and people with good intentions can make decisions that backfire. It does not add a lot of value generally to speculate about peoples motives or capabilities when discussing the merits of their ideas, and doing so will be considered off-topic in technical discussions.
  • Comments should contribute new information. A certain amount of repetition is critical for learning, dissemination of ideas, and understanding in communication, but it can be taken too far when the same information is repeated in the same context. Moderators may remove comments that do not contribute new information or constructively reframe existing information.
  • Meta-discussions about moderation decisions or moderation policy are off-topic in Bitcoin Core software projects. If you wish to discuss moderation, please file an issue in bitcoin-core/meta, which is the home for project management issues, and nontechnical discussions relating to development of the codebase.

Role of Moderators

Members of the Bitcoin organization will be helpful in reporting and flagging misbehavior. Volunteer moderators will review flagged posts as well as spot check other conversations to determine whether the posts in question should be hidden, deleted, or left as is.

Moderation will necessarily be imperfect and inconsistent, because there is value in having direct and spirited exchange, but also value in fostering an atmosphere of respect and civility. In general, however, moderators will favor action over inaction, because it is easier to repost information to meet desired norms of discussion, than it is to uphold norms that are not adequately enforced.

Moderation procedure

Moderators will act on unwelcome posts when they are seen.

Spam will be deleted and posters accounts will be reported to GitHub. Users who are determined to create an account in order to leave inflammatory comments on controversial topics will also have their comment either hidden or deleted and may be blocked from the Bitcoin organization.

Moderators may lock controversial conversations or limit it to prior contributors or members of the Bitcoin organization.

Moderators may reach out to contributors to ask them to self-moderate. In requesting self-moderation from contributors, moderators may ask for specific actions like editing or deleting the post in question, so as to avoid public shaming directed at the author or other escalations. Apologies can also be helpful to get the conversation back on track.

For borderline posts that are not outright spam or attacks, but don't meet standards of discussion, moderators may choose to hide the comments, which renders them collapsed and minimized in discussion threads. In cases where it may not be obvious why a comment was hidden, moderators should point out specific problems so it is clear how they can be addressed.

If moderation of individual posts fails, moderators will use warnings, timeouts and bans at increasing rates based on prior patterns of behavior. Usually mildly uncivil behavior (such as being off-topic/disruptive or rudeness) will result in a warning or temporary ban (in the order of days). Longer term bans may result from repeated or frequent violations. Moderators will consult with maintainers before making any bans longer than 1 week.

Moderation transparency

The job of moderators is to enforce the community's desired norms of discussion, not to preach or try to control people's behavior. However, because moderators will make a lot of subjective decisions, and will be given a lot of leeway to make those decisions, it is critical for them to be clear about how decisions are made. To this end:

  • When moderators lock a thread, they should also add a post saying that it is locked, saying why it is locked, and if possible, suggesting constructive actions that people who are concerned about the topic can take. This may include suggesting alternate locations the topic could be discussed, or possible solutions in the prior discussion that could be followed up on.

  • When moderators hide a comment which has a mix of potentially useful information and inflammatory rhetoric, they should say somewhere, in a sentence or two, which parts of the message were over the line, so there is less chance of misunderstanding by the poster, and so problems could be potentially corrected. This could be done in a separate post. Or, to avoid disrupting the flow of the conversation, it could be sent in a private message to the poster or added as a postscript to the original comment.

  • When moderators hide or delete a comment which does not add any value at all, they should not need to write any explanation as these actions should be self-explanatory. But they could choose to explain what happened if they think it would be helpful.

  • When moderators ban someone, there should be an issue posted https://github.com/bitcoin-core/meta/issues to provide a public indication that some discussion was suppressed. This could be in dedicated issues, or in a catch-all issue for temporary bans. To avoid embarrassment or potential backlash, the post does need not include name of the person being banned or reasons for the ban.

  • Moderators should not edit the contents of contributors posts. The only exception should be that if moderators are hiding a comment, they can add a clearly delineated postscript to the comment with the moderator's username, the date, and short explanation of why they are hiding the comment.

Feedback

No system of moderation can be perfect or meet everyone's expectations. Too much discussion about moderation can also be a distraction and not a good use of contributors limited time. So discussion about moderation policies or decision should generally be avoided within Bitcoin Core's GitHub software projects, but discussion about moderation, and other topics that could make contributing to Bitcoin Core more productive and pleasant is welcome in the bitcoin-core/meta GitHub project about project management issues.


The problems I see in original draft are:

  • The beginning section ("you will be moderated") sounds too accusatory. People will probably read this document after moderation actions have been taken against them. The point of the document should be to clarify practical red lines they may have crossed, not accuse them of "com[ing] to the project to spam, troll or leave insults and threats" and not suggesting they may lack "basic decency".
  • It doesn't mention certain problems like the problem of repetitive posting, or discussion of meta- topics like moderation.
  • It doesn't address the issue of transparency, which I believe is a critical issue to ensure fairness, and also help people learn from their mistakes, instead of just feeling chastised.

@josibake
Copy link

josibake commented May 3, 2024

@ryanofsky

on the understanding that it is easier to rephrase deleted comments to be constructive and respectful than to replace long term contributors

I think this is a really good thing to call out. It changes the tone of moderation from "you said a wrong thing" to "that sounds off, maybe try again."

or constructively reframe existing information

Can you explain a bit more what you mean here? Constructively re-framing existing information seems like it could be helpful in most cases?

@adamjonas
Copy link

Removed the "Not the person's own opinion" and "false statements" lines.

This is clumsy wording. I meant presenting others' opinions as your own or leaving intentionally misleading statements. Fine with the removal.

@achow101
Copy link
Author

achow101 commented May 3, 2024

@ryanofsky Thanks for those suggestions, I think they're really good and have updated the doc to your text.

@pinheadmz Also suggested that we could put the guidelines in a repo to better discuss the policy and propose specific changes to it. Since @ryanofsky suggested a new repo in his draft guidelines, I've gone ahead and made the bitcoin-core/meta repo which has a copy of this document. I propose that we move discussion there.

@ariard
Copy link

ariard commented May 21, 2024

@adamjonas may be able to shed some light on what exactly he meant with those, and perhaps we can work in the ideas with better
wording.

@achow101 For clarity of the discussion and subsequent discussions about moderation rules, where you the original author of this document, or did you get contributions from Jonas ?

@achow101
Copy link
Author

Jonas was the original author, and I reviewed the document and made a few changes before sharing.

@ariard
Copy link

ariard commented May 21, 2024

Jonas was the original author, and I reviewed the document and made a few changes before sharing.

Thanks for the info.

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