The moment that many of us have been eagerly waiting for is here!
The second Nix Steering Committee election has successfully come to a close. The Election Committee sincerely thanks everyone who participated and congratulates the newly elected members.
Additionally, @Ericson2314 and @roberth continue to serve the 1-year remainders of their 2-year terms.
Election data
The Election Committee has validated the result using three open-source implementations of Meek STV, and all three of its members have independently certified the validity of the ballots.
The anonymised ballots and the Nix code for calculating the results are published on the SC-election-2025 repository.
The ballots can also be downloaded from OpaVote directly, though bear in mind that the seat number (and therefore the calculation) is incorrect there.
Next steps
We are now establishing communications with the members of the first and the second SC and will soon make a final handover announcement on behalf of the EC.
We hope that the kick-off meeting of the second SC will be scheduled soon, and wish the second SC many successes in their invaluable service to the community!
I am sorry, turns out that collective proofreading of the voting page preview does not help catching the typo in the seat count after too many «will it be 5 or 7» discussions…
(Re: confidence in the local count — the results do not even depend on the version of STV chosen, as can be seen using the recount Nix code)
Well, hopefully the next EC coordinator does a better job than me…
Even though I just barely didn’t make it into the top 5, I’m still immensely happy that there were so many people who supported me and trusted me enough to land me in the top 7 at the very least. Heartfelt congratulations to all the successful candidates, and may the SC, the NixOS Foundation, and the Nix community thrive under your guidance!
Thank you to the Election Committee for ensuring the integrity of this election. While I am disappointed at some of the choices that the electorate made, I sincerely wish everyone who won a seat congratulations. I am extremely grateful that 0.7% of the electorate made me their first choice in the first place.
(P.S. the above OpaVote link also provides a breakdown of the runners-up, in case that interests anyone).
Congratulations to all of the elected candiates, and to all of those on the EC making this a smooth process(at least as smooth as it can be), and to everyone who voted or was a candidate that did not get elected. I’m glad to be part of this positive change and I hope that the Nix community can continue to do things like this to improve our community.
(Note that the script runs a nix expression that depends on NIX_PATH containing a <nixpkgs> of your choosing, and builds a bunch of STV count utilities too).
I tried to turn it into a FOD for hash comparison but a lot of the output directory includes logs with very precise floating point numbers that seem to make it not hash-reproducible, though the results themselves are.
Yes, this thing is supposed to be a bit of overkill (it demonstrates that you don’t need to worry about the precise implementation details because a lot of STV shaped things with meaningful difference in rules still give the same 5 names anyway). A lot of «very precise fractional numbers» are internally calculated as 20-digit fixed-point ones BTW.
A lot of «very precise fractional numbers» are internally calculated as 20-digit fixed-point ones BTW.
Ah, I see what the --decimals command line does
In case anyone is interested in getting nerd-sniped for the night like I just did, a basic attempt at a FOD is here. It just creates a FOD that contains everything after Count complete. The winning candidates are, in order of election: in every report.text file. Diffoscope mostly showed differences in the random runoffs.
git clone -b results-fod https://github.com/numinit/SC-election-2025.git (or just use this patch with -p1 against the upstream SC-election-2025 repo)
*** Run this to try again:
*** rm -f result
*** nix-store --delete /nix/store/lw2myp4x4wsa58dz19dym4g8mxiwj5bv-stv-counts
*** nix-store --delete /nix/store/813mngg0dlykpg0kxp00dzyhcvdr763i-stv-counts-filtered
/nix/store/813mngg0dlykpg0kxp00dzyhcvdr763i-stv-counts-filtered
And then you can cat result/**/report.text to see all the results filtered down to the top 5.
Wanted to check out the ballots myself, but they were encoded with a number for each candidate, which made them pretty hard to read. I did some horrible vim substitutions, and turned it into something I could actually read (accessible for your convenience here).
I found the stats on people’s first/last choices to be interesting. This is the first-choice rankings:
You were one of the names I put before my own, the goal being that I’d end up on a committee of people I trust to be aligned with the good of the project.
This is after all just the second election, and I think the unfortunate reality is that with the resignation of many of the names I put on my ballot last year, the SCs composition has skewed in a direction that isn’t exactly representative — A skew I think this year’s election results clearly confirm.