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
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.
I’ve been saying this for years: Just switch to Guix.
- An official GNU project;
- Herd instead of systemd;
- Uses Linux Libre and only 100% free software;
- Big, friendly, helpful community;
- Regular meetups, unconferences and other events;
- Config is done in an established language (Scheme) instead of an idiosyncratic DSL.
How do you do Flakes with Guix? That’s probably the most important feature Nix has.
Big, … helpful community
Not sure I would agree with that lol
Also, a fraction of packages, users and guides.
I think Guix is great, but as a NixOS enthusiast who genuinely wanted to try it out, I gave up in the face of the lack of docs for people who aren’t working in lab or have a PhD in computing of some sort.
Also, how is shepherd better than systems? Genuinely curious.
Lastly, I agree Nix is not a very enjoyable language, but scheme doesn’t look like a very beginner friendly option either. Could be wrong, I’m not a programmer.
As someone who is curious about Nix but has given up after trying to wade through the myriad and conflicting “getting started” resources for it, I cant imagine how bad guix docs must be for a Nix enthusiast to adandon it.
Guix basically only has the official docs (which has a lot missing in my experience), a single Youtube channel (System Crafters), official issues/mailing list/IRC, System Crafters forum, the source code, toys.whereis.social, and rarely a blog post or random git repo that might have the information you need
Im honestly more interested in Nix, as even with all the chaos it feels like it has good technical momentum. I just wish there was something equivalent to Geerlings “Ansibles for devops” or Shotts “The linux command line” for it.
I’m pretty sure Guile isn’t pure functional either, while Nix is
I’ve been eyeing Guix for a while but haven’t jumped in yet. Honestly, I feel like I’m finally getting comfortable with nixos and flakes over the years. There’s quite a bit of un/relearning to do, and I can’t tell if the flow of Guix’s channels/inferiors would match the ease of composability that I like with flakes. The lock system really does it for me and I don’t like the idea of hunting down refs to pin manually or maintaining my own frankenstein repo (other than my config).
That said, I do use emacs and actually like lisp, so I’m torn right now.
Is it non-trivial to enable non-free repos?
https://gitlab.com/nonguix/nonguix
Quite trivial
Never tried! But I’m assuming it’s a pain indeed. Not even Signal Desktop works out-of-the-box (or maybe at all, haven’t tried either) because of Electron.
That sounds like a pretty useless replacement for people who want a declarative configuration and a PC capable of doing anything other than contributing code to open source projects.
It seems to me like you didn’t do your homework before posting, since what you write is patently untrue. Guix is actually, primarily, a (very much functional/declarative) package manager which you can also install on top of other Linuces, even RHEL. Then there’s the Guix operating system, which is very much useful for many tasks other than developing free software.
Can we avoid calling taking action against valid moral objections “drama”? It only serves to make the people doing the right thing sound like they’re being immature, even when they’re obviously right.
Objecting to a fascist government’s influence over very powerful build infrastructure used around the world is the right thing to do.
valid moral objections
That’s the thing, whether or not they’re valid depends on the person you’re asking.
I personally think this is a load of bullshit and just another instance of slacktivists trying to guilt people into doing their bidding.
Hopefully the leader in question doesn’t change a single thing due to this pressure. He would be a helpless child if he didn’t have the strength to resist this kind of peer pressure from online drama.
How is taking direct action to stigmatize someone who is enabling our fascist military “slacktivism”? What do you propose would be a more fitting and effective tactic for someone who doesn’t want their work associated in any way to the US military?
Removed by mod
These terms mean very specific things but because you don’t know what those things are you think I’m being vague and biased. You should probably just shut up.
Removed by mod
2 day old account shilling for Nazis and calling calm replies explaining their positions “temper tantrums”
You fucking spineless shitbags are insufferable
The problem is, even if he was a good guy, he will get pressure from the racist regime if they want some changes. They could threaten his career of family, and so he complies
That’s the thing, whether or not they’re valid depends on the person you’re asking.
No it fucking doesn’t! There are people who think that, but they’re wrong.
Moral relativism is bullshit.
I’m sorry you and so many others are foolish enough to delude yourselves into thinking that.
Why don’t we destigmatise drama?
Imagine if we referred to the recent UN walkout as “Drama at the UN.” It trivializes the topic.
Most people when they hear “drama” they think things like the brain dead hissy fits on reality TV. The kind of pointless fighting we should avoid. Destigmatizing the word would legitimatize that stuff.
We really need a better word for this posts topic where there’s very public back and forth but it’s a much more valid moral disagreement.
I think I’ve been on the internet longer than you, and drama has always applied to any kind of spat between parties.
Look at the youtube channel DramaAlert for countless examples.
“Listen kid, I’ve been on the internet much longer than you have. Back in my day we used to spin fidget spinners while watching LeafyIsHere videos and It’s The Nutshack memes during class instead of doing work. But you wouldn’t know nothin’ bout that, that’s ancient internet stuff right there”
Yeah, I rest my case.
i sincerely hope nixos utterly fails and their entire team shit their beds.
I can understand being hopeful for something greater taking it’s place post-collapse, but why wish a downfall for an entire team of humans that feel pain just as much as you and I?
The most ridiculous thing in the conversations I read was someone arguing that the fact that Anduril has a member at SC (Steering Committee) weakens their position. The mental gymnastic is so insane to me because it completely naively expect people who have a conflict of interest to do the right thing. What if they don’t ?
There is real smart fascists out there. they won’t kindly “recuse themselves” and weaken Anduril positions. Very suspicious that someone would argue that Anduril gets weaker at SC by having people there.
The most ridiculous thing in the conversations I read was someone arguing that the fact that Anduril has a member at SC (Steering Committee) weakens their position. The mental gymnastic is so insane to me because it completely naively expect people who have a conflict of interest to do the right thing. What if they don’t ?
The argument there was that they would be excluded of any votes related to said company.
It reads as an “honor” system rather than any objective exclusionary mechanism. Steering committee members are expected, and to their credit, were considered to have done so, but it all seems like judgement calls.
It is fully possible that grey areas or instances where other SC members didn’t personally care, were not met with recusal.
It would overall be better to not have those conflicts be likely or even possible.
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.
First things first: a simple search for “anduril nixos” shows that NixOS and Anduril Industries (defense technology) have been entangled for years.
It’s more like Anduril using Nix{OS} and trying to insert themselves into the community. There’s been a lot of opposition to that, including an open letter and maintainers quitting; this was a big part of the reason for Steering Committee formation in the first place. The SC has since voted on some based things, like banning Anduril from job posting on community forums and sponsoring conferences. I was hoping they would just ban any mention of Anduril anywhere, but that’s going too far for them unforutenately; and banning technical contributions wouldn’t make sense.
An SC member joining Anduril (after being elected, not before, mind you) is really bad, but I bet they will lose their seat in a month’s time when there’s a new election. The community is mostly antifascist and thus anti-MIC. It’s like one of the most leftist technical communities I’ve seen, perhaps more so than Rust.
It’s like one of the most leftist technical communities I’ve seen, perhaps more so than Rust
Rust is on the left? That’s (cough) GNUs to me ;).
Rust is socially vaguely on the left/progressive side, yes. Not so much economically of course, because of all the corporate involvement.
GNU has some right-wing libertarian culture in it, but is also vaguely leftist and anti-corporate otherwise. I would actually say Rust is slightly more progressive than GNU on social issues, but not by much; and GNU is more anti-corporate, but also not by much.
I know there some other more certainly leftist FOSS projects out there (like the one we’re chatting on right now 😉) but overall Nix is pretty good on that front.
Rust is the gayest programming language
How so? I feel like if we’re making jokes based on the language itself it would be more like the “straightest” language because of how strict it’s type system is. It seems like a sort of “there are two genders” sort of thing. Rust seems like the homophobic language.
(And to be clear, this is just a joke based on the language, not a commentary on the Rust community.)
Steering Committee works for Military Company
It’s only one SC member, and they switched jobs after being elected last year. I think the Nix community is generally very much against US MIC, and unlikely to actually elect someone working for them. Although it was well-known that tomberek (and johnringer) are US-military-aligned.
After reading a bit more into the modteam situation, I have to say I’m on the mod team’s side here.
Yes. This is two distinct things lumped together in one post. I think the arms industry thing isn’t too bad, it’s only since August and the term ends soon, so people have an opportunity to vote for the right thing in a timely manner.
I think the arms industry thing is bad actually. Working for the US military in any way is bad already (and has been since the founding), but Anduril is even worse since it has almost explicitly fascist & pro-Trump leadership. I think people associating themselves with Anduril need to be kept far away from any position of power within the community. So yeah tomberek wasn’t on my ballot last year and won’t be the next.
It’s kind of a conversation classic amongst programmers. Would you work for the arms industry or a direct supplier? I wouldn’t unless someone finds a way to force me to. And the vast majority of people voice similar opinions. There’s a million valid concerns why it’s not ethical. I do however know one or two people who ended up working somewhere in that field. Or who bought stocks of defense companies and ultimately make profit with war.
Unfortunately “direct suppliers of the arms industry” covers like half of the IT industry. I’ve also avoided such companies but it’s surprisingly common.
Yeah, I don’t think there is an exact line to draw, maybe sometimes we need to be pragmatic. There’s a lot of dual use stuff and I mean they drive cars or use photocopiers, computer systems and eat as well, I guess just try to do your best?! But there’s some gradual decent from programming the buttons on the general’s microwave to delivering a missile guidance system to them. I’d say somewhere in between you’d switch to the “dark side”.
Again???
Didn’t this exact situation, for this exact same reason happen last year already?My favorite part was a member of the SC talking about how the moderation team are the only ones who can appoint other moderators when to comments above a user was talking about being approached by a member of the SC the night before who was offering to make them a moderator.
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.
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.
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”.
I think you’re right with that. And it’s not like the Free Software community has agreed on some form of project structure. There are projects doing all kinds of stuff from democracy to meritocracy, elitism to dictatorship. Or some of the common ways commercial businesses are laid out. Though I think once someone appoints several bodies, they need to make sure they’re both all equipped to do their task, but don’t mess with each other at the same time. Everything else is stupid. But I don’t know what’s right in this specific instance.
Thanks for the heads-up, I wasn’t aware of this.
The current political climate really is making people be stupid.
Endurance will determine who wins these battles.
i sincerely hope nixos utterly fails and their entire team shit their beds.
What a toxic comment.