Skip to content

Conversation

@wolfgangwalther
Copy link
Contributor

The way the constitution is currently written, the SC can entirely deadlock, if one seat is vacant and 50% of the remaining SC are calling for no confidence, while the other 50% disagree.

The SC can neither be fully re-elected, nor make any other decisions with simple majority.

I also considered a few alternatives, which I have not taken for various reasons.

1. Flip to "vote of confidence"

Change the above to:

Any SC member may call for a vote of confidence. If this vote does not pass with a simple majority, the entire SC will be reelected based on perceived loss of confidence.

Pro:

  • Resolves the deadlock.

Contra:

  • Creates a "pending" state for regular case without vacant seats, probably would need a clear deadline for votes.
  • Unclear what happens with special vs initial election.

2. Pass on ties

Change the above to:

A simple majority within the SC may call a reelection of the entire SC based on perceived loss of confidence. A tie counts as majority.

Pro:

Contra:

  • Doesn't solve the deadlock, because 4 votes are needed anyway, so there are no ties.
  • Unclear what happens with special vs initial election.

3. Count vacant seats as reelection only

Change the above to:

A simple majority within the SC may call a reelection of the entire SC based on perceived loss of confidence. Vacant seats count as voting for reelection.

Pro:

  • Resolves the deadlock.

Contra:

  • Unclear what happens with special vs initial election.

I thank @7c6f434c for helping with the wording here.

@wolfgangwalther wolfgangwalther requested a review from a team as a code owner October 4, 2025 12:56
Copy link

@nim65s nim65s left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for this, I objectively think this is a very important task and it certainly did require a lot of work.

(More subjectively, I'm currently running, so I think I should only be supporting the work of an independent party, and not be pushing on this direction myself)

Copy link
Member

@Lassulus Lassulus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this more matches the intention we wanted to have when designing this originally

@rhendric
Copy link
Member

rhendric commented Oct 4, 2025

If there are two vacant or otherwise indisposed seats, and of the five sitting members, two vote for a re-election and three against, with this amendment, the re-election would pass. Do we want that outcome?

On the one hand: perhaps an SC that is running at diminished capacity should be more sensitive to finding internal consensus, or more motivated to hold a special election to get back to full size.

On the other hand: when a minority feels out of power, this would incentivize them to flip the table and take their chances at getting in power, and the community would pay the cost of more frequent re-elections. I don't think we want to normalize that.

@JulienMalka
Copy link
Member

JulienMalka commented Oct 4, 2025

All majority decisions in the SC require 50% of the full SC, vacant seats counting as abstention. So if there is 2 vacant seats, a majority decision still requires 4 positive votes. Meaning 2 people being in favor of disbanding the SC can block all decisions, they might as well be able to trigger a no-confidence vote.

I like that this proposal also put clear incentives on replacing vacant seats quickly.

@rhendric
Copy link
Member

rhendric commented Oct 4, 2025

All majority decisions in the SC require 50% of the full SC, vacant seats counting as abstention. So if there is 2 vacant seats, a majority decision still requires 4 positive votes. Meaning 2 people being in favor of disbanding the SC can block all decisions, they might as well be able to trigger a no-confidence vote.

Flawless argument, thank you. That gets me off the fence.

Copy link
Member

@cafkafk cafkafk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is an important clarification, after that I'm completely on board with the intent here.

Thanks for also clarifying what other options you considered!

Copy link
Contributor

@philiptaron philiptaron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Being deadlocked for a long period of time is destabilizing to the community and to governance. This proposed amendment provides the appropriate finesse to recognize that instability without creating even more. Kudos to @wolfgangwalther, @JulienMalka, and @7c6f434c for crafting it.

Copy link
Member

@tomodachi94 tomodachi94 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, let's do this please. (I don't really have anything else to say here other than what has already been said.)

@mschwaig
Copy link
Member

mschwaig commented Oct 6, 2025

Making the no-confidence mechanism more powerful clashes with the idea of having staggered terms. The no-confidence vote could be used by SC members who's term is running out soon to make more seats available for re-election.

We have to take (perverse) incentives like that into account when we consider measures to make the SC more robust.

@mschwaig
Copy link
Member

mschwaig commented Oct 6, 2025

Another thing we could take into account with the no-confidence vote if we wanted to is for how long the has been in a 'hung' state, and how far away the next regular election is.


IMO it is a good thing if we can make it through a full term with a healthy SC most of the time, and we should design for that.

Addressing the diminished capacity of the SC based on the outcome of the previous election might with help with keeping the no-confidence mechanism reachable, and keep the SC full.

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/the-dire-state-of-the-sc/70426/1

@lilyball
Copy link
Member

lilyball commented Oct 6, 2025

Making the no-confidence mechanism more powerful clashes with the idea of having staggered terms. The no-confidence vote could be used by SC members who's term is running out soon to make more seats available for re-election.

