freenode
AnalysisDistributions & Plumbing

NixOS legitimacy crisis: consent, The Stack, and who may speak for the tree

Parallel fights over a Hugging Face dataset opt-out and blame for the core-team disbandment put Steering Committee authority and contributor consent on trial at once.

The NixOS project is no longer arguing only about packaging or flakes. It is arguing about who may speak for its code, and on what basis. Two threads running at the same time have turned that question into a legitimacy crisis: a unilateral attempt to pull organization repositories out of Hugging Face's The Stack training dataset, and a sharper round of blame over the Steering Committee's role in the disbandment of the Nixpkgs core team. In both cases the same fault lines appear. Individual contributors claim residual rights over what they wrote. Organizational leadership claims the right to decide for shared repositories. The Steering Committee (SC) is asked to supply authority it has not yet clearly exercised, while critics insist the SC itself keeps manufacturing the instability it is supposed to resolve.

The Stack dispute began when nrabulinski asked for someone with organization privileges to submit an opt-out. Hugging Face's dataset, nrabulinski wrote, is "composed almost entirely out of stolen data people have not consented to." Opt-out exists, but only after collection, and only through a process that treats repository control as the lever. samueldr then acted on repositories connected to work he had done, seeking removal of his intellectual property. What followed was not a clean policy discussion but a collision over whether that action was legitimate.

samueldr's position is that authorship survives organization hosting and open-source licensing. "I am still the author of the code I authored," he insisted, and "the fact that the code has an open source license is entirely orthogonal, as proven by their disregard of it." He framed the opt-out mechanism as something a developer may use for their own code, and he rejected any implication that another party could retract that request on his behalf. When tomberek became involved and the matter was steered toward the SC, samueldr objected to more than the eventual outcome. He objected to the sequence. "You should have stopped at 'adding this to the SC agenda', it was unnecessary to be proactive." An SC decision, he said, would at least carry "a source of authority, which I would respect, and not an arbitrary unilateral decision." As things stood, he argued, an action had already been taken "in the name of the project and contributors" against at least one contributor's explicit wish.

The opposing view treats organization repositories as collective assets. ile-du-fantome put the counter-charge bluntly: samueldr was "the one who was 'proactive' when you put in an opt-out request for entire repositories that you were not the sole contributor or owner of." On this reading, sole contribution history does not convert a repo into private property for dataset purposes. "It should be up to the leadership of that organization, not any individual contributor, no matter how sole their contributions to any given repository, whether the repositories of that organization can be included in the dataset or not." Licensing details matter at the margins (an unlicensed repo under nix-community drew separate criticism), but they do not, in this camp's view, let one author veto inclusion of an org tree whose license already permits broad reuse. The practical developer reality underneath the rhetoric is awkward for everyone. The Stack ingested public GitHub-scale corpora first and offered removal later. Permissive licenses common across Nix-related code do not encode an anti-training covenant. Copyright still vests in authors, yet platform and org ownership control the only opt-out channel Hugging Face exposed. Two facts can sit together: a mistaken or over-broad removal request, and a refusal to treat a later leadership message as a true restoration of the prior state.

While that argument was still live, cafkafk reported the SC posture in plain terms. People had reached out with questions, but the committee had "not discussed this yet in actual committee quorum." "There isn’t a clear direction from the SC yet." The body that both sides invoke as the proper locus of authority had not actually decided. That vacuum is part of why the consent fight feels existential rather than procedural.

The second thread supplies the political weather. In discussion of the Nixpkgs core team's disbandment, claes voiced a now-familiar indictment: "The SC keeps causing this," then demanded evidence, noting "opposite statements from two different SC members" and asking whether public notes documented the issues. Defenders of the governance experiment answer that the project is trying to build processes where earlier structure was thin. nadir rejected the nostalgia move as a classic conservative stall: claiming things would have been better if nobody had tried to change anything, while the same grievances (flakes, moderation, sponsorships, transparency) predate or outlast any single committee. Others turned the critique inward on the community itself. crertel offered the line that has since been quoted as diagnosis or insult depending on the reader: "To have good governance you must first be governable." SergeK's reply was epigrammatic: "PSA: Please do not be governable." Meta-combat over who is a real contributor and who is a drama tourist followed, complete with package-bump counts and accusations of rage-bait, but the substantive split remains. One side sees an SC that destabilizes working arrangements and then cannot finish the replacements. The other sees a community that demands decisions, rejects the people who make them, and treats every interim state as proof that legitimacy was never present.

What binds the two stories is not AI policy alone, nor core-team personnel alone. It is the missing theory of consent under shared ownership. Does a contributor's personal refusal travel with their commits into org repos? Does an SC member's interim communication bind the project before quorum? When a prior team is dissolved, does the committee inherit both the power and the blame for everything left undecided? Technical practice does not answer those questions. Dataset builders scrape first. License texts rarely mention model training. NixOS org membership and commit bits were never designed as a parliament of authors. The Stack episode simply made the mismatch impossible to ignore: the same commit can be simultaneously "my IP" to the author, "the org's repository" to leadership, and "public training fuel" to a third party that only listens to the account that can open the opt-out pull request.

As of the latest exchanges, nothing is settled. The SC has not produced a clear direction on The Stack or on a general policy for training-data inclusion. samueldr has not withdrawn the personal demand that his code stay out. Critics of unilateral contributor action and critics of unilateral SC-adjacent action both still claim the mantle of proper process. On the core-team side, opposite SC member statements and thin public notes leave the causal story contested, while alternative governance models remain slogans more than working constitutions. The project can continue to ship packages in that condition. What it cannot do is pretend the authority questions are merely tone or temporary heat. Until consent rules for shared trees and the scope of committee power are stated in a form the factions will actually treat as binding, every new external pressure (another dataset, another sponsorship, another structural rewrite) will reopen the same trial.