GitHub block evasion is not acceptable

I would like to raise my concern about a growing problem in our community.

GitHub has a mechanism to allow a user to block another from interacting with them. This is an important tool to allow people who feel harassed or threatened by another person to limit their interactions with that person.

As with all technical countermeasures to social problems, it is possible to circumvent GitHub blocks. (In fact, the GitHub implementation of blocking is so lacking that the blocked user might not even realise they’re doing this!)

The bare minimum we should expect from Nix community members is to not go out of their way to continue interacting with people they know have blocked them. (As mentioned before, it’s unfortunately not always clear, so I’m not talking about only situations in which the blocked person definitely knows they have been blocked.)

No matter whether anybody else feels the block is justified, it’ll work better for everybody involved for a blocked person to stay away from reviewing PRs from the person who blocked them. We are fortunate enough to have many capable reviewers, and even if no other reviewers were available, the damage done from one missed PR is highly unlikely to have a bigger impact on our community than the damage done by continuing to escalate interpersonal conflicts. If a blocked person has concerns they feel absolutely must be heard about a PR from somebody who has blocked them, those concerns should be relayed through a moderator or other another trusted third party. In any other situations where there are compounding factors, the blocked person should solicit advice from another trusted community member before engaging with the person who blocked them unilaterally.

Deliberately circumventing blocks by using a secondary GitHub account, or admitting to knowing about a block and deliberately ignoring it, are extremely damaging to the community and far beyond acceptable conduct.

I don’t mean to suggest that this standard should apply to policy discussions, or other important topics of conversation where it’s important that everybody’s voice is heard. The problems I have witnessed are almost always contained to small PRs that could have been reviewed by anybody.

I don’t have any more power than anybody else to say “this is the way things should be”. But I’m hoping that the very minimal set of standards I’ve described here are uncontroversial enough that we can easily find consensus on them. It’s a shame I have to bring this up at all (writing this post and monitoring for replies is not what I wanted to be doing all day!), but it’s important that community members know what behaviour is unacceptable, and our moderators feel empowered to act when they see this sort of behaviour.


Hard agree. Forcing people to continue engaging is a form of harassment.

1 Like

Seems pretty uncontroversial to me.

One thing that’s not clear is how the community could be sure that the blocked person has been informed of the block. This could be done through a mediator/trusted community member.

One thing that’s not clear is how the community could be sure that the blocked person has been informed of the block. This could be done through a mediator/trusted community member.

Even only considering cases where the blocked person has demonstrated that they are aware of the block would go a long way to address the issues I’ve seen so far.

But yes, for the avoidance of doubt a trusted community member confirming that they had made the blocked person aware of the block might be helpful in cases where it’s not otherwise clear.

I especially agree with the aspect of not “going out of their way”, because that would directly imply malice of an actor.

Hence, I’m comforted to see that your argument is ultimately based on the foundations of good faith.

I think we can all easily agree on those foundations, and I think we actually already (tacitly) are.

On the other hand, we have to find a way to deal with perceptions.

What minimum consensus would you suggest to that end? (so that we can plug both sides together meaningfully)

What minimum consensus would you suggest to that end? (so that we can plug both sides together meaningfully)

Thank you for your constructive response. :slight_smile: I’m not sure I understand this question though — Is it “how many people/what percentage of people who’ve expressed an opinion should agree to this before we consider it to have consensus?”, or is it “what is the bare minimum we need to agree on here?” (or something else?)

On common grounds, building together is easy. :wink:

Indeed this is what I meant. What is the bare minimum we need to agree on in order to render individual perceptions an objective truth?

I say that, because while individual perceptions are very real and important, not always do they impart justice upon others.

(also: majority rule is not a good adviser in practicing justice)

I haven’t really been super involved in the community since I finished my time as release manager, but topics like this really nag at me and make me pull away from the community. I will always continue to use nixpkgs and as I have time available contribute upstream and get my team to contribute upstream (it’s hard with two kids finding any time outside of work).

Anyway with that preface here’s my rant. The only acceptable reason for utilizing GitHub blocking is spam or real personal attacks. Blocking someone because you don’t like their reviews, their nitpicks block your work from getting adopted, their personality is annoying, their political or religious affiliation, you disagree with their personal choices or opinions, etc… is a misuse of the technology and leads to community breakdown into silos. We’re a community that can talk to each other and get past our personal issues with each other, or we just cancel everyone we disagree with and the community dies.


Although I “agree” with you, I am a white male in my thirties.
So I feel this is a privileged opinion, because I never had to use technology to protect myself.

I’ve a sense, I need to be quick.

We seem to observe just a not-even-so-abysmal difference on how to render and construe an objective truth. (besides all the strong feelings) :innocent:

Acting with malice is utterly condemnable.

What do you propose somebody do when they feel they have been harassed, have tried and failed to reconcile their differences with the person they feel is harassing them, and are not even entitled to ask that somebody else review their PRs as much as is practical?