You’re suggesting that SC members would disband the entire SC to make more room so that way they’re more likely to win a reelection? Why would anyone vote for an SC member who behaves that way?

Copy link

@KiaraGrouwstra KiaraGrouwstra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is definitely a step in the right direction.

In fact, I would personally go further still, and have vacant seats vote not in favor of special election, but in the case a tie-breaker is needed have them in fact vote in favor of a full reelection, similar in spirit to #472.

Now, given this proposal would make it easier to 'un-stagger' the delegates, I should probably address that topic as well:

Making the no-confidence mechanism more powerful clashes with the idea of having staggered terms. The no-confidence vote could be used by SC members who's term is running out soon to make more seats available for re-election.

I think this begs the question of the intent behind staggered staggered elections, and I could think of two:

  1. offering continuity between SC terms
  2. obstructing hostile take-overs

Now, I presume offering continuity was the original intent, and I believe full re-elections aren't necessarily a crucial concern for this - popular incumbent candidates may simply be re-elected.

Obstructing hostile take-overs, which I believe @mschwaig is getting at here, I don't really understand so much as a concern: I believe the current commit threshold to become eligible as a voter already makes it somewhat unlikely an entity would just manage to obtain a significant number of sock puppets.

In fact, I believe erring (if only to the extent of a tie-breaker) in favor of full re-election here, if anything, would mirror the intent expressed at the current call for re-election.

In general, I believe the concept of filling separate seats runs counter to the spirit of proportional representation: if seats are filled one by one, the result is the majority position would win each of those seats, effectively defeating the representation of minority positions that proportional representation would protect.

@7c6f434c
Copy link
Member

7c6f434c commented Oct 6, 2025

if seats are filled one by one

A special election for all seats mean a single multi-seat special election; the difference with new-initial election is that the terms correspond to the remainders of the (staggered) terms, not to new 1 and 2 year terms from the new date.

You’re suggesting that SC members would disband the entire SC to make more room so that way they’re more likely to win a reelection? Why would anyone vote for an SC member who behaves that way?

Given how proportionality works, for representatives of cohesive minorities below 20% but above 13% of active voters (so, a high chance of SC seat in full reelection and a low chance of SC seat in a regular one, even at 4 seats) this might in some sense be the best representation of their constituents' interests!

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/call-for-full-re-election-of-the-steering-committee/70208/66

@piegamesde
Copy link
Member

@Ericson2314 so what you're saying is "because the current situation benefits my 'side' by virtue of holding me in power, actually this is not a bug but a feature". What a stellar role model of leadership putting personal interests over what's best for the community.

(To be fair I don't think this PR matters too much in the grand scheme of things, it would a small drop in a large bucket given how fucked things are, but I can't let this stand without pointing out that this of line of argumentation is bad optics at best and bad leadership at worst.)

@vcunat
Copy link
Member

vcunat commented Oct 7, 2025

Pie: I believe it's hard to be objective at this moment. The author and lots of endorsers of this PR want to get the current SC to end, and it doesn't appear that this tiny perhaps-bug is the main reason they want the SC to end now.

It's therefore very unfortunate to discuss this change at a point where there's a clear power struggle where this PR would significantly shift the balance at this very moment. But I understand it happens; things often don't catch people's interest until they matter a lot.

@piegamesde
Copy link
Member

@vcunat yes I'm aware, and to be clear I'm not trying to advocate for merging this proposal now or whatever. I just wanted to voice my disagreement with John's line of argument for not merging it, because I find it misguided.

@Ericson2314
Copy link
Member

@Ericson2314 so what you're saying is "because the current situation benefits my 'side' by virtue of holding me in power, actually this is not a bug but a feature"

Just so everyone is clear, I don't think that is an accurate paraphrase of what I wrote. It certainly isn't what I meant to convey. The meaning I intended is basically what @vcunat wrote.

Copy link
Contributor

@philiptaron philiptaron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remain in favor of this amendment.

@wolfgangwalther wolfgangwalther force-pushed the constitution-reelection branch from e928eb5 to 2039f10 Compare November 7, 2025 10:49
@KiaraGrouwstra
Copy link

@wolfgangwalther:

Creates a "pending" state for regular case without vacant seats, probably would need a clear deadline for votes.

Could you elaborate on the issue here? Is this not resolved simply by considering the matter ready to call the result on once enough votes have been cast to settle the matter?

(To be fair, this reading interprets 'vacant seat' as an official state that may be formally distinguished from absenteeism. I noticed this term has been been used already - perhaps an NCA member could clarify its intended meaning?)

@7c6f434c
Copy link
Member

7c6f434c commented Nov 8, 2025

