GitHub block evasion is not acceptable

I think this situation is a little more… complicated. The block evasion event that’s being referenced is about release dates being changed, which the content of the comment was appropriate and raised an issue which should be addressed (incorrect date). And I just want to clarify, the desire to and action of block evasion I don’t agree with; I just also don’t agree with making someone a permanent outcast because they went overboard with efforts in an unhealthy way. And a mediator earlier on (in November-January) in this instance probably would have helped a lot to address the initial disruptive behavior before we ended up here.

To continue the party analogy, the person being blocked may have noticed that someone took an item of theirs, and was trying to let them know that something happened which they should be aware of. But the other person wasn’t interested and continued to tune the person out. Since communication has broken down, we are in a worse situation as a whole.

The person blocking the other person may have been perfectly justified to not listen to the “annoyance” after a previous event. But doesn’t mean that their input can’t be valuable or meaningful later.

Anyway, analogies may help to bring some intuition about a concept, but usually don’t fit 1 to 1; the farther you stretch the analogy, more it falls apart.

I feel like there was a poor job of identifying the expectations initially, and the large amount of freedom given was taken to the extreme. A lot of people got agitated with the source of “noise” and decided to block the noise.

From my prospective, @Sandro is a perfectionist with a high pain-tolerance for tedious reviews. And for him, having a lot of “subjective rules” around contributions caused him to have a lot of cognitive dissonance. And how he dealt with this discrepancy was by trying to create the standards through PR reviews. Is it a healthy way to approach these problems? no. How many people joined in the conversation about his behavior? many. How many tried to address the issue in a constructive way? few. From what I’ve seen from the IRC and other PR events, there was a lot of frustration and people be short with each other; but little resolution in the ways of direction or outcomes. Which is why I think a lot of people understandably blocked him.

I don’t think he ever meant to cause so much disruption, he just wanted nixpkgs to be “perfect”. In an alternate universe there was better guidance given earlier on, and people were really thankful the additional attention he provided to the absolute avalanche of PRs and issues that nixpkgs has.

I did. Twice. But I can only come from my experiences. And address the issues which I perceive as problematic. My experiences with him are mostly from hundreds of python PR reviews, and things are less ambiguous for expectations as python packaging is already highly opinionated in most regards; so his comments were mostly aligned with what I or fridh would say in a review. Most people that took extreme issue with his mannerisms, ignored him or escalated the situation.

EDIT: Apparently I don’t finish sentences


This whole experience has soured my view of the larger nixpkgs community. And I’m sure a lot of people aren’t happy about the “hill I chose to die on”. But it seems a lot of individuals would rather exclude, shut down, or ignore individuals than try come up with better practices to address situations in the present and future. As nixpgks [hopefully] continues to grow, the community will continue to face adversity; whether intentionally malicious or not.


Blocking is not an ideal outcome of interaction and addressing it constructively would be more beneficial for the community but it requires (mental) energy that the alleged victim might not want to spend on dealing with their alleged abuser (or even just someone who repeatedly annoyed them). And I do not think it is reasonable to demand anyone’s time/mental energy in a voluntary community, even if it were better for the community.

Also I suspect the people who resort to blocking have often been receiving, or at least witnessing abuse regularly so they have even less tolerance for that. And I could see these people preferring to avoid spaces where they would be strongly expected to rehash every perceived discord in mediation event rather than dealing with it their way (which might include ignoring it).


Yea, that’s all very understandable. Which is why I feel like a mediator role(s) would be beneficial and would advocate for it. They would have context of the larger picture as things get aggregated up the chain, and better equipped with identifying and remedying the issue.

I was mostly only aware of people largely being agitated of the largely “automated” review process he had at the end of last year. He listened, and stopped most of what I addressed many months ago. As well the use of “please” and other indicators to sounds less commanding (which he seemed to adopt). Then I stopped being as active, and my awareness sharply dropped off as I was focusing on my personal and professional life, so there’s large chunks of missing context.


Re: mediation.

Should that happen in public or in private?

  • Good mediation in public might set good examples.

  • Good mediation in private might lower the (potentially adverse) effects of public scrutiny.

I agree, everyone who has a sense of empowerment to be able to mediate should step in, equipped with some general guidelines, e.g. in the community manifesto.

