By Daroc Alden
April 29, 2024
On April 21, a group of anonymous authors and non-anonymous signatories published a lengthy open letter to the Nix community and Nix founder Eelco Dolstra calling for his resignation from the project. They claimed ongoing problems with the project's leadership, primarily focusing on the way his actions have allegedly undermined people nominally empowered to perform various moderation and governance tasks. Since its release, the letter has gained more than 100 signatures.

Decision-making authority

The Nix project is governed by the NixOS Foundation, a non-profit organization that handles the project's finances and legal responsibilities. The foundation itself is headed by a board with five voting members, chaired by Dolstra. There are no term limits, and the board selects its own membership and chair. According to the board's team page, its responsibilities include handling "administrative, legal, and financial tasks", sponsorships and donations, funding for "community events and efforts", and acting as an arbiter in case of conflicts in the community. Notably, the board "is not responsible for technical leadership, decisions, or direction", nor is it expected to handle all decision making. The board is responsible for providing "a framework for teams to self-organize", including a duty to "[h]and out the credentials and permissions required for the teams' work".
The open letter has several related complaints, but the most central one is that they allege Dolstra has repeatedly strong-armed the board and members of other community teams to overrule their decisions:
For example, after months of discussion on sponsorship policy in the board, with consensus having been formed on a policy that allows community veto of NixCon sponsors, Eelco (and Graham [Christensen], at the same time) appeared at the open board call over 45 minutes in, and began re-litigating the issue of whether we need to limit sponsorship to begin with, which had already been agreed upon by everyone but him.
Christensen is Dolstra's co-founder at Determinate Systems. The letter lists other examples, such as Dolstra blocking longtime contributors from becoming code reviewers or blocking a build-system change that had made it through the RFC process. The letter concludes that Dolstra is essentially leveraging social power from being the founder of the project to overrule decisions that are nominally supposed to be made collaboratively. In short, Dolstra is acting as "the effective Benevolent Dictator for Life (BDFL)" of the project, even though the NixOS Foundation's charter doesn't grant anyone that authority. The letter says this leads to "a culture of responsibility without authority" that erodes contributors' desire to continue working on the project. It specifically mentions the moderation team as an example of this, saying that its members are "in fear of their authority being undermined directly by Eelco or indirectly through the Foundation".
When asked to comment on the concerns raised in the letter, members of the NixOS moderation team responded:
Overall we think that the letter describes the situation of the moderation team fairly well. We have been operating in an emergency mode most of the time for over half a year now. Our team retention is at an all time low, and we are barely able to keep up with recruiting new members as old ones quit. Right now the moderation team is down to four people, including two who desire to leave as soon as a replacement is found, not counting another moderator who left last week.
To the extent that the moderation team feels disempowered, this is mostly because of heavy antagonism from some community members or risks of destabilizing the community, and not because of an actual lack of power. Most of that is a reflection of a deeper cultural conflict within the community and not directly related to the foundation board.
Despite slightly disagreeing with the source of the issue, they went on to acknowledge that Dolstra had impeded several attempts to improve the situation, and said that they understood many community members' complaints. The team also called the situation itself "a deep structural and cultural issue involving many people".
Pierre Bourdon, a long-time contributor to Nix, posted on Mastodon about his experience working on NixOS, stating that while he disagrees with the tone and approach of the open letter, the factual statements about Dolstra's leadership match his own experience.

Conflicts of interest

The letter also alleges several conflicts of interest, primarily concerning Dolstra's employer, Determinate Systems. Anduril, a military contractor that uses NixOS, has repeatedly attempted to become a sponsor of NixCon, which did not go over well with the community, as reflected in the minutes of the board meeting on March 20. The letter says Dolstra pushed strongly for the inclusion of Anduril as a sponsor even after it became clear that many core contributors disagreed. Anduril was eventually dropped as a sponsor for both NixCon 2023 and NixCon 2024 after community pressure.
On April 10, Théophane Hufschmitt, the secretary of the board, shared an update on the board's new sponsorship policy. Hufschmitt expressed the board's apologies for the way the situation was handled, and promised that "we will prioritize transparency, inclusivity, and responsiveness in our decision-making processes".
That same day, Samuel Dionne-Riel stated that Dolstra had refused to clarify whether he had a relationship with Anduril and asked Christensen, a co-founder of Determinate Systems: "Does DetSys have or had relationships with Anduril?" Christensen replied: "Did you know this category of question is pretty much impossible to answer because NDAs are a thing?"
This isn't the only time Dolstra has appeared to avoid disclosing potential conflicts of interest; the letter alleges that he kept his status as a founder of Determinate Systems secret for some months (a claim Dolstra later denied), and that this is especially worrying in light of some of the technical promises that Determinate Systems makes to customers. The company produces its own installer for Nix that the company promises will provide stable support for some Nix features. The
letter states: "This is fine, however, it is questionably acceptable to do that while employing the lead developer of CppNix [the main Nix implementation] and saying nothing about how this will interact with the team's [decision-making] autonomy." The concerns are not entirely theoretical, either; the main Nix installer has been broken in various ways since version 2.18 in September 2023.

Call to action

