The current Scheme Language Steering Committee was appointed in January, 2004. We have seen the Scheme Standardization process, as envisioned in the charter from November, 2003, through to the ratification of the R6RS in 2007.
We believe that the R6RS is not the end of the Scheme language standardization process, and that the Scheme language must continue to evolve.
However, it was never our intention to be "Scheme Czars for Life." It is time to turn the process over to other hands, so that the Scheme language will remain alive and healthy for years to come.
It is therefore the intention of the Steering Committee to hold an election to replace its members.
The Scheme Standardization Charter says, "The Steering Committee itself shall establish procedures for replacing its members." This document describes how the Steering Committee will hold an election to replace itself.
The most recent version of this document may be found at http://www.r6rs.org/steering-committee/election/announcement.html.
This will be a secret ballot.
In order to make it more difficult for any particular faction to gain control of all three seats, we will be using a form of single transferable vote proportional representation. Each voter will rank the candidates, and an algorithm will compute a three-member committee that tries to fairly represent the electorate.
Note that we will not be using the S-expression-based voting system we used for the ratification vote. That system proved to be more trouble - and less fun - than the Steering Committee had hoped.
Anybody who has a stake in the Scheme standards process - except the members of the Steering Committee - may participate in the vote. In order to register, a potential voter must supply a "Statement of Interest" declaring what their stake is in the Scheme standardization process. Each voter's statement must be original, must be at least 75 words long, and must actually address the question of what the voter's interest is in the process. At the end of the registration period (but before any voting), the list of enrolled voters will be published along with their statements of interest.
People who registered for the ratification vote are not automatically registered for this vote. Everyone must register anew.
Here are the voter instructions for the registration process:
Download the registration form from http://www.r6rs.org/steering-committee/election/register.txt. The registration form asks for the following information:
- E-Mail Address
- Full Name
- Geographic Location (country, region, city, etc.)
- Affiliation (optional)
- Public E-Mail Address (optional)
- Web Page URL (optional)
- Statement of Interest
The e-mail address supplied in item 1 will be used for all future correspondence with you, but will not be published. The rest of the form will be made public. Items 2 through 6 are for identification purposes only. (The e-mail address in item 5 is optional as spammers will inevitably collect any address supplied here.)
The completed form should be mailed to firstname.lastname@example.org. We will perform a standard address confirmation on the e-mail address you supply in item 1. (i.e., we will use it to mail you something that you have to mail back in order to prove that the person at that address really wants to vote on the future of Scheme.)
Your Statement of Interest must be original, it must be at least 75 words long, and it must actually address the question of what your interest is in the Scheme standardization process. Be aware that we will read your statement, and if we think you have seriously missed the mark, we will ask you to submit another one. It is not our intent to run an essay competition here, we are just looking for evidence that you're taking this seriously.
The registration period will end at least four weeks after it starts.
When the registration period ends, the complete list of enrolled voters will be published on www.r6rs.org. This voter roll will include all of the registration forms. This publication will be advertised to the public. Voters should check that their own information appears on the voter roll as they expected. Any irregularities (missing entries, fraudulent entries, duplicate or plagiarized statements, etc.) should be brought to the attention of the Steering Committee, who will take appropriate action.
The nomination period will start and end at the same times as the registration period.
Anybody can nominate anybody. Nominators do not have to be registered voters. Nominees do not have to be registered voters. People can nominate themselves.
Nominations should be sent to email@example.com. Nominations must at least include an e-mail address for the nominee.
Nominees will be offered a chance to decline their nomination. If they accept their nomination, they will be asked for additional identifying information, similar to that used for registration, to appear on the candidate list. Candidates will also be asked to supply a statement of no more than 250 words about why they should be elected to the Steering Committee.
When the nomination period ends, the complete list of candidates will be published on www.r6rs.org.
Candidates may also post whatever messages they wish to comp.lang.scheme, the r6rs-discuss mailing list, or whatever other forums they feel appropriate, and voters should feel free to discuss the candidates and their positions on these fora.
The voting period will begin one week after the registration and nomination periods end.
Here are the voter instructions for the vote:
Download the ballot from http://www.r6rs.org/steering-committee/election/ballot.txt. The ballot asks for the following information:
- E-Mail Address
- An ordered list of one or more of the candidates.
The e-mail address supplied in item 1 should match the address you supplied in item 1 on your registration form.
Your completed ballot should be mailed to firstname.lastname@example.org. We will mail you an acknowledgment when we have received your vote.
The poll will be open for two weeks.
Note that although we will not make your vote public, your vote may be visible to the person or persons who open the voting e-mail. (We may create a bot to do this, but this may or may not happen and it may or may not work well enough to trust without manual confirmation.)
The ballots will be counted using a form of single transferable vote proportional representation. The basics of this system are reasonably well described (at the time this was written) at http://en.wikipedia.org/wiki/Single_transferable_vote. The actual code that will be used to perform this process can be found at http://www.r6rs.org/steering-committee/election/pr.scm. This code is written in basic Scheme, and extensively commented - any questions you may have about the precise details of the procedure can best be answered by reading the code.
Should a tie-breaker be necessary, the random selection will be performed by using some physical source of randomness (coins, dice, etc.). This event will take place at a pre-announced time and location, and witnesses will be welcome to observe.
In order to allow for a tie-breaker or any irregularities to be dealt with, the official result will not be officially announced until two weeks after the poll closes.
The Steering Committee may remove anyone from the list of enrolled voters, remove anyone from the list of candidates, reject any vote, or otherwise make exceptions to the process described herein, if they believe an attempt has been made to cheat, or if some other unexpected circumstance has arisen. The Steering Committee will not take such actions capriciously, and they will endeavor to be as fair as possible.