Am I in reality a block avoider, by the way? :innocent: (I don’t mean that sarcastically or ironically, I mean it. As a matter of fact, that is also known to me, an unknown non-negligable number of people are some sort of annoyed by my interactions, which I’m also deliberately fine with, because I know I bear no malice. I also utterly greatfully am at the receiving end of [private] mediation from several individuals some good, some better, some not so good.)

Should I stay away from that party? (Referring to the party metaphor used above)

1 Like

I think everyone agrees that private is preferable. However, I think just 1 on 1 interactions are also lacking, as not all issues may be addressed, or come to a satisfactory ending. I probably should have included more people long ago, however, I wasn’t sure who to bring in, or the scope of issues; just two or so PRs and an IRC snippet to argue that he wasn’t suited for the role of Release Manager. After all, the original discussion was targeted at, “was he able to fulfill the role of release manager, as the only person to have self-nominated”, not, “we should address this behavior”.

I only reached out to him months ago because I thought it was disrespectful not to bring to his attention that a lot of people were having issues with his behavior. And not only is this detrimental to those that find issue with his manners, but also actively damaging it his ability to create “good will” with others. Also, it’s likely that people’s first impressions of him will be from these “outstandingly negative” and escalated incidents; and people will likely look over his very long history of beneficial reviews. To his credit, he seems to have applied most of what I brought up, obviously there’s many aspects to this when you’re as active as he is.

EDIT: some clarity


Yes! And …

We can’t prescribe good faith, and good will either.

We can, however, make those the foundations of our party.

Not the entry ticket, by no means so.

The foundations: the beat to the music.

(My comment below is a general point and not about Sandro specifically.)

A point that I haven’t seen anyone raise is the policy of giving out commit bits. The commit bit puts people in a position of power, since they can make or break your PR.

I noticed that some people get the commit bit after only being active in the community for a few months. I think this can cause friction, because newer members of the community haven’t had the time yet to pick up all the customs, delicate boundaries between what is considered a useful comment and what bikeshedding, etc.

This also scares me as hell from a security perspective. Recently some people got a commit bit where no-one really vouched for them and they have submitted and reviewed maybe 2 or 3 dozen PRs. I don’t want to link to examples, because these are most likely great contributors who do good work. But it shows that someone with bad intentions could get the keys to the kingdom with very low effort.


I agree but I also feel like this is a separate discussion (and that some of your concerns regarding security will be mitigated if we switch to blocking direct pushes to master)


My comments about “taken to the extreme” were mostly about the automation aspects of the reviews, here’s a good example. Where people were getting bombarded with suggestions that are unrelated to intent of the PR. On one hand, it would the suggestion would improve the quality of the package, but on the other, it doesn’t really improve the usability of the package. And no one (myself included) really wants to address “nice-to-haves” when it doesn’t align with the problem they are trying to solve. And I think this went a little farther later with even having a separate bot account for a brief moment, and that’s when he was asked to stop.

Anyway, having a commit bit may have given his reviews “more weight”, but the ability to review someone’s PR isn’t restricted to anyone, committer or not (unless banned from doing so).

I know you said it’s not about SS2K in particular, just wanted to clarify what I meant :slight_smile:

Like I said in the thread about contributor retention, doing reviews and committing changes is largely a thankless job. And you’re more like to anger people than make them happy. At best, you’re keeping something up-to-date, or fixing a build which you’re not aware of who is using; and at worst, you broke someone’s workflow, and they left soured.


TLDR: blocks are verifiable and it is reasonable to assume persistence of knowledge of blocks; do not ignore pressure not to err into the opposite direction; personal trust to mediator in specific context matters, not just generic mediator skills.

A nice (unironically) feature of the blocks is that if you suspect it you can at least verify, unlike social cues where things are not always clear.

I think that comment was linked as evidence of knowing about being blocked, so the name discussion, although in good faith, could be foreseen to be more explosive. It even happenned to be containable, until a third party with good intentions but not enough experience in the project tried to do their part for improving the communication in the project…

This might be missing an important thing. In many cases we do not even need a mediator good at deescalation as much as being respected enough by the side asked not to do something.

Basically, here the difference is that people told him he is being uselessly perfectionistic, sometimes perfectionistic in a direction many consider net negative. He did not believe those people and this ended up more like an escalation, you do have enough of his respect pre-accumulated to have influence.

