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
- Resignation Post, with examples of interference: https://discourse.nixos.org/t/a-statement-from-members-of-the-moderation-team/69828
- Conflict due different interests:
- the Moderation Team desires being independent. otherwise, they can’t moderate the behavior of people in positions of power.
- the Moderation Team is currently accountable to the Steering Comittee: https://discourse.nixos.org/t/a-statement-from-members-of-the-moderation-team/69828/6
Technical Leadership works for Military Company, causing Fear of Alignment with Facism.
- Steering Committee works for Military Company https://discourse.nixos.org/t/sc-member-tomberek-works-for-anduril/68971
- People in the community feel uncomfortable with that, since the US and its military are heading towards facsism: https://mstdn.games/@KFears/115275676459535171
- The Steering Committee made a public Post about that, explaining the Situation: https://discourse.nixos.org/t/statement-on-a-steering-committee-member-joining-anduril/69007
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).
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.
Well, yes, there are two separate contentious points.
The Anduril thing actually happened a month or so ago. I feel like this will be resolved at the next election, since tomberek’s term is ending and I don’t think he will be reelected, knowing how much most people in the community hate US MIC.
The moderation team independence is more complicated. It looks like the Steering Committee tried to remove a member from the moderation team, and also tried to push a new member onto it. I don’t know the exact details there. If we just read the constitution, the SC has that power, but the moderation team was very unhappy with what they see as meddling in their affairs for political reasons, and decided to quit out of protest. I feel like the new member was a right-wing (in the context of the kinda leftist Nix community anyway) political appointment (since the stated reason was “to balance things out politically” and the mod team was mostly leftist), but don’t know for sure and this is pure speculation. In any case, I think the moderation team is special and should not be under complete control of the SC (unlike purely technical teams). I don’t know how that would look like, and indeed as you say a restructuring is needed. Maybe the SC should only be able to veto people joining the team, but the candidates have to be chosen by the mod team themselves, and in order to disband the mod team the SC must disband themselves too. Otherwise the moderators will have no good way to moderate any discussion involving SC.