GitHub block evasion is not acceptable

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

i don’t think there’s anything unclear about this. sandro is going out of his way to block evade and comment in places he is unwanted, causing additional conflict.

1 Like

Dumb question: Who is evade? I don’t see a github handle, or maintainer. Trying to find context as to why that comment was made in the middle of a thread about python packages

evade as in circumvent. he is circumventing measures that other people have taken to indicate that they want him to stop interacting with them

1 Like

Feels like a misunderstanding.
I read “block evade” as a single verb.


Oh, I feel dumb. I kept reading that as “block(verb) evade(person)”, and thought it was weird. “block-evade” would probably be more clear, but looks like no one uses this spelling. E.g. man-eating shark vs man eating shark. English, gotta love it.

But the commentary on the PR is correct, the release dates did change.

Anyway, it’s unfortunate that even with meaningful commentary, he’s no longer able to communicate to other contributors. And now is essentially a pariah for parts of the community.

Anyway, this whole thing is just… unfortunate on many levels.

Edit: grammar

On the question of “block evade”, I want to ask if the suggested condemnable behavior is:

  • Direct consciously unsolicited contact against stated will?


  • Public interaction in a public space where one person is using the public space as a pretext to consciously engage in unsolicited contact against stated will?


  • Public interaction in the normal course of public affairs without an element of conscious intent to attempt against stated will?

To judge, those three cases are inherently different. It will be easy to agree on the first two cases as to be not acceptable. It will be impossible to agree to condemn the third case as that would be equal to overruling basic liberties in the public domain.

Sorry for interrupting the meaningful conversation, but I would just like to mention that I talked to @Sandro, and we agreed on a few things to make his reviews a little less “exhausting” for individuals, and try to avoid a situation where people feel obligated to block him in the first place.


  • comments about formating will mostly just collapse to a recommendation to use nixpkgs-fmt to format the file in question. And avoid commenting on formatting that doesn’t really affect readability (still subjective, but avoid death by a thousand cuts).
  • use of saved replies (when applicable) to create more detailed responses, to help identify the issue, give some justification to the change, and provide guidance on remedying an issue; instead of terse responses just identifying in an issue, and may come off as a rude command without context.

There’s still a lot of commentary that he provides which would improve nixpkgs, as well as his dedication to providing reviews for nixpkgs. So I don’t want him to be ostracized and unable to add input PR reviews. Nixpkgs is in need of more committer / reviewer engagement, and I don’t see any ill intent in his participation with Nixpkgs.


I agree with the points made about empowering moderators to act, for us to act as a community in response to this behavior.

I am wholeheartedly empathetic and have all the time in the world for anybody who wants to voice issues, especially since this is a project I spend countless personal hours on that I adore and want to see thrive.

If people feel targeted and attacked, it needs to be let out, somehow.

This is not new, or unique. It happens everywhere online and even offline. Anecdotally, I live with 13 people (mostly techies) in a communal space and these issues crop up all the time. We even use Gitlab as an issue tracker for every life issue we have, which is why I find this to be comparable. This thread reminds me of it. Though, in the end we have to find a way to continue living together, because we all have skills that contribute to the project we’re working on that fill in each other’s gaps. I’ve found that in real life, people make up their differences more often than online.

Some thoughts:

Blocking someone means you have chosen to opt out of working together and co-operating. Even if it is against one person.

Yet, open source is about working together. There is a conflict here. The act of blocking causes the issue, whether it’s warranted or not. (I am not suggesting that the block function shouldn’t be used.)

The nature of this scenario is bound to cause ongoing difficulty, I do not expect this thread to be the last of its kind since the action of blocking someone is so at-odds with the philosophy of working on an open source project.

If you are being harassed, all we can do is continue to socially reject that party. This is the nature of the internet. The block button is never good enough.

Can we keep working to make this project even better? Even those that are adversarial and even offensive towards eachother? Can we do the impossible? :cowboy_hat_face:


@blaggacao I’m going to intentionally hold off on answering that in any detail, because I think I’m not the only person who can answer it and I want to leave room for other people to do some of the talking. I certainly do see your objection to the third case, and I agree with it. If nobody’s weighed in in a day or so, I’ll check back.

@jonringer Thanks very much for that update. I personally hold no ill will towards Sandro, or anyone else involved in this mess. This issue is being raised because of a practical need. I am committed to minimizing the collateral damage from meeting that need.


My take on the thread’s original title: I’m hesitant to say either way about the acceptability of block evasion in itself. My main concern is that since this is an open source project, no-one should have the ability to banish others from public discussion. We should be welcoming to all opinions and contributors, whether we like the person or not. It’s problematic that GitHub’s tools allow this kind of blocking. The fact that in GitHub one can block someone at will, and GitHub’s terms of service forbid block evasion, even if the evasion’s purpose is to attend public discussion, hints that GitHub’s tools and terms of service may not be suitable for open source, I think.

I don’t mean to say nothing should be done about spamming, harassing, or other sorts of abusive behaviour, merely that blocking people from public discussion is not right. I highlight that I used the word “discussion”. Blocking spammers and clear abuse might be reasonable, but I think if anything, the individual posts should be blocked, not a user. @jonringer 's attempts to solve this dispute by talking to the involved persons in private is the best way to ensure all parties can continue to contribute. I would like to avoid blocking users (and their posts, if possible) as much as possible.

And thank you @qyliss for opening this thread. This discussion has clearly been long overdue.


I agree on this social standard. I think this is a reasonable behavior to expect from contributors.

The original post is not about requesting any org-level ban. The point here is about not using technical counter-measures to bypass the GitHub anti-harassment features. The qualification about what’s harassment and whatnot is besides the point.


I argued that GitHub’s blocking features are an ill fit for an open source project, which is why I understand if someone wants to circumvent those. If I understand correctly (correct me if I’m wrong), any GitHub user can block any other user, and that means the blocked person couldn’t take part in a PR discussion initiated by the blocking person. This is why I don’t want to categorically condemn a technical circumvention if a user is otherwise blocked from public discussion, as literally anyone can block anyone else without any reason.

To me, using GitHub’s technical tools to prevent others from taking part in public discussion is an abuse of those tools, which is why I find it justified in some situations to circumvent blocking.

I think you misinterpreted the purpose of my middle paragraph. I didn’t try to define what is and isn’t harassment, only that blocking in itself is very problematic, although I can see it also has its uses.

1 Like

On just the most fundamental level I completely agree. If person A blocked person B, the bare minimum person B could do is stop interacting with person A. Even if the block is by mistake, or for some totally bizarre reason person B should have the good sense to stop trying to talk to them. It isn’t for the community to decide if a block is warranted, and it isn’t up to person B to decide if the block is warranted.


“Even if the block is by mistake, or for some totally bizarre reason”: that’s passive-aggressive communication. I’m not saying this is what happened here and I agree each person has the right to block, but let’s not romanticize such a communication style. It has its downsides.

Back on the topic: the argument made was that person B wants to talk to person C, but can’t due to how GitHub works as person A has blocked B. I hope we can address that, otherwise we’ll soon have a “too many walls” problem. Is there maybe a browser extension that removes user comments while still allowing person B to comment on all threads/issues?

If I understand everyone correctly, person A and person B can both get what they want.