Thank you for your efforts to improve the situation, of course.

This alternative universe requires enough people in Nix* community to agree explicitly that manually aiming for any kind of perfection is almost always a bad idea, I am afraid. This is not the first place I have seen where efforts towards global cleaning up go wrong much more often than end up useful.

(Yes, it could be enough to agree on a more moderate stance of «update to the guidelines in the manual or it did not happen» and just stall everything at that phase until a very clear supermajority support among those who care either way)

By the way, one thing I do not see addressed in the discussion if specific behaviour is: at that flow rate, it is also hard not to raise the question «are you even reading what you merge», and balancing in the golden middle is really hard to impossible. (Yes, Sandro has also been asked to be less quick to merge at least in some specific circumstances)

If you take two committers at random, odds are we effectvely ignore each other just because we do not intersect often enough. Even more so for two random steady contributors. So deciding that some people should just ignore each other because it’s the least expensive option is not that bad. (I come pre-soured about ability of Nix* community to make large coordinated decisions without ignoring clearly articulated issue, I know this doesn’t help)

Should we start some kind of a list who would trust whom on such issues? Like, of people in this thread, I would probably trust outright @grahamc or @qyliss or @Irene saying they agree with people saying I did things wrong in some interactions (unlikely that I change beliefs but likely that I change which subset of my true personality is included in 7c6f434c persona); I would seriously consider whether I agree with @jonringer or @domenkozar or @zimbatm on such a matter (probably agreeing in the end about adjusting the form, cointoss about the actual content); I do not mean offense but my honest reaction to @blaggacao in the same situation would be «is there something pointed out I have obviously missed, or is David misguided again?»

I guess if we make a list, we would ask people if they agree to be listed as trusted parties, and whether they want to state something about themselves.

Something like me admitting that I resent emphasis on empathy or human connection or over-emphasis on non-verbal cues because I do not expect empathy working with me in either direction as some of my emotions (and probably body language) are misaligned with what is normal either in wider society or even here. Yes, if @domenkozar or @zimbatm tell me something and stress empathy or human connection, I am less likely to take this seriously.
Also I no longer believe in Nix* community being able to make a technically good global decision without a huge expense of effort, and sometimes not even then. I guess such position statements could help the party seeking mediation to pick a more suitable person to ask to mediate in a specific case…


Those where ideas. I never finished them and the SuperSandroBot account exists for another project where it is used since 4. July 2019. Currently I only dump my gists for nice log rendering on there to avoid filling my personal gists. Those messages where never fully automated but I didn’t always fully digged into them before posting them.


Generally I would prefer if people would avoid referring to me with that acronym. It sadly begins with two letters which I do not want to be associated with.


I am very sorry for using this abbreviation. Thank you for pointing this out, even though I am in a neighboring country, I didn’t make that association.


No problem and you don’t need to be sorry. You didn’t do it on purpose or in bad faith and such coincidences happen a lot if you take a closer look.


Answered over at: Nursing a thriving community - #48 by blaggacao

Remember that the significance of an issue is dependent on the individual, and even if someone else doesn’t perceive it to be significant it still can be very significant for others.

There’s still many lessons able to be learned for the nixpkgs community about remedying some behaviors before they get escalated. In general, most of the dialogue is very dry and technical related, but we all have room to grow.


I am definitely opposed to saying GitHub block evasion is unforgiveable. And yeah, there are some people out there whom I expect to support effectively that. However, if things have already gone so badly that there is a block, I support establishing a norm that it is not a good idea to just circumvent a block after you have noticed it. So if third parties find themselves invited into that situation they can rely on the outcome of a recorded discussion when saying «please do not do that in future».

I think such norms are harder to weaponise than normalisation of calls for public apologies for whatever.


Is there a text version of the content of this video? I have trouble listening to content. Additionally, from the looks of the title and the preview image, it looks like it’s going to be total garbage. BUT, the Youtube algorithm favours videos that looks like total garbage on the onset, even when they’re not.

Right now, if someone cannot listen to the video, the message could look quite bad. The tone of the title and the preview image really doesn’t help.

And no “it’s just six (twelve) minutes” is not helping.


I feel this thread has gotten to the point of exhausting all of us, and pretty much everything has been said that can be said, so lets take a break from this. I’m closing the thread. If you have concerns about this, please direct message me.