The final section of the letter calls for Dolstra's resignation from the board, suggesting that he should also completely disengage from the project for at least six months, to give the rest of the board time to reform the project's governance.
This document should be seen as the canary in the coal mine for what many people have been feeling for years and does not exhaustively cover absolutely all problems in the community, but we hope it is enough to justify action.
The letter ends by suggesting that if Dolstra doesn't resign, the signatories would switch to and support a fork of the project. I contacted several of the signatories to ask whether they'd be willing to provide additional commentary on why they believed a letter like this to be a necessary step. Haydon Welsh responded:
I signed the letter because it was clear that every other team member was sick and tired of Eelco, and so I saw it only right if that's their only hope to regain enthusiasm for the project. No open-source project should die or be hard-forked because of one person, that destroys a lot of the purpose for being open-source.
Kiara Grouwstra had stronger feelings on the matter:
While I want a full rotation of members on the NixOS board, as well as changes to its goal and structure so as to better incorporate the community including marginalized perspectives, my friend convinced me the polemic response would not sit well with the moderators, and shared with me the draft open letter about Eelco's role, which I opted to settle for as the lower-hanging fruit right now.
On April 27, Xe Iaso wrote a blog post about xer perspective on the matter, stating that at this point a fork is both inevitable and doomed. Even if the actions called for in the letter do come about, the difficult situation is already having an impact on the Nix community. On April 21, Nixpgs contributor Kamila Borowska resigned from the project. On April 25, Mario Rodas, who had contributed more than 250 packages, followed suit. In total, 24 maintainers have left.

Dolstra's response

On April 26, Dolstra posted a response to the letter. He states that the role of the board is to handle the financial and legal work, not to run the Nix community. He also claims that he has had "very little involvement in Nixpkgs and NixOS in recent years". Dolstra goes on to state: "I am just one member of the five-member Nix team and hold no more formal authority than the others in determining the direction of the team." While this is true, it does not directly refute the letter's claims that Dolstra exceeds the formal authority granted to him.
Dolstra also reiterated his position that NixCon should not refuse Anduril's sponsorship, stating: "It is my opinion that it is not for us, as open source software developers, to decide whose views are valid and whose are not, and to allow or disallow project or conference participation as a result." Dolstra does, however, explicitly refute the claim that his involvement in Determinate Systems was at all secret: "My role, participation, and focus on the good work being done at Determinate Systems have been public knowledge since the company's inception". He goes on to say that the claim that Determinate Systems seeks to have an outsized influence on the community is "patently false".
He ends his response by inviting community members who feel unwelcome in the Nix community to work for Determinate Systems instead:
I remain committed to creating a community where everyone feels seen, heard, and valued, and I will not let unfounded accusations detract from this important work. I encourage everyone reading this who feels that they have not been heard or feels displaced to join the Determinate Systems community as we continue working to make Nix as easy to use and as impactful as possible.
It is difficult to predict where the Nix community will go from here, and what the eventual fate of any forks will be. For now, Dolstra remains the chair of the board — a position he seems unlikely to give up under pressure from the letter's signatories.
Welp, that's spicy.
TLDR
  • Anonymous authors published an open letter calling for Nix founder Eelco Dolstra's resignation due to alleged problems with the project's leadership.
  • The letter accuses Dolstra of repeatedly strong-arming the board and other teams to overrule their decisions, acting as the de facto BDFL even though the NixOS Foundation's charter doesn't grant him such authority.
  • The letter also highlights several instances of perceived conflicts of interest related to Dolstra's employment at Determinate Systems, a military contractor using NixOS.
  • The call for action includes suggestions for Dolstra to resign and disengage from the project for at least six months, allowing the board to reform its governance structure.
  • If Dolstra doesn't step down, the signatories plan to switch to and support a fork of the project.
reply
Yea it is dividing things
reply
I had a super strange interaction on the nix os discourse site.
I made a comment about not liking diversity equity and inclusion mandates and my comments were flagged and taken down three times.
Strange community, but nix kind of magical, so I deal.
How much contact do you have with the nix community?
reply
It happened to a friend of mine when he mentioned bitcoin in a nixpkgs group, it kind of started a flamewar with typical anti-bitcoin arguments... A part of the community seems very woke...
Probably why the nix-bitcoin project exists, and why we need to learn flakes to be more independent from the package repository watchdogs. 🤷‍♂️
reply
Yeah, I can certainly see a malicious bitcoin core being pushed to nix packages. I do like the flake system, but apparently it has some problems.
Also, I noticed the nix software center (the frontend flake I found for installing nix packages and flakes) doesn't find the fort-nix-bitcoin project. Its probably unmaintained. I don't know how to fix it though. Flakes themselves are very often used with many layers of abstraction (like with dream2nix)
I myself have been thinking about forking NixOS, but I know there's no way in hell I'd be able to do that especially on my own. I had momentarily thought of making a "RubyOS" that installs packages using the Gem package manager lmao. The problem of course being if there are any breaking changes between ruby version (which I have never encountered myself, but the fear of that is problem enough)
reply
Been following those kind of threads/comments. Seeing them become broken out, rate-limited and then hidden.
Culture war is prominent, but both sides of the schism above are either woke or "woke-flagging".
Would leave if the tech wasn't so damn compelling.
Eelco Dolstra should probably stop pretending to let go of power and just be a transparent BDFL.
reply
I honestly wouldn't mind. But I may be too much of a nix noob to weigh in. I'll sit back and watch the drama unfold while learning and enjoying the tech.
reply
Not too much really, I'm just an end user learning. I usually stick with more mainstream software for important things, but I always like to experiment.
reply
Is my imagination or do software companies often meet a fork Thinking Red Hat and Fedora, Unix, Darwin, to Linux and macOS. Bitcoin and the myriad forks.
I don't know why a fork would have to be doomed but I can see obvious questions with the ethos of military defense, surveillance and infrastructure sponsoring conscientious open source software developers.
Could Anduril, not show some appreciation by making a public donation and license a proprietary fork? Or they just want to outright buy and make it proprietary code?
reply