Skip Navigation

Linux Distribution "NixOS" drama: Moderation Team resigns in protest over Interference of Leadership; Elected Leader works for US Military Company, fearing alignment with US fascistic development

Short Summary of the Community Drama of the Linux Distribution "NixOS", so that you can get the big picture and form your own opinion with the provided sources.

Clarification of the "Steering Comittee" as Project Leadership

Moderation Team resigns in Protest

Technical Leadership works for Military Company, causing Fear of Alignment with Facism.

57 留言
  • First things first: a simple search for "anduril nixos" shows that NixOS and Anduril Industries (defense technology) have been entangled for years.
    So, pretty sure there's plenty history & dissent here, but I never dived into it.


    In detail this looks like just another community drama, but when you zoom out a different picture emerges: commercial interest, a will to silence dissent (and I will give them the benefit of the doubt that it isn't for ideological reasons but simple worry about money). The Enshittification of a distro. With a military/fascist twist.

    Here's an interesting detail:

    Unfortunately, the Constitution does not provide a meaningful recourse to SC overreach

    So they have a flawed "constitution" which - judging by its name - should supersede the steering committee. It's not like it's really a constitution though, with all that would entail. It sounds more like, hm, "communitywashing" to me. Still, I wonder if they're willing to take that colorful terminology one step further and make an amendment to said constitution.

    So yeah, political bias and unilateral decisions.


    I've always been leery of NixOS, and I mean since they started pushing it over a decade ago, always claiming it's revolutionary better than $STANDARD_LINUX_DISTRO.

  • For full independence, why not simply detach development from community?

    You can even have multiple independent communities with multiple independent moderation teams all about the same software.

    As a developer I've never needed to engage a particular community on a personal level in order to make a PR to a project.. if the technical maintainers want to accept the change, they will, if they won't then that's fine, they probably have their reasons. It's ok to communicate with communities to get feedback, but I'm not making contributions for the social approval, I'm making them when I believe they are useful, and most of the times I write them because I want to have that change myself. If it's rejected and enough other people are interested in the change, it can be forked. That doesn't mean I hate the maintainers or that I don't want the original to exist or anything, it's not personal.

    But well, I understand that some communities wanna make software and they intertwine development and social relationships. However, if you do this then I don't see how can independence be a thing. Either separate them and don't intermix them or mix them and don't expect them to be separate.

    • You have to look at the history of NixOS for it to make sense.

      It started out small and there was a small group of people hacking away on a cool project in their free time. Of course they had shared interests and so would like to hang out together to discuss. That is how the community formed.

      At first neither the community nor the distro were big, and so there wasn't much tensions. When something needed to be done/paid for, some member of the community just took it up and did it, doocracy-style.

      Then as time went on and both the software world and Nixpkgs got more complex, the resource usage got outside the realm of "some dude just runs a build box in their basement" and "some other dude hosts a binary cache on their Uni's servers". There were commercial players willing to donate money and resources, but that needed some management, both financially and logistically. This is how the Foundation was formed, at first just by the project's founder and some trusted friends.

      Simultaneously, as the community attracted more and more people, it started to feel less like a tight-knit group of friends and more like a town square: you know a couple folks well, kinda recognize most usernames, but can't say you're familiar with everyone. Some discussions got heated, and it became clear we would need moderation; that's how the moderation team formed.

      Another aspect of community growing was that you could no longer just host a meetup at a local cafe and needed a dedicated space and such for everyone to fit it. This is how NixCon started, and since it costs money to rent a space, there were calls for sponsorship.

      At some point, Anduril (a US MIC company with suspiciously fascist-like opinions and tech) started using Nix. Since they wanted to hire Nix engineers and in general wanted to do have sway in the Nix community, they sponsored a conference. People really didn't like that, there was a huge drama with open letters and maintainers leaving. The drama also uncovered some other rifts in the now quite massive community, e.g. contributors were unhappy with the direction Eelco (the project's founder) was taking Nix itself, and how many PRs into Nix, including crucial bugfixes, remained unreviewed for months.

      This prompted a bunch of relatively trusted people in the community coming together and drafting up the constitution, which formed a new formal, elected governance body for the community, the Steering Committee, who had the final authority to manage all aspects of community governance (except finances). After the first SC election things calmed down a bit. Eelco semi-voluntarily left the Foundation and most other positions of power, the Nix maintainer team grew and that helped a bit with PR reviews, etc.

      But it seems now Anduril has hired a member of the SC (after they were elected), once again prompting people to be rightfully upset about them trying to insert themselves in the community. There's also some mostly unrelated thing with SC trying to control the moderation team (the control which they do have according to constitution), to do some potentially shady things.

      Hopefully this lets you see why NixOS needs a community, and community governance, in order for things to work at all. Someone has to host the binary cache, run the builders (which needs some entity to manage finances - the Foundation); review PRs (that needs discussions and those discussions need the moderation teem to keep them productive); and merge them (that needs committers, which requires deciding who's trustworthy enough to do that).

      And yes, you can just make PRs or send patches without community participation. Most folks in the community are both super nice and technically knowledgeable, regardless of their political stances. But the community has to be there. I really hope that both theses things get resolved during the next SC election (which is in a month or so).

      If it’s rejected and enough other people are interested in the change, it can be forked.

      And actually both the Nix project (as in, the codebase) and the community had seen multiple notable "forks" over the years: GNU Guix started out as a Nix fork, there's also Tvix which is a Rust rewrite, Lix which is a code/community fork that happened after the first Anduril drama, etc. The latter two kind of rely on Nixpkgs and the associated build/cache infrastructure because maintaining that is expensive.

      • I see, thanks for the overview.

        If NixOS really does need a community in order for things to work at all, and it cannot be independent from it, then it looks like the moderation team asking for independence is a hard ask. It'll require restructuring it.

        However, with this context it looks to me that what they are asking is not really independence for the moderation team, but independence from Anduril.. which are 2 completely different things. The message is misleading.

    • They're kind of welcoming and accomodating with that. I've sent some drive-by PRs towards NixOS and it was always very easy and productive interactions.

      But I guess it's more complicated at that scale. You can't just do whatever like in smaller projects. Someone needs to be in charge of money and finances, there will be dissent that doesn't just go away on its own. And mid- to longterm decisions need to be made. Architecture decisions and sometimes that's not easy and might be contrary to what the community needs and wants right now. It's just a lot of overhead, but larger projects work quite differently from smaller ones.

      • I get that big projects are not the same, but in my experience there's always a hierarchy, not a collection of independent bodies (except for fan-made communities that are clearly "unofficial", those are independent, sure). It's not unheard of for maintainers at the top of the hierarchy to influence other parts of the organization, like moderation. In fact most open source projects are like that, led by a group of "benevolent dictators".

  • From the last incident, there was Aux that wanted to create an alternative for the Nix ecosystem, but it died before it even started. Right now what we do have is Lix (what I'm currently using) and Tvix as an alternative for the Nix program, and Guix as an alternative ecosystem that's nowhere near as complete.

57 留言