Open letter to the NixOS foundation

1 year ago (save-nix-together.org)

On the one hand I am not a fan of commenting on documents without having read them in their entirety, but on the other hand it would probably take weeks to dive into the details of the discussion threads about the various PRs and initiatives linked here.

What really caught my eye was this discussion thread on the RFC98 PR (https://github.com/nixos/rfcs/pull/98#discussion_r683938993) where one of the signatories of this open letter kept arguing for why fascism should be included, in the sense of:

  Do not allow the Nix community to be a place for spreading ideas rooted in fascism or bigotry

It seems to me, based on my reading of that discussion so far, that at least some of the signatories of this letter have a very specific agenda and are just as unwilling to compromise as the accused on the other side. Instead of being slightly more pragmatic and accepting less controversial language they then decide to die on that hill and divide people over an unnecessary question.

To me this whole thing exemplifies the worst aspects of the "code of conduct" initiatives you see in various projects. Ostensibly a reasonable idea that could really improve the participation experience especially for people from, as they call it, marginalized communities, but with the end result being that it back fires and makes people come across as radical ideologists.

  • > makes people come across as radical ideologists

    Indeed I think the majority of people who seem to try to push hard for CoC inclusion end up just using the maintainer's either inaction or refusal to do so as some kind of grounds to go to war against them. I've been downvoted to oblivion across several sites for saying this but I think it really warrants saying it without sugarcoating... this is exactly what a terrorist does.

    • > I think it really warrants saying it without sugarcoating... this is exactly what a terrorist does.

      What about this situation made you think it warrants saying that? What is your definition of a terrorist? I thought a terrorist was a person that spread terror by acts of violence. Which is not what's happening here.

      4 replies →

    • I'm assuming you've been down voted (multiple times) less because you're wrong, but more because you're using the "wrong" words to describe your meaning. 'Terrorist' attempt to gain control through fear, but that's not the defining characteristic of a terrorist. It's hurting people. I upvoted you for your candor, but not for agreement. Arguing for what you think is better isn't what a terrorist does. Arguing, exposing rhetoric, that's ethical. It's objectively wrong to call that terrorism. Name calling, insults, idle threats. That's what children do, call them children. Active and continued harassment, that's what immature teenagers do. Specific actionable threats to people directly involved, that's what dangerous unstable people do. Direct threats against people not directly involved, that's terrorism. And no one actually sees the latter.

      Call it what it is, people who weren't loved enough as children, meaning they're still childish. Or psychotic individuals needing direct intervention. But save terrorism for people directly hurting people who aren't involved.

    • Not gonna lie, I did not expect where this was going. Lol.

      I think you should read a bit about actual terrorism. You are getting downvoted for inflationary using a term like 'terrorist' to frame someone you don't agree with.

Open source is probably one of the most accessible forums of direct democratic action. If you have the majority and leadership will not cede to your will, you fork the project and break away.

If you lack the majority, you have fewer options, most of which devolve to coups and forcing an ouster.

I don’t know how to read this letter in any other light.

I think it may also be symptomatic of the peculiarly leftist failure of assuming the inevitability and reasonableness of their positions as universal and that to disagree makes one a priori a bad actor.

  • Only one signer is in the top 200 contributors to Nixpkgs. That number is still the same even if you count signers in the top 500, too.

    A group that _barely_ uses Nix wants to overthrow its creator. This is hilarious and I hope they don't win.

  • I posted this somewhere else, but I feel it's important to note here:

    Forking Nix would take an immense amount of effort, and the maintainers are already overworked. There would absolutely be a community split, which means that there would be even more work required than before to just maintain both of the forks and keeping them in sync. The nix language itself has no spec right now, meaning the behavior is defined by the singular existing implementation. Forking Nix itself will very likely introduce incompatibilities that are impossible to remedy. A lot of the power of nix comes from nixpkgs (where the entirety of NixOS is maintained as well), its build system hydra and the binary cache, the servers, CDNs and agents for which are sponsored by external companies (we're talking 0€ cost for something that would normally cost 10s of thousands every year). Forking would lose all of that, it's pretty much impossible financially.

  • I don't see how forcing someone out means you lack the majority? I would say generally the opposite is true. The majority wants someone out and they are able to force them out.

    >If you have the majority and leadership will not cede to your will, you fork the project and break away.

    It's more likely that there is a majority BUT leadership does not cede and they hold the keys to the castle. It makes more sense to first try to remove the leadership. I would say this is in fact direct democratic action.

    Some uses of "majority" can be disingenuous, because there is probably a large group of people that is indifferent to whether current leadership is forced out. They could be counted as not part of the majority that wants change. But they can just as well be counted for the other side.

After reading the executive summary I have no idea what it's about, and no desire to keep reading. Then again, I think I've been burned out on all these open letters to different projects over the years.

  • Reading the rest of the document doesn't feel very illuminating either. As near as I can tell, the guy who made Nix is apparently also involved in a startup/company that also acts as a contributor of Nix and a distributor of some version of it. There's some concerns over a military contractor that uses Nix and sponsored a recent Con, and some potential conflict of interest between the the Nix creator as the head of the Nix project, and that person as an employee of a company allegedly tied to the sponsor.

    And then there's a lot of referencing various "bad behaviors", but being honest, those seem the weaker points. Of the two I've looked through the links for, the one about not expanding the commit/PR approval team for CPPNix looks especially like prudent caution in light of what we know about how the xz thing played out recently, and the one regarding a PR that was ignored for "quite a while" reads (as an outsider to all of this) worse for the authors of this open letter. First, if the dates on the PR are correct, "quite a while" apparently means less than 1 day. And while the issue might indeed be something that needs to be reverted the PR author comes across quite hostile to everyone else trying to understand the use case, and there's a LOT of snark about breaking stable behavior. If this is frustration boiling over from repeated prior experiences, I hope the people the letter is aimed at have that context because to someone coming in cold, this is a terrible example.

    • The commit bit isn't about security, it's about control. There is no way open source projects can never give out commit bits again due to xz. And xz doesn't have an active team with multiple people in it so it doesn't really make sense to compare them.

      Not sure what you are talking about wrt the dates. Why did you ignore the Meson example? And here is another example: https://mastodon.delroth.net/@delroth/112310645064859357 This is a guy who has implicit authority to veto anything. Sometimes he does so, and sometimes he just comments on something perhaps not necessarily intending to veto it but that is what happens anyway.

      12 replies →

  • As far as I can understand, the complaint is about the behavior of the owner of the Nix project, together with alleged ties to military companies. Most of the sources are assorted screenshots of Matrix and X posts with snide remarks, so it's hard for me to understand the latter claim. As for Eelco's behavior, it seems like a case of BDFL gone wrong. Tightly restricting the commit bit but also not taking the time to review patches is certainly annoying. The Clojure community a few years ago had a similar friction and ensuing drama (cf. https://news.ycombinator.com/item?id=18538123)

    The installer issues are annoying. I just barely started using Nix, and I'm completely new to it. I wasted an entire day tinkering with the default Nix install to enable flakes and other features that are apparently experimental, even though they are widely used by the community. In the end, I did use the Determinate Systems installer simply because, on Mac OS at least, it provides Flakes out of the box, functioning package search, and the Zero-to-Nix guide assumes you are using their installer. It's hard for me to judge why exactly this is a bad thing. The site seems to just list it as an aside for the ineptitude (intentional or not) of the Nix maintainers.

  • Yeah, this letter is odd in that it doesn't begin by stating what the problem is, but instead allude to the problem as if the readers were familiar with NixOS cultural issues

    I'm sure that somewhere buried in a wall of text they state what this is all about, but reading up to there is pretty hard when one doesn't have context.

    edit: it appears that this is mainly about the bad behavior and conflict of interest of Nix creator, Eelco Dostra. Reading this makes me appreciate how well managed the Rust project is (despite occasional crisis and misbehavior like the RustConf fiasco)

    • > I'm sure that somewhere buried in a wall of text they state what this is all about

      If they could've, they would've. Unfortunately, this has been bit of a problem in the Nix community for a while. No one mentioned in this letter is an "abusive" "right-wing" "concern troll" by any stretch of imagination. Actual behavior that kind would most likely result in an unanimous ban. But none of the evidence buried in this wall of text supports that assumption. Whether the authors realize it or not, this letter consists almost entirely of ad hominems and accusations of ulterior motives.

      Just as an aside, I wrote "almost," because I do think the handling of the sponsorship was an issue here despite the letter framing this as not the central issue. Military sponsors aren't a great fit for a community of international volunteers, especially one trying to put AI on drones. I'm not comfortable with that either. But were the accused members of the Nix community abusing and concern trolling to push a right wing agenda? Definitely not.

      The other issues though, are just disagreements. The letter is taking screenshots of random disagreements and claiming it as proof of, again, "abusive" "right-wing" "concern trolling" behavior. Some vocal members of the Nix community love to do this. All. The. Time.

      They disagreed with me. They didn't do this or that. That means they must be against social justice. They're persecuting minorities. They're concern trolling. Oh, here's another person trying to stay away from all the drama. They're complicit too.

      This is the stated mentality of these vocal members. This is also the reason I avoid posting in NixOS Discourse and Matrix off topic chat channels. It just feels like some are more interested playing Game of Thrones. It's not representative of the community, but I don't want to attract unnecessary attention from the vocal few. I think this is harmful because destroys healthy decision making on difficult issues by excluding people not looking to pick a fight. Fun fact, the same sort of drama also played out when #nixos IRC migrated to Matrix following the Freenode incident.

      Actual concrete example. The Nixpkgs repository includes a file containing a list of maintainers. A PR was made against this file, and one member of the community asked the PR author if they can make the maintainer name the same as their GitHub username.

      https://github.com/NixOS/nixpkgs/pull/120729#discussion_r621...

      And this exploded. Way out of proportion. Some were pouncing on the member who made that comment. To me, the response seems far more abusive than the original comment ever was.

      https://github.com/NixOS/nixpkgs/pull/120729#discussion_r621...

      Accusations were flown, like "denying someone of a name." Like, seriously?

      https://github.com/NixOS/nixpkgs/pull/120729#discussion_r622...

      I feel bad about bringing this back up, but it only seems fair to show the whole picture given the drama.

I hope this call to action will come to some form of resolution, as I indeed feel quite uneasy with both the current state of the Nix project and with the involvement of contractors such as Anduril. I've lost good friends that died crossing borders to find a better life, and I'd prefer to stay away from projects involving the tracking of migrants by ML-trained drones running Haskell and NixOS. However, my current livelihood is built around Nix, so I cannot simply threaten to quit using and contributing to NixOS, and going back to Debian after the Nix experience would be quite frustrating.

I also have my own frustrations with some contributions to the Nix project, where my input and concerns were completely disregarded and ignored, in cases where I suspect that the interests of external companies (heavily invested in Nix) played a big part.

  • Curious, if your livelihood wasn't built around Nix, why would you have gone back to Debian, instead of Guix ?

The letter was quite illuminating (albeit being too long and not focused enough for my taste). I looked up Determinate Systems and it looks like their primary aim is to provide and monetize a bettered nix tied to their FlakeHub platform. In this context, the lack of progress on the poor usability and documentation, which have plagued the core Nix project for as long as I can recall, is entirely unsurprising.

Eelco is founder of DetSys who very likely has a contract with Anduril.

Rather than recuse himself from the sponsorship discussion, he argues in favor of allowing anduril.

Clear conflict of interest.

> The moderation team is disempowered to ban people for driving away many more contributors worth of time than they have contributed themselves if they don’t violate any rules on paper.

So the demand is that the moderation team can ban people without them having violated any rules? And on what basis is the volume of these theoretical, possible future contributions based? This is a demand to ban people (prolific contributors) from the community based on vibes.

I've been in online communities like that. It's ridiculous to think something like that is appropriate for a sizeable open-source community. That kind of shit is for tiny, insular Facebook groups, subreddits, fediverse instances, etc. You don't see it so much at larger scales for good reason.

> Eelco has publicly liked several posts explicitly supporting Anduril on Discourse, likes which are visible under posts, and as someone with significant social power, can easily be seen as an endorsement of his personal view. This is unbecoming conduct of a board member and damages the unity of the board on decisions. You may browse his likes on Discourse.

This letter wants to talk about psychological safety, but concerns itself with policing social media likes. Seriously? I have no words.

  • This post was linked in the open letter, it explains pretty well why "don't violate any rules on paper" is insufficient: https://eev.ee/blog/2016/07/22/on-a-technicality/

    • That's not a case for rule-free bans, but for writing better rules-- including, if necessary, rules that are broad, flexible, require substantial interpretation, etc.

      And that doesn't address the entire first part here:

      > The moderation team is disempowered to ban people for driving away many more contributors worth of time than they have contributed themselves

      The contributor-hour estimation doesn't exist. (I struggle to imagine how it even could.) It's a rationalization which has come up because the most prominent person they want to ban is a consistent, prolific, long-time contributor and they need to say something to make it seem like his participation is a loss for the community as a whole.

      It seems like what they really want is arbitrary bans of political opponents.

      1 reply →

I've been following the actions and discussions of these activists in NixOS community since November last year.

Note that you can't discuss this open letter -- or any issues of that nature -- openly in the official places (NixOS Discourse & Matrix), because there is a risk of getting tarred as "fascist" or "concern-troll" before getting banned. Someone named Ailunarenth respectfully engaged in such a discussion only to get banned:

https://twitter.com/sridca/status/1782200842571198962

If you post in Discourse, it is likely to get "unlisted" (meaning censored from Google and other search pages) by the mods. A case in point: you can't reach this post without a direct link (the open letter alludes to Jon Ringer being one of these 'fascists'):

https://discourse.nixos.org/t/objection-to-minority-represen...

I myself got banned for a picture of a steak and a link on my website, back in November last year:

https://srid.ca/nixos-mod

But none of this is surprising because "ejecting fascists" (where 'fascist' means "someone whose opinion I don't like") has been the theme of these activists since 2021. See the downvotes in this sensible comment: https://github.com/NixOS/rfcs/pull/98#issuecomment-902913333

  • > "ejecting fascists" (where 'fascist' means "someone whose opinion I don't like")

    Source: https://hachyderm.io/@leftpaddotpy/112248186696362113

    What they wrote: "there's a lot of work still to do on getting fascists out of the community and everyone is quite exhausted from the fight to get this passed. however. the fascists will get kicked out."

    And where they wrote, in a post right below, that "fyi: if you still have concerns please talk to piegames, they're very involved in making this happen" - the person "piegames" being referred to here is a moderator of NixOS.

  • That discourse link is the dictionary definition of concern trolling: Appearing to be open to be convinced, but not being so. Appearing to care about minority concerns, but then disregarding them (while attempting to eliminate the entire concept of someone having limited perspective with a tired "we're all human"). Appearing to understand that the current status quo of who is engaging with the Nix community is disappointingly limited, but refusing a solution because it's not as good as a hypothetical nonexistent option defined as "doesn't involve something I don't like" while putting responsibility for conjuring the option on everyone but him.

    Yeah, what an annoying person, I wouldn't want to work with him either. At least most people with this world view don't cloak it in a layer of reasonable sounding but devoid of substance discourse that wastes everyone's time.

An attempted tldr of the letter if it is too long for your taste.

Some of the main points of the letter are:

- edolstra, who started Nix, acts like a BFDL, without oversight or responsibility, making unilaterally circumventing or disregarding decisions made by working groups, he chose not take part in.

- he has significant conflicts of interests between his actions as effective leader of the Nix project and his employer

- he is not transparent about his conflicts of interest, nor willing to recuse himself in such situations

- edolstra is not acting as an effective leader. Nixcpp is not well-maintained recent releases have been so buggy, that they are not used. Neither doing the necessary work to maintain Nixcpp and the Nix infra, but also not delegating (effectively or at all), not allowing teams to grow or giving them authority to act without his explicit review or arbitrary veto.

All these are significant concerns for there being a future for Nix as something besides a branch of Determinate Systems, dependent on the moods and business needs of a single company, unable to act independently or maintain a community

There are further ethical concerns you might not share, which are important to significant portions of the community, which they expect not to dodged, and at least to provides clear answers to

- Publicly endorsing a company that builds autonomous weapons systems and systems that are, in the opinion of many, built with the explicit purpose of aiding with human rights abuses

- That opposing fascism is a controversial statement

- Failing to achieve any effective moderation policy inside the project

They hope for reconciliation with the project and leadership, with edolstra stepping back from his BFDL position, allowing the institutions of the project to develop and act under their own authority with a mandate from the community

i would recommend you read the full letter and argue against the authors arguments instead of this post's

An additional comment: Forking is an option, but forking is not democratic event some seem to propose( one person one vote). Because even if the ones who fork are the clear majority, they have a much higher cost to bear, since domains, infrastructure, trademarks and mindshare stay with the original project