Hey all, Thanks Alex for writing this up.
Using the same tie-break method that we used back in 2017 makes sense to me. It matches what the bylaws ask for, it is easy for everyone to verify, and there is a clear precedent. I am happy for us to go ahead with this approach. Thanks everyone for helping wrap this up. Kind regards, Guus On Fri, Nov 21, 2025 at 1:15 AM Alexander Gnauck <[email protected]> wrote: > Hello, > > you can find the meeting minutes of our annual board and council > election meeting here: > https://wiki.xmpp.org/web/Meeting-Minutes-2025-11-20 > > All Council candidates were accepted. The following individuals will > form the XSF council for the 2025/2026 term: > > * Dan Caseley > * Daniel Gultsch > * Jérôme Poisson > * Stephen Paul Weber > * Marvin Wißfeld > > For the board candidates we have a tie on the 5th position between > Adrien and Arne. Our bylaws state that the fifth candidate will be > chosen with: > > RFC 3797: Publicly Verifiable Nominations Committee (NomCom) Random > Selection > > The currently elected individuals for position 1-4 are: > > * Guus der Kinderen > * Mickaël Rémond > * Ralph Meijer > * Florian Schmaus > > I am suggesting that we use similar procedure to what we used in 2017 > when we had our last tie. The solution was proposed by Dave Cridland. > Its compliant with our bylaws. > > The proposal is the following: > > 1) As random input source, I propose using the "Main Numbers" from the > Euro Millions draw of next Tuesday (2025-11-25), as announced here: > https://www.euro-millions.com/results > > 2) Each number will be arranged in ascending order, separated by dots, > and terminated by "./". > > 3) The resultant string will be hashed according to SHA-256. > > 4) The tied candidates will be arranged into alphabetic order (note, > in this case this may be by first or last name, it makes no > difference), to produce: > > * Adrien Bourmault > * Arne-Bruen Vogelsang > > 5) These will be numbered from 0. Adrien is 0, and Arne by 1. > > 6) The decimal representation of the last byte in the hash, modulo the > number of candidates will then be used to select the candidate. > > As example, if we take these numbers: > > 02 - 10 - 14 - 28 - 31 > > We'd form the string with the numbers ordered of "02.10.14.28.31./" > Which we can hash with: > > sha256('02.10.14.28.31./').hexdigest() > > Producing a hash (in hex) of > 'ad2edee63a88d7b4b6109944b5222a6cce1c3719ac4d41acd0dbf8287465ace0' > > The last byte in the hash 'e0' is 224 in dec. > 224 mod 2 = 0 > > This would result in candidate 0 being selected (Adrien). > > I have created a small script to create the results with this algo. > > It is on GitHub here: > https://gist.github.com/agnauck/8996415c1a91e5b6e1d27cad0367c85b > > and you can run it online here: > https://sharplab.io/#gist:8996415c1a91e5b6e1d27cad0367c85b > > Alex >