Are they just supposed to leave?

1 Like

Blocking is inherently a peaceful action. You decide that you are not comfortable talking to someone. Instead of trying to insult that person or trying to change their actions. You just choose to not talk to them.
I agree it shouldn’t be encouraged as it can hurt community interaction. But we should actively respect that choice and realize that we can’t expect to know all the reasons for why it was made.
And I appreciate the writing in this post for being clear about goals and problems. It was a very positive start for a discussion on an important topic.


It’s one thing to withdraw and not engage the person socially to avoid a blow up. No one’s saying you have to get dinner with them at the next NixCon. It’s a whole different thing to say that person isn’t allowed to comment on contributions you’ve submitted for community review and ignore their criticism about technical work. They’re not asking you to be their friend, they’re making suggestions about your work you’ve solicited reviews for.


May I stress again, that I sense we have the disconnect in different answers to this question?

Since we all seem to agree on the foundations of good faith, I think a suggestive answer to that question could lead over to a productive discussion about the difference between subjective and objective truth and what that means for organizing the public space.

I am pretty much in the camp of denying subjective truth as valid foundations for policy making, but we should open up an avenue for construing it.

Actually, the manifesto draft has it all:

And we are considerate.

So, if there is suggestive material of abandoning good faith, we might require to ask that individual: “Are you intending to leave the basis of good faith?” If the answer is “no”, then we might politley require an individual to correct their own perception that had previously implied so.

Restoring good faith in each and everyone should be the main avenue of protection from any kind of negative experiences.

Restoring good faith should also be the default avenue of moderation for each and everyone.

1 Like

Wait, are you saying this has the potential to happen? or already has happened?

Similar to @disassembler , I don’t like the complete shutdown of communication between two individual, especially in the format of PR review discussion. If people are targeting individuals, then I think everyone can agree that’s a serious issue, and should be remedied quickly. But a comment on a PR, that appears to have been in good faith, I don’t believe constitutes “unacceptable conduct”


I have a suspicion that the impressive throughput of reviewing leads to the nitpicks looking targeted to a person (if their previous experience has lead them to believe that being targeted is a thing that happens to them). Someone looking at most Nixpkgs PR does sound hard to believe.


everyone here seems to have completely skipped the bit in the original post that says “No matter whether anybody else feels the block is justified, it’ll work better for everybody involved for a blocked person to stay away from reviewing PRs from the person who blocked them.”

this topic is not to deliberate what is or is not an acceptable reason to block someone, nor whether the block evasion is in “good faith”. circumventing blocks is both unacceptable conduct and a blatant violation of the github terms of service.


Paternalistic comments were one of the triggers for the (rich) discussions part of the community is currently having across several threads and mediums.
I believe on the good faith of your comment, but I allow myself to slip a friendly reminder that we need to be extra careful with the way we phrase things when participating to controversial debates.

Nothing personal :slight_smile:

I feel like participants quickly realised that we mostly all agree that block evasion is not acceptable.

However, the context in which such action happens bears a lot of importance to answer questions that derive from the original question:

  • Is it legitimate to block people?
  • Is it desirable that people block each other?
  • Is it legitimate for people to still want to communicate?
  • Isn’t that harassment?

IMHO, it is necessary for the conversation to slip onto these controversial topics to reach a consensus, and understand/define as a community what is acceptable and what is not.

Circumventing blocks is both unacceptable conduct and a blatant violation of the github terms of service.

I don’t think referring to GitHub TOS is satisfactory, for the simple reason that we are spread across several medium (GitHub, Discourse, IRC, Discord).
This is a community issue that cannot be delegated to the legal framework of a tool we use.


it’ll work better for everybody involved for a blocked person to stay away from reviewing PRs from the person who blocked them.

From my understanding, there’s no good way of quickly knowing this without visiting the profile of each individual. The example in question was SS2K just notifying the author that something occurred, and noticed that he couldn’t be quoted like others, most likely after rebasing the PR. Was it suprising for SS2K to find out in that manner? probably. Was it passive aggressive? sure.

Unless there’s direct messaging or other attacks that I’m not aware of. I don’t see anything that warranted the reaction from the initial review comment. I think pull requests should be neutral ground, code changes should stand on their own merit.

Would it be easier for certain people to avoid contributions by others, and mostly avoid possibilities of a conflict arising? sure. But this goes back to silo’ing and breaking means of communication.

I don’t want to be in a situation where my future reviews are met with, “your opinion isn’t welcome here, go elsewhere or else…”. Not to mention that these tensions seems to have persisted for months. If you think my commentary is bad, just say why what you’re proposing is preferred in the conversation, or the changes are out of scope. There’s no reason to escalate it to a personal issue and propagate the animosity in the future contributions. There’s a lack of communication from both sides, which is why we are here, and now it seems that we need to put in place some policies around social behaviors.

1 Like