How was this treewide PR performed?

Commit author is @volth. How did you remove all redundant rec's? Could you elaborate how someone could perform this PR again, and what Nix parser was used?

Clearly there was some forbidden knowledge in that PR, because github has inexplicably disappeared it:

1 Like

The price you pay for vendor lockin.
Github has deleted @volth account alongside all PRs, issue comments, and so forth ever made with that account.

1 Like

Well, why didn’t they just use a placeholder account for the deleted PRs/comments then? Look, they even have one already set up for that purpose: ghost (Deleted user) · GitHub

I am aware, hence the goal of this post.

1 Like


I love free software, libre services, privacy, etc… but I’m also pragmatic so think it is ridiculous to propose leaving github because of the work involved, etc… but losing @volth from our platform is an unimaginable loss and definitely makes me reconsider my position on that topic.


I’m not fully aware of the nature of the ban (all I know is from @grahamc 's twitter post from December), but I believe it had something to do with law infringement. Github’s fair use policy doesn’t allow for it, and apparently the process is to remove all traces of someone’s history if in violation (which is pragmatic, but crappy if 99%+ of all contributions were well intended).

It would be nice if there was a mechanism like, “this user’s account was flagged, please review the following issues and PRs made under your organization for any content which violates our policies”. That way, we could retain the numerous PRs that @volth and others contributed.

I think the nature of some of the content wouldn’t allow for this. It seems that instead of reviewing the thousands of contributions, they just deleted their entire history.

1 Like

I don’t think this would be unique to github. Gitlab has similar policies around illegal activity GitLab Internal Acceptable Use Policy | GitLab . If we did have a community hosted platform, then we would probably be in a better position as all contributions would be specific to nix, and hopefully legitimate. However, I don’t think anyone wants to incur the amount of maintenance costs associated with running your own development platform.

1 Like

@jonringer there have been some people talking about platforms (which definitely aren’t mainstream) which are meant to protect against this sort of thing.

And to clarify, I didn’t say I changed my position… just reconsidered it. Moving to any from Github would be such a monumental undertaking I feel like I need a nap just thinking about it :wink: :laughing:


As much as I recognize that @volth has made many significant contributions, has been a valuable member of the nix community, and I wish @volth was still a part of our community; there are consequences to committing a crime. I wish I knew more (from a personal perspective) to know if it was justified, but that’s the world we live in. Also, I want to respect’s @volth 's right to information disclosure.

Even if we had a development platform hosted by the NixOS Foundation, and there was a crime committed on it, then an entity could come after the foundation. Even if the platform was hosted by an individual, someone could come after the individual. I think a lot of people are making this into a discussion about privacy and data ownership, when the issue is about law enforcement. Github’s method of enforcement is to remove all potential content.

1 Like

This thread has diverged significantly from my initial intent. I’ll try to use the commit email to get ahold of them.


As much as I recognize that @volth has made many significant contributions, has been a valuable member of the nix community, and I wish @volth was still a part of our community; there are consequences to committing a crime.

I think this statement is too strong to make against a fellow contributor without any knowledge of details.

I see no reason why GitHub would not apply retroactive non-existence to cases of account termination for legal reasons, regardless of the details or based on finer details than we know. At the same time, I see no reason to presume that legal reasons include a crime, as opposed to, for example, restrictions on what foreign entities are allowable for a US-based entity to interact with in which ways (and interpretation/implementation of said retrictions). Not saying GitHub could safely for them reduce their overshooting in the implementation of legal requirements, but I think using the word «crime» as a default guess of the legal reasons GitHub find sufficient for cutting service is at minimum impolite.


Just discovered that I got mail notifications for #67530. But I doubt
you’d learn much from it.

@volth (in the initial statement): do not merge, let's wait for ofborg analisys
@volth:       @GrahamcOfBorg eval
@Mic92:       pushed commit 91e88e71b3e0cce487c509cd2b525e1bbadffc79
@volth:       @Mic92 the script is easy to rerun against the latest state of `staging`, so probably no need to solve merge conflicts manually
@Mic92:       Do you know, why this triggers some rebuilds?
@volth:       > Do you know, why this triggers some rebuilds?
              Mostly ruby modules with `gemdir = ./.;` and python modules with `src = ./.;`
              ofborg report is here:
@volth:       rebased
@Mic92:       Merged #67530 into staging.
@ericson2314: Nice work!
1 Like

This is fair, I’m going under the impression that Github reluctantly interferes with community activities (as it’s usually just negative PR), and they have their hands forced because of law or rule enforcement. I’m also making the assumption that the absence of a post dispelling rumors about the nature of the incident, and nature of some tweets means that it’s at the very least sensitive issue; and more likely, a warranted precaution like a gag order.

But assumptions are meant to be proven wrong; and I hope I am wrong.

The original post I’m basing most of my assumptions on is ambiguous on causation: so it’s still possible that github specific guidelines were violated; but if that were the case, then I think there would have been more community engagement about github not being a viable platform. Either way, speculation about this isn’t helping anything.

I agree with grahamc 100% on this issue

My objection here is that the project does not get to retain the history of the contributions. The banning and removal of users who break rules or laws is not upsetting to me.

If it is a trial, I wish @volth the best (I still hope I’m wrong). If he/she/they have the opportunity to come back to the community, I hope they do.

I’m not particularly tied to github. Similar to what @aanderse is saying, if another low total-cost-of-ownership platform arises which is a marked improvement over remaining with github, easy-to-use, reliable, and agree-able with the community; then I would be happy to switch. But the switch should be warranted to counteract the pain of leaving behind the rich history of issues and PRs; and Github (in my eyes) hasn’t done any offense of magnitude to warrant the move.

I apologize @siraben for further de-railing the conversation.


I’m only somewhat familiar with US law. If your case is going to trial you can be: “accused of a crime” when going into a trial, “acquitted of a crime” if found not-guilty, or “found guilty of a crime” if… found guilty. But as you mention, this is based mostly on speculation; I don’t actually know if there is a legal issue, if there is a trial (not all cases go to trial), if the trial occurred, the outcome of the trial, or if this is the right terminology in respective nation.


@siraben ask the GitHub support.

I asked them to send me the content of an issue i created, that was deleted by the repo maintainer and they did few days later. It might not contain useful information.

So e-mailing volth is also good.

1 Like

I think it was some scala based parser.

1 Like

Yes, it was a Scala parser, and I used those treewide PRs to find bugs in it (and inadvertently found some in upstream Nix parser too). It is not a piece of software tailored to do such things.
Best add warnings "unused rec", "unused variable", "\t or other unprintable symbol inside string literal", "unicode quote symbols", "futile escape sequence \. (did you mean \\. ?)", "url-literal is deprecating", … into Nix. It is easier and it would keep the code cleaner than yearly treewide replacements.


M R via NixOS Discourse writes:

I see no reason why GitHub would not apply retroactive non-existence to cases of account termination for legal reasons, regardless of the details or based on finer details than we know.

I agree.

Meanwhile, I have all activity mails generated by GitHub for volth’s activity in Nixpkgs since at least “Wed, 14 Dec 2016 09:41:17 -0800” (those do not include edits to messages, though, because GitHub sucks that way).
I can probably even publish all of them after some scripting to cleanup the mail headers (since I don’t want everyone to have my GitHub reply and unsubscribe tokens and such), given @volth does not object.
So, then, if @volth were to publish his nixpkgs git repository with unmerged branches we could probably pretty much reproduce everything what GitHub deleted.