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.
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.
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)
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 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.
>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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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:
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
As for the dates, I am talking about this bullet point from the letter, quoted in full:
> puck having to remind him multiple times to even read her PR message at
> all and think about if he could be mistaken
> https://github.com/NixOS/nix/pull/9911#issuecomment-19252073...
> (after eelco ignored the PR for quite a while, also!)
Clicking that link takes us to a PR that was opened on 2024-02-02. The initial response from the Nix author comes 7 minutes later. Puck has multiple back and forths with other members Github, but her next interaction with the Nix author comes the next day on 2024-02-03. This is also the first time in the conversation where she "reminds him ... to even read her PR message". There's a second interaction later that same day during which she does similar, but it's worth noting this is pointing to a different message and appears to be less a "reminder to read" and more re-iterating what they feel is their argument against the Nix author's own arguments. Puck then continues to have back and forth with other commenters but as of today, there has been no further comments from the Nix author after 2024-02-03, and no further comments from Puck after 2024-02-08.
This hardly to my mind qualifies either as "having to remind him multiple times to even read her PR message at all" or "after eelco ignored the PR for quite a while, also!" So as I said it's a fairly weak claim, and feels more like a "bastard eating crackers" reaction to the PR than an actual showing of poor behavior.
As for the "Meson example", I didn't ignore it. As I stated in my comment, I had at that point read two of the referenced discussions in detail, and thus commented on them. I didn't comment in the "Meson example" for the simple reason that I hadn't read it.
I have read it now, and equally find it confusing.
1) The claim in the letter is that the proposal has "passed RFC, for five years", yet the RFC itself only appears to have been opened 2022-08-24. It's been a while since grade school for me, and I'll admit COVID has warped all our sense of time, but I'm pretty sure 2022 is not 5 years ago.
2) The first completed working implementation of the change doesn't appear to have been done until 2023-01-18 (https://github.com/NixOS/rfcs/pull/132#issuecomment-13874661...). Again this is much less than 5 years old.
3) On 2023-03-20, the author of the PR for this change states:
> the RFC has made it past most of the early stages and the current goal is to achieve parity with the current buildsystem before replacing it.
(https://github.com/NixOS/rfcs/pull/132#issuecomment-14768433...)
Again, this doesn't seem to fit at all with the claim that the proposal has "passed RFC, for five years"
4) On 2023-11-01, the Nix author themselves asks for updates on the RFC implementation, an action which doesn't seem congruent with someone who is willy nilly single handedly blocking things and being a disruption to the process. And the author of the PR states:
>the main block is actually a lack of free time for the main devs!
(https://github.com/NixOS/rfcs/pull/132#issuecomment-17890770...)
This doesn't seem to point to evidence that the Nix author is single handedly holding up this process.
5) On 2024-03-21 the PR author notes:
> currently working on adding support to build nix-perl, waiting for assistance
(https://github.com/NixOS/rfcs/pull/132#issuecomment-20135356...)
Not to sound like a broken record, but if the issue isn't finished as of a few weeks ago, it can hardly be considered to be held up by the Nix author for 5 years.
I agree that one of the links in the open letter is to a comment on a PR from 2019, which is indeed 5 year ago, and does indeed contain the Nix author commenting that they are skeptical of the change because "he doesn't know meson but knows his own build system". But given that there's an entire wealth of history on the topic since then, including progress on the feature that appears completely unobstructed by the Nix author and an open PR that is a mere 3 weeks old for a current implementation, I find myself again unconvinced of this rampant bad behavior on the part of the Nix author. And I reiterate again that these complaints are very weak and don't do much to support the open letter at best, and act as contrary evidence at worst.
Again there might be other context to be had that is missing, but if one is going to write a massive "open letter" complaining about bad behavior, I expect the links in that letter to point to actual bad behavior, and or provide the relevant context necessary to show how what appears to be normal dissent is a passive aggressive continuation of obstruction. I have to assume the links one provides in an open letter is their strongest evidence, and if this is all the authors have... I am unconvinced.
Rather than recuse himself from the sponsorship discussion, he argues in favor of allowing anduril.
Clear conflict of interest.
With respect to the xz stuff I simply don't agree. Are we never adding new maintainers to open source projects anymore until xz is no longer top of mind in a couple of years? Note that a commit bit does not imply the ability to make a release in many cases. The complete release can still be done by a smaller group.
>certainly not when that reluctance is in the face of a coordinated pressure campaign complaining about a lack of speed.
The screenshot is from before the xz backdoor so it definitely wasn't top of mind for them. And they (including Eelco) even agreed in a previous meeting to add more maintainers: https://discourse.nixos.org/t/2023-06-02-nix-team-meeting-mi...
It's not about security, it's about being in charge. I don't think the letter is very good, but even before this letter and without ever using Nix, I knew about the Meson PR, and many other things that are taking a very long time in Nix.
I see no real reason to doubt that one guy is holding the project back. You are talking about "rampant bad behavior" but that is not necessary to severely frustrate a project. Simply bad leadership is enough. I don't think the letter means to convey there is rampant bad behavior either. I wonder if there is anything except blatant bullying that would convince you that Eelco needs to relinquish his position.
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.
A group that _barely_ uses Nix wants to overthrow its creator. This is hilarious and I hope they don't win.
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.
This to me, says a lot. I been around Nix. There are some names on that list that hurt, that will be missed, but I honestly expected worse, given the self-important tone and demands the letter contains.
I still don't see evidence that it was "held up" by the Nix author. There's continuous work on it since at least the RFC was filed in 2022, and only recently at a state where both the RFC process is complete, and there's something ready to be merged to the code. The PR in which the Nix author expresses their hesitation does have a comment from 8 days after the PR is filed where the PR author asks whether this is something that's likely to get merged if they keep working on it. They are told they should go ahead and work. There does seem to be a lack of definitive agreement on whether this is going to be merged in the end, but none of that seems to be a case of the Nix author is standing in the way. In fact, they clarify that they're not opposed to the change, just skeptical. In 2021 there appears to be a new flurry of activity, with others expressing their own concerns, but none of that comes from the Nix author themselves. In 2022 the recommendation is that it should be made into an RFC for a full discussion and consensus about how it should be implemented, and the timeline I previously mentioned follows from there.
Certainly there is delay here, and some people definitely don't seem to have examined what was being proposed in depth, but these are all normal software development things. Nothing in this looks extraordinary for any large project with multiple stakeholders, nor does there appear to be any undue obstruction by the Nix author.
>Rather than the PR I am looking at the Discourse link where it says "@edolstra: Not convinced, knows the old build system but not Meson". Note it doesn't say "Meson is bad" or anything of the sort. This is a classic example of someone who wants to stay in control of something, to do so they need to understand how it works. That doesn't benefit the project, it only benefits the person.
Ok, great, they're not convinced. Are they actually holding things up though? If they were someone would have some evidence of this right? And indeed, the actual PR for this is approved for merge as of a few hours ago, with the note that while the Nix author wasn't convinced of it, they also weren't rejecting the proposal. Which is the sort of stuff that happens all the time in large project development.
To be honest, I'm not quite sure I really understand this "the Nix author has doubts, so we're being obstructed" line of thought. A doubt is not a rejection, it is a doubt. And yes, the Nix author by virtue of being the project owner certainly has the ability to unilaterally stop something from happening, we're not given evidence of that, just them expressing their doubts. If a person expressing doubts about a change, even the project author, is enough to make the open letter writers give up I don't see how they would make better project managers.
I worked a position once where the VCS system had been converted from ClearCase to Microsoft TFVC just a few months before I came on board because the project lead was an old Microsoft hand and that was what they were familiar with. I advocated for switching to git (or mercurial) and met with similar levels of skepticism. The project leads did not see the benefits, and certainly not so soon after having done a migration. That skepticism did not mean I should simply give up if I felt there were benefits to be gained (and I did), it meant I needed to provide concrete examples of the benefits and why it was worth the effort and churn to make yet another change and for people unfamiliar with DVCS to learn it. So I set up a side, parallel version control that used TFVC as an upstream, recruited a couple developers with a similar interest in making the change and we ran our system in parallel for a few months. We built up the tooling our process would need to make it work, volunteered to take on hard tasks that git made easier, tried a few different git flows to find one that worked for our stack and documented the process, recorded the pain points that other teams had with TFVC and compared those to the pain points we had in git, we built a process for lossless roll back to TFVC if a change to git proved to be a bad move. And once we had better more concrete arguments with real world use to back it up, we made the case again and this time convinced the skeptical people to give it a go. Some even still remained skeptical, and yet the change happened.
Skepticism is part of working with other people, not everyone will see things the way you do. It's also not obstructionism or bad management for managers to be skeptical. It is part of their job to give a skeptical look over proposed changes to ensure they will bring benefits greater than their costs. If the absolutely mild skepticism of changing build systems expressed by the Nix author is enough to derail that change, then it seems to me the change advocates don't believe the benefits are worth making a stronger case for.
>With respect to the xz stuff I simply don't agree. Are we never adding new maintainers to open source projects anymore until xz is no longer top of mind in a couple of years?
This is the second time you've put the same words into my mouth, and I'll take it as a kindness if you would stop doing so. I have never said open source projects should never add new maintainers. That is patently absurd. There is a vast gulf between adding new maintainers every time people complain things are moving too slowly and never adding a new maintainer. This sort of catastrophic interpretation of mild objections and counter points is an unhealthy trend in online discourse.
>The screenshot is from before the xz backdoor so it definitely wasn't top of mind for them. And they (including Eelco) even agreed in a previous meeting to add more maintainers
I realize that it's from before the xz backdoor, nor did I mean to imply it wasn't. The phrase "in light of X, Y was a good idea" doesn't necessarily require that X happened before Y, it can also express a hindsight view. In this case the xz backdoor gives us a different perspective after the fact on how eager project maintainers should be to hand out access. As for the previous meeting, it's 8 months prior to the linked discussion in the open letter. So what happened in those 8 months? Did "@edolstra and @fricklerhandwerk" not get in touch with any prior contributors like they said they would? Was no progress made on this in those 8 months or did it come up again in 2024-02 because people felt not enough progress was made? Also the meeting notes say that they thought they could at a minimum use more people triaging, yet the open letter's complaint is that the users were "only" given that triaging access. It seems hardly fair to cite a discussion where a solution was proposed, and then be mad that was the solution taken. Further, it's clear from those meeting notes linked in the letter that there were other options to potentially solve the problem other than just adding more people. Just because one's favored solution isn't chosen doesn't mean the project is being mis-managed.
>I see no real reason to doubt that one guy is holding the project back. You are talking about "rampant bad behavior" but that is not necessary to severely frustrate a project.
I do see a reason to doubt that. When an open letter advocates the severing of the owner from the control of their own work, I expect to see a good reason to support such an extreme measure. And let's not delude ourselves here, that is exactly what this letter is asking for, support to strip control of a project from its creator and owner and give it to other people. Whether or not one is happy with how the owner has managed the project, the project is unequivocally their project. Wresting that control away from the owner if it is to be done must be done only on the back of strong evidence that it is both necessary and the correct thing to do.
When that letter further opens with such charges as "exhibits several corrosive social behaviours that have created a culture that directly led to today’s governance problems, which are an existential risk to the continued viability of the project" and "[leadership] deleterious to the project by him undermining authority of others, by him avoiding giving away authority and thereby disallowing community leadership to develop, by ignoring issues which he relitigates after discussion was done, and by holding undeclared conflicts of interest that pose serious risks to the Foundation and the Nix project as a whole.", then I absolutely expect to see more bad behavior than a number of normal day to day software development disagreements that at worst merely rise to "Simply bad leadership".
>I wonder if there is anything except blatant bullying that would convince you that Eelco needs to relinquish his position.
I would think so, but whatever it would be, it would have to be something greater than "simply bad leadership" and that's not this. Maybe the conflict of interests would have been a worthwhile discussion to have, but the letter poisons its own case so badly, I'm disinclined to give the letter authors the benefit of the doubt. They've at best omitted relevant facts and events, linked to inadequate evidence of their charges and at worst misrepresented (whether knowingly or not) the events in question. I have no faith then that they are accurately representing that issue either, and frankly I've already spent more time than I should have so I'm not inclined to spend any more time trying to suss out more fact from fiction.
Maybe Eelco does need to relinquish their position, but if so, the open letter authors have failed to make that case in any substantial way.
Never mind the constant attacks and attempts to silence opposition, both online and off.
If you don't want to call them terrorists for weaponizing politically motivated terror, then radical extremists is another option.
Also the "paradox of intolerance" seems to apply here i.e. you can't call for inclusion without letting people have opinions you don't like.
An 18000 commit user just left NixOS FYI
https://discourse.nixos.org/t/major-nixpkgs-contributor-leav...
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.
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.