August 30, 2024·6 min read·engineeringnixgovernanceelections

Nix's draft constitution defines who can decide when delegation fails

The proposed constitution separates elected technical and community leadership from the Foundation's legal and financial duties. Its escalation and election rules make that separation concrete.

Delegating a difficult decision does not remove responsibility for getting a decision made. The draft Nix Governance Constitution explicitly gives the proposed Steering Committee responsibility when a delegated team cannot reach consensus. That provision addresses a practical failure mode in a large project, where an issue can remain unresolved because each group believes another group must settle it.

The 30 August announcement publishes the constitution for feedback. It says the entire constitutional assembly has approved the draft for that purpose and the Foundation board endorses it. The document is still a proposal. Its rules should be read as the structure under discussion, without assuming an election has already installed the body it describes.

I find explicit escalation relevant to the maintenance behind declarative infrastructure. A configuration depends on package and platform decisions made by other people. When a dispute blocks that work, knowing who can settle it is part of understanding the project's ability to maintain its systems.

Two bodies receive different responsibilities

The published draft at its announcement revision defines a seven-member elected Steering Committee for technical and community decisions. The Foundation board remains responsible for legal and financial matters and external partnerships. Both bodies can delegate within their respective responsibilities.

That division does not create two fully independent organisations. The draft requires communication between them on highly visible actions, events and resources under the Foundation's care. Sponsorship and trademark policy also require cooperation. The separation identifies responsibility while acknowledging that some decisions affect both the community and the legal entity.

Funding illustrates the relationship. The board determines how much funding is available within broad categories of events and efforts. The Steering Committee selects priorities within those categories and limits. That prevents an internal priority decision from being confused with authority to spend money the Foundation does not have.

Conversely, holding the funds does not become a blanket mandate to decide every technical priority. The draft gives the elected body a defined role in choosing how the available capacity serves the project. This is a specific allocation of powers, with more operational content than a general promise that the Foundation will listen.

Delegation must leave a working escalation route

The committee would manage project direction and processes when necessary. The draft requires decisions and their origins to be explicit. It also asks for timely decisions where possible, and an explicit acknowledgement when a decision stalls. Where possible, that acknowledgement should give a time or condition for follow-up.

Those provisions distinguish deliberate delay from an issue that simply disappears. A project can have a valid reason to wait for more information. Recording that reason lets contributors understand the dependency. Without it, a stalled discussion can look the same as a forgotten one.

The draft allows the committee to delegate substantial analysis and final authority to a team with the relevant competence. If the team cannot reach internal consensus, the Steering Committee still has to handle the failed delegation. Expertise is therefore a reason to delegate, without making delegation an unlimited excuse for inaction.

The announcement also says most decisions will continue to happen among maintainers of particular parts of the code. The proposed committee is not presented as a replacement reviewer for every package change. Its role is to maintain a functioning allocation of authority and provide an escalation path when that allocation is insufficient.

That distinction matters at the scale described in the announcement. Centralising every routine change would create a decision queue far larger than a small elected committee could usefully handle. Leaving every cross-cutting disagreement to local maintainers would leave a different gap. The draft addresses that gap through delegation and escalation.

Elections define which contributors the body represents

The proposed committee has seven elected members. Regular elections occur annually, with alternating halves of the seats available. Terms last at most two years, and members may serve at most two consecutive terms. The first election would stagger the initial terms so that the annual rotation can begin.

The draft provides automatic voting eligibility through contributions in the four years preceding a cutoff date. One route counts enough authored merged pull requests to total at least 25 commits. Another covers people who have merged a pull request in the NixOS GitHub organisation. These are specific contribution rules, not a rule that every user account can vote.

The election committee can also approve requests from people whose official contributions are not captured by those routes. The draft names event organisers and people maintaining official third-party accounts as examples. That exception mechanism recognises that project work can be consequential without appearing as authored commits.

The automatically eligible list and approved exception requests would be public. Publishing those lists gives the electorate a visible definition for the election. It also lets someone see whether they need to request recognition through the exception process, instead of guessing whether informal participation is sufficient.

Bot accounts and people banned when the initial eligibility list is published are excluded. The eligibility rules therefore combine evidence of contribution with a boundary around participation. The details matter because the legitimacy of an elected committee depends in part on who can take part in choosing it.

Candidate requirements extend beyond receiving votes

A candidate must be eligible to vote, agree to stand and publish a position statement. The draft requires endorsements from at least three other eligible people, with a diversity condition concerning conflicts of interest among the candidate and endorsers. Candidates must disclose potential conflicts, including already agreed changes that will arise during the term.

This makes nomination part of the representation design. Endorsements establish support before the ballot, while the conflict rule tries to avoid a nomination supported entirely by one shared payer for Nix work. The election committee determines the relevant conflicts under the proposed rules.

The assembly would act as the first election committee and its members would be ineligible for that first Steering Committee election. For six months after appointment, assembly members would instead serve as non-voting committee members to transfer context. Designing the system and receiving its elected authority are therefore deliberately separated.

I regard that distinction as useful. The assembly has accumulated information that the first committee can use, but that does not require assigning the assembly voting control of the institution it designed. Non-voting participation offers a concrete way to preserve context during the handover.

Shared employment receives explicit limits

The draft defines a soft limit of one member with the same conflict of interest immediately after an election. Its examples include people employed by the same company or paid by the same source for Nix work. If election results exceed that limit, lower-ranked candidates with the shared conflict are removed until the condition is met.

A hard limit of two applies during the term, allowing the rules to address employment changes or acquisitions. The uninvolved members decide whether a violation exists when the condition is questioned. The draft then specifies resignation or removal arrangements to restore the limit.

Those rules do not imply that paid contributions are unwelcome. They recognise that several elected individuals can share an external economic relationship. Counting individuals without considering that relationship can overstate how independent the committee's representation is.

The limits also create tradeoffs. A highly ranked candidate can lose a seat because of a shared conflict, so the final membership is not solely a ranking of individual popularity. The proposed constitution makes that consequence explicit as part of its representation policy.

Constitutional change needs more than an ordinary vote

The draft requires a two-thirds supermajority of the full committee for constitutional changes and forced removal of members. Vacant seats count as abstentions for that threshold. Ordinary decisions follow the draft's simple-majority rule, while some election decisions have additional requirements.

That gives different kinds of action different approval costs. A routine delegated policy can change more readily than the rules defining the institution itself. The vacant-seat provision also prevents a smaller active group from quietly lowering the constitutional threshold just because seats are empty.

The announcement expects the constitution to evolve with experience. That is consistent with giving amendment a defined procedure. A constitution can be revisable without making every temporary majority able to alter its own constraints immediately.

Feedback now concerns enforceable procedures

The assembly invites public feedback on Zulip, private messages and office-hour participation. At this stage, contributors can assess concrete provisions about delegation, eligibility and conflicts. The discussion no longer has to remain at the level of whether the project generally needs better governance.

The most useful questions follow the mechanisms. A contributor can ask whether the eligibility rules capture their kind of work, whether a delegated dispute has a clear destination, or whether a funding priority has the right decision maker. The draft gives those questions a specific institutional answer that can be accepted or challenged before the constitution is finalised.