Analysis: Dispute in the Nix community – is everything going down the drain?

There is a dispute in the Nix project. What is it all about and what are the consequences? An overview from Nix expert Jacek Galowicz.

Save to Pocket listen Print view
NixOS-Desktop auf Laptop auf Tisch

The Nix project is rumbling.

(Image: Screenshot / Foto dmk)

6 min. read
By
  • Jacek Galowicz
Contents
This article was originally published in German and has been automatically translated.

The Nix project is in turmoil, with the foundation, board and community at odds. Triggers include burnt-out contributors who do not feel heard, the selection of a sponsor from the military-industrial complex for Nixcon, with which many contributors from the community did not feel comfortable, and increasing political discussions.

The Nix and NixOS project has been working on reproducible and portable package and system builds for over 20 years (originally as Eelco Dolstra's PhD thesis) and has grown to become the largest package collection available. It has particular strengths in dependency management and deployment. Nix is also used in large companies. It is now a large community and associated foundation that integrates thousands of submissions every month.

The excesses of the dispute extend to fears that the Nix project will soon be at an end. There were already conflicts last year that were barely visible to outsiders, culminating in a nasty open letter in April, in which the authors make a long list of accusations personally against Eelco (presented as "Benevolent Dictator for Life", BDFL), but also against the foundation's management. The accusations are partly true, but extremely exaggerated - from frustrated community members who feel they have not been heard for years, after having put an enormous amount of work and energy into the project. An article on LWN addresses the problems and discusses the truth behind the accusations. Since then, Eelco has announced his resignation from the board and a constituent assembly has been appointed with a mandate to develop a new governance structure.

The long discussions that are currently taking place in the NixOS Discourse discussion forum, as well as on Reddit and other platforms, present the community with a further challenge: those who keep the project and its infrastructure running are tiring of the extremely politicized discussions, which sometimes get completely out of hand because of individual formulations, and are giving up. Some are left with a feeling of powerlessness that a few "loud voices" are now dictating the direction with exaggerated political correctness as a weapon. Others see the discussions as an attempt to undermine the community values by "anti-wokes" (self-description) and libertarians. In parallel, forks of Nix (the tool) and Nixpkgs (the package collection) have emerged, which are also seen by many as the result of failed negotiations.

Discussions with Graham Christensen, Jonas Chevalier, piegames, Valentin Gagarin and several other community members have revealed an ambivalent picture of the situation.

So far, the foundation has seen itself more as an administrator for financial and legal issues and as a bridge between the industry and the open-source community. Although Eelco is a capable software engineer who brought the whole project to life, he does not see himself in the role of "BDFL". While it has so far "somehow" worked out to postpone difficult decisions – including the question whether sponsorship money from the defense industry is acceptable – or to simply solve this through uncoordinated individual decisions, this is not sustainable for the future in this form.

The NixOS community and the foundation must overcome the challenges of poor leadership and ineffective communication. At the same time, they need to address the weaknesses of the technical infrastructure and promote an inclusive, well-moderated community. The Foundation is now providing funds and resources to improve the documentation, governance and communication of the project.

The new constituent assembly is causing mistrust among some, as it can also be interpreted as an attempt to continue postponing important decisions. There are also fears that this will be a shift from a project that has worked together amicably for years to a bureaucratic decision-making machine, and that committee-based decision-making processes will ultimately nip all experimentation and innovation in the bud.

For others, the restructuring raises the hope that teams with clearly defined tasks and clear communication structures will help project participants to remain innovative and not drift into bureaucracy. Many are certain that the real problem is a culture of "responsibility without authority" and that the project and community must decide what they stand for, what they want and what the rules for joint progress and consistent moderation should look like.

The community is well on the way to improved organization and scalability. But there is no way around "growing pains". Some maintainers will certainly leave - but not without making room for new ones who will bring a breath of fresh air to the project with different ideas. The discussions appear to be more heated in the Nix project than in other projects. This is probably because Nix(OS) is so unique that participants who have dropped out cannot find shelter in any alternative projects.

The majority of forks are likely to die off and those that remain will offer an alternative to developers who don't feel comfortable with the original Nix maintainer team. In the end, competing Nix implementations will cross-fertilize each other, similar to what happened with Clang and GCC. The project will therefore probably continue to grow. The technical view is that if you simply use Nix and ignore the political discussions, you will find an ecosystem that has been working well for years.

(anw)