Vacant seat in a committee is a seat whose holder has resigned or has been removed, and thus there is no person who can officially write into the discussion channel with a vote pro or contra. (The SC is likely to run some votes asynchronously, and in such votes absentee members who have not resigned — nor have been absentee enough for others to remove officially — could vote without showing up to any sync or semi-sync discussions)

@wolfgangwalther wolfgangwalther force-pushed the constitution-reelection branch from 2039f10 to ff7f2ea Compare November 8, 2025 17:12
@wolfgangwalther
Copy link
Contributor Author

I'll keep this PR exactly as is. If the SC decides anything different from this PR, they can easily put up their own PR. I have zero interest to fight the Nix team in stalling things again and again.

@NixOS NixOS locked as too heated and limited conversation to collaborators Nov 8, 2025
@wolfgangwalther
Copy link
Contributor Author

I noticed this is merge conflicted now (how likely is that on a constitutional change!), but "Allow edits by maintainers" is turned on, so the SC can easily fix the conflicts if they decide to vote for this as-is.

@NixOS NixOS unlocked this conversation Nov 13, 2025
@NixOS NixOS locked and limited conversation to collaborators Nov 13, 2025
Copy link
Member

@roberth roberth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I approve this change.

@wolfgangwalther, thank you for proposing it, and I apologize for having to delay this.

I have not formally approved it earlier, because of the highly politicized environment in which this proposal and a related proposal came about.

Specifically, it is not OK to for a Steering Committee member to engage in a risky effort and then pull the plug when things don't go quite they hoped. That is the time to follow through and take responsibility for your actions; not to take the community hostage to try and save their own political ass [reputation]. That is unfortunately what happened.
Under those circumstances I could of course not give in to their demands, and approving this earlier would have amounted to doing so.

Someone could try and accuse me of something similar, but their argument would fall flat on their face. I have let my reputation take a hit by remaining part of the "establishment" that wanted to fix things. I have lived through a pressure campaign. I've been unproductive in my work. All while I could have just said: fuck it, let them have their way and I'll do my own things in peace now. And I wished I did.

But then I would have screwed over all future Steering Committees and the community they represent, by showing that political games and pressure campaigns would still work.

That is not how we do things anymore.

SC members will resist manipulation, and pressure campaigns only serve to make the community worse for everyone.
If your idea is good, it will be passed, through the established governance processes, and that includes this change.
Sounds uncool, but how we have to be serious about how we handle disagreements, and continuous public outrage is just not necessary and not conducive to a healthy community that people want to be involved with or that they can in any way depend on in their careers and lives.

I want an effective SC that works with the community for the community. I have previously voted to have a standing Election Committee to ensure the SC is restaffed without hesitation, and this amendment provides a further backstop to avoid deadlock if all else fails.

Thanks again, and feel free to make proposals and engage in dialogue here, in other places, or to reach out to SC members or the whole SC as well.

wolfgangwalther and others added 2 commits November 14, 2025 09:50
The way the constitution is currently written, the SC can entirely
deadlock, if one seat is vacant and 50% of the remaining SC are calling
for no confidence, while the other 50% disagree.

The SC can neither be fully re-elected, nor make any other decisions
with simple majority.
Co-authored-by: Christina Sørensen <christina@cafkafk.com>
@Ericson2314 Ericson2314 force-pushed the constitution-reelection branch from ff7f2ea to 372a2a4 Compare November 14, 2025 14:51
@Ericson2314
Copy link
Member

https://github.com/NixOS/org/compare/ff7f2ea0069a80058a9aa95ee96a6ffa688b874b..372a2a4b3406c0a382dd2ffd7201717b358dc05f?short_path=267c4ae#diff-267c4aea889578871ea0344028a990278abfa91dacee79dac88f07ff7bb59c23 and "rich diff" verifies the rebase did not change the meaning

git diff ff7f2ea0069a80058a9aa95ee96a6ffa688b874b..372a2a4b3406c0a382dd2ffd7201717b358dc05f --ignore-all-space --word-diff doc/constitution.md

also does that locally

@Ericson2314 Ericson2314 merged commit 0495fa8 into NixOS:main Nov 14, 2025
2 checks passed
@wolfgangwalther wolfgangwalther deleted the constitution-reelection branch November 14, 2025 14:54
@infinisil
Copy link
Member

I see that 4 SC members (@JulienMalka @roberth @philiptaron @cafkafk) have approved this PR, but we require 5 approvals for constitutional amendments. @Ericson2314 Can you confirm that you or somebody else has given the 5th approval?

@NixOS NixOS unlocked this conversation Nov 14, 2025
@JulienMalka
Copy link
Member

JulienMalka commented Nov 14, 2025

There is a 5th approval. We need to formally announce it but there is a vote log, too: https://github.com/NixOS/steering-committee/blob/main/vote-logs/2025-2026.md

@NixOS NixOS locked and limited conversation to collaborators Nov 14, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.