Move election procedures from README to main docs

The election procedures are in the README, which causes some of them to
get lost during the election period. This change moves the procedures to
the same place as the rest of the documentation. While some wording was
corrected, the rules are the same.

Change-Id: I9e79e641de2d50eb3d721cfec69c843e8edcf4a8
Signed-off-by: Drew Walters <andrew.walters@att.com>
This commit is contained in:
Drew Walters 2020-06-09 16:37:10 -05:00
parent 006876aa1b
commit 74f2015ecc
5 changed files with 180 additions and 289 deletions

View File

@ -1,103 +1,17 @@
airship/election Airship Elections
================ =================
This repository contains Airship Elections reference documents The Airship election repository provides a platform for election officials to
and tooling to run elections. organize Airship elections as well as publicize historical election results,
election rules, and election procedures. We manage this repository in
accordance with the rules outlined in our `governance`_.
Election officials process We encourage voicing questions about upcoming elections and the election
-------------------------- process in our `Slack workspace`_ or on our `mailing lists`_.
The Airship election process is currently run manually by the election You can learn more about Airship on the `Airship wiki`_.
officials. We are considering to move to automated steps once the process is
stabilized.
TS Elections .. _Airship wiki: https://wiki.openstack.org/wiki/Airship
============ .. _governance: https://opendev.org/airship/governance
.. _mailing lists: http://lists.airshipit.org/cgi-bin/mailman/listinfo
Selecting Election Dates .. _Slack workspace: http://airshipit.org/slack
------------------------
Things to keep in mind when selecting election dates:
* Allow for at least 48 hours between email deadline and polling beginning
* Allow at least a week for nomination period
Preparation
-----------
As early as possible but at least a month before election starts:
* Edit elections details (timeline, cycle timeframe):
* Commit to update website
* Update Release Schedule
Preferably a couple of weeks before election starts:
* Send 'TC Election Season' email
TC Candidacy Round
------------------
When TC Candidacy starts:
* Send 'TC Nominations Kickoff' email
During the TC Candidacy round:
* To +2 a candidate:
* check candidate is a contributor or has otherwise demonstrated commitment to Airship
* check filename is email address
* cursory check the candidacy statement
* check the affiliation information is in commit message
* To +Workflow, check the previous +2 details
A couple of days before the candidacy submission ends:
* Send 'TC Nominations Last Days' email
When TC Candidacy submission ends:
* Send 'TC End Nominations' email
Once the email deadline is reached:
* Ask the TC secretary to tag the governance repository
* Generate the electorate rolls
TC Election Round
-----------------
When TC Election begins:
* Create CIVS page
* Enable detailed ballot reporting
* Upload rolls
* Send 'TC Voting Kickoff' Email
A couple of days before the TC Election ends:
* Send 'TC Voting Last Days' email
When TC Election ends:
* Close the election
* Choose the winners based on the available seats accumulating the affiliation
requirement being no more than 2 members affiliated to the same company
* Send 'TC Results' email
* Update reference/members in governance repository
* Add new members to airship/governance/src/branch/master/reference/tc/members
* Commit change & push review
* [Optional] Send 'TC Election Statistics'
Working Committee Elections
===========================
TBD

View File

@ -55,9 +55,9 @@ author = 'The Airship Authors'
# built documents. # built documents.
# #
# The short X.Y version. # The short X.Y version.
version = '0.0.1' #version = '0.0.1'
# The full version, including alpha/beta/rc tags. # The full version, including alpha/beta/rc tags.
release = '0.0.1' #release = '0.0.1'
# The language for content autogenerated by Sphinx. Refer to documentation # The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages. # for a list of supported languages.
@ -120,6 +120,8 @@ html_theme_options = {
} }
html_logo = 'img/airship.logo.white.svg' html_logo = 'img/airship.logo.white.svg'
html_show_sourcelink = False
html_show_sphinx = False
# Add any paths that contain custom themes here, relative to this directory. # Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = [] #html_theme_path = []

View File

@ -1,194 +1,21 @@
================= =============================
Airship Elections Welcome to Airship Elections!
================= =============================
.. include:: ../../README.rst
+-----------------+-----------------------------+----------------------------+
| Events | Start Date | End Date |
+=================+=============================+============================+
| TC Nominations | June 18, 2019 19:00 UTC | June 25, 2019 19:00 UTC |
+-----------------+-----------------------------+----------------------------+
| TC Campaign | June 25, 2019 19:00 UTC | July 2, 2019 19:00 UTC |
+-----------------+-----------------------------+----------------------------+
| TC Election | July 2, 2019 19:00 UTC | July 9, 2019 19:00 UTC |
+-----------------+-----------------------------+----------------------------+
| WC Nominations | July 16, 2019 19:00 UTC | July 30, 2019 19:00 UTC |
+-----------------+-----------------------------+----------------------------+
| WC Campaign | July 30, 2019 19:00 UTC | August 6, 2019 19:00 UTC |
+-----------------+-----------------------------+----------------------------+
| WC Election | August 6, 2019 19:00 UTC | August 13, 2019 19:00 UTC |
+-----------------+-----------------------------+----------------------------+
| WC Nominations* | October 9, 2019 19:00 UTC | October 16, 2019 19:00 UTC |
+-----------------+-----------------------------+----------------------------+
| WC Campaign* | October 16, 2019 19:00 UTC | October 23, 2019 19:00 UTC |
+-----------------+-----------------------------+----------------------------+
| WC Election* | October 23, 2019 19:00 UTC | October 30, 2019 19:00 UTC |
+-----------------+-----------------------------+----------------------------+
| WC Nominations* | January 6, 2020 19:00 UTC | January 20, 2020 19:00 UTC |
+-----------------+-----------------------------+----------------------------+
| TC Nominations* | January 6, 2020 19:00 UTC | January 13, 2020 19:00 UTC |
+-----------------+-----------------------------+----------------------------+
| TC Campaign* | January 13, 2020 19:00 UTC | January 20, 2020 19:00 UTC |
+-----------------+-----------------------------+----------------------------+
| TC Election* | January 22, 2020 16:00 UTC | January 29, 2020 16:00 UTC |
+-----------------+-----------------------------+----------------------------+
\* Denotes a special election for a vacant seat.
See `Election system`_, `TC details`_ and `WC details`_.
Previous Elections
==================
.. toctree:: .. toctree::
:maxdepth: 1 :caption: Airship Elections
:hidden:
:maxdepth: 2
results/2019/tc procedures
results/2019/wc results/index
results/2020/tc
results/2020/wc
.. toctree::
:caption: Airship Documentation
:hidden:
Election Officials Airship Documentation <https://docs.airshipit.org>
================== Airship Governance <https://opendev.org/airship/governance>
Airship Elections <https://docs.airshipit.org/election>
* Matt McEuen (mattmceuen), madgin at madgin dot net
* Chris Hoge (hogepodge), chris at openstack dot org
* Alan Meadows (alanmeadows), alan.meadows at gmail dot com
* Rodolfo Pacheco (jezogwza), jezogwza at gmail dot com
For any questions, please contact officials by mail or over IRC at
#airshpit Freenode channel.
.. _Election system:
Election System
===============
Elections will be held using CIVS and a Condorcet algorithm
(Schulze/Beatpath/CSSD variant). Any tie will be broken using
`Governance_TieBreaking`_.
.. _TC details:
Technical Committee election
============================
Elected Positions
-----------------
Under the rules of the Airship `Governance`_, we need to elect 5 TC seats for this
election. Seats are valid for one-year terms.
* Technical Committee member - 5 positions.
Electorate
----------
The electorate for this election are the individuals who earned the Contributor
status some time in the past 12 months prior to the nomination period starts as
defined by the Airship `Governance`_ document.
Candidates
----------
Anyone who has demonstrated a commitment to Airship (community building,
communications, or has had code merged to the Airship project repositories)
within the last 12 months is eligible to run for the Technical Committee,
as specified in the Airship `Governance`_ document.
Nominees propose their candidacy by submitting a text file to the
airship/election repository. The file must be placed in
candidates/<electcycle>/TC/<email_address>.
The commit message for the patch must contain the candidate's current
affiliation (company name or 'independent').
The candidacy is then confirmed by elections officials through gerrit.
See `How to submit a candidacy`_ documentation below.
.. _WC details:
Working Committee election
==========================
Under the rules of the Airship `Governance`_, we need to elect 5 Working Committee
seats for this election. Seats are valid for one-year terms.
* Technical Committee member - 5 positions.
Electorate
----------
The electorate for this election the Core Reviewers on the Airship projects at the
time of the election.
Candidates
----------
Any Contributor can propose their candidacy.
Nominees propose their candidacy by submitting a text file to the
airship/election repository. The file must be placed in
candidates/<electcycle>/WC/<email_address>.
The commit message for the patch must contain the candidate's current
affiliation (company name or 'independent').
The candidacy is then confirmed by elections officials through gerrit.
See `How to submit a candidacy`_ documentation below.
.. _How to submit a candidacy:
How to submit a candidacy
=========================
Each candidate must nominate themselves for each elected position, and are
encouraged to submit their own candidacy to gerrit, although where
appropriate, others may submit a candidacy for those who have already
self-nominated by other means.
If you are not already familiar with the Airship/OpenStack development workflow,
see this more detailed documentation:
https://docs.openstack.org/infra/manual/developers.html
Candidacies now need to be submitted as a text file to the airship/election
repository. Here are the required steps:
* Clone the election repository:
git clone https://opendev.org/airship/election.git ; cd election
* Create a new file
candidates/<election_cycle>/<leadership_role>/<email_address>
containing the candidate statement.
* Commit the candidacy:
git add candidates/<election_cycle>/<leadership_role>/<email_address>;
git commit
* In the text editor add a title and specify your affiliation like:
Adding <your_name> candidacy for <leadership_role> role
Affiliation: <company_name>
* Save the text and exit the text editor
* Submit your candidacy: git review
For example Dana Developer (ddev on IRC) would compose a platform in a file
named "candidates/2019/TC/dana\@inconnu.org" to submit a TC candidacy
for the 2019 election.
After the candidacy is submitted to gerrit, verification and approval will
be performed by elections officials, followed by an update to the approved
candidate list.
.. seealso::
See the `Election Officiating Guidelines`_ page in the wiki for details on the
election process.
.. _Election Officiating Guidelines: https://wiki.openstack.org/wiki/Election_Officiating_Guidelines
.. _Governance_TieBreaking: https://wiki.openstack.org/wiki/Governance/TieBreaking
.. _Governance: https://opendev.org/airship/governance/src/branch/master/README.md

140
doc/source/procedures.rst Normal file
View File

@ -0,0 +1,140 @@
===================
Election Procedures
===================
Elections are held using the `Condorcet Internet Voting Service (CIVS)`_ with
the Schulze/Beathpath/CSSD algorithm. In the event of a tie, the winner will be
decided following the `Airship Governance Tie Breaking rules`_.
Preparing for an Election
=========================
The organizers of an election select election dates that correspond to the end
of a term; however, exceptions can be made. The voting period must begin at
least forty-eight hours after the conclusion of the nomination period, and the
nomination period must be at least one week in duration.
Election details (i.e. timeline, cycle) should be distributed via the mailing
list a week before the election begins and updated on this site at least a
month before the election begins.
Orchestrating the Nomination Period
===================================
When the candidacy round begins, notify the mailing list and monitor the
election repository for incoming nominations. Merge nominations that:
* Meet the candidate criteria
* Are titled correctly (i.e. the filename is the candidate's email address)
* Contain an affiliation in the commit message
When a nomination does not meet the above criteria and the nomination period
has passed, reject it with a -2.
After the nomination period, tag the governance repository and begin the
election process.
Orchestrating the Election Period
=================================
Begin the election by creating a `Condorcet Internet Voting Service (CIVS)`_
poll with detailed ballot reporting and the Schulze/Beathpath/CSSD algorithm.
Distribute the poll to the electorate and announce the beginning of the
election on the mailing list.
At the end of the election, close the poll and choose the winners based on the
results, number of available seats, and the affiliation requirements of the
election. Announce the winners over the mailing list, update this repository,
and update the Airship wiki page with the new member names.
Technical Committee Elections
=============================
Each June, a Technical Committee election selects five candidates to serve on
the Technical Committee for the following year, no more than two of which may
be employed by the same company. The Working Committee organizes each Technical
Committee election.
Electorate
----------
The electorate for Technical Committee elections includes individuals who
earned contributor status as defined by Airship `Governance`_ some time in the
twelve months prior to the nomination period.
Candidates
----------
Anyone who has demonstrated a commitment to Airship (community building,
communications, or has had code merged to the Airship project repositories)
within the last twelve months is eligible to run for the Technical Committee.
Working Committee Elections
===========================
Each July, a Working Committee election selects five candidates to serve on
the Working Committee for the following year, no more than two of which may
be employed by the same company. The Technical Committee organizes each Working
Committee election.
Electorate
----------
The electorate for the Working Committee elections includes all Airship core
reviewers.
Candidates
----------
Any contributor as defined by Airship `Governance`_ can propose their candidacy
for the working committee.
.. _Submit Your Candidacy:
Submit Your Candidacy
=====================
Each candidate must nominate themselves for each elected position, and are
encouraged to submit their own candidacy to gerrit, although where appropriate,
others may submit a candidacy for those who have already self-nominated by
other means.
If you are not already familiar with the Airship/OpenStack development
workflow, see this more detailed documentation:
https://docs.openstack.org/infra/manual/developers.html
Candidacies now need to be submitted as a text file to the airship/election
repository. Here are the required steps:
* Clone the election repository:
git clone https://opendev.org/airship/election.git ; cd election
* Create a new file
candidates/<election_cycle>/<leadership_role>/<email_address> containing the
candidate statement.
* Commit the candidacy:
git add candidates/<election_cycle>/<leadership_role>/<email_address>; git
commit
* In the text editor add a title and specify your affiliation like:
Adding <your_name> candidacy for <leadership_role> role
Affiliation: <company_name>
* Save the text and exit the text editor Submit your candidacy: git review
For example Dana Developer (ddev on IRC) would compose a platform in a file
named "candidates/2019/TC/dana\@inconnu.org" to submit a TC candidacy for the
2019 election.
After the candidacy is submitted to gerrit, verification and approval will be
performed by elections officials, followed by an update to the approved
candidate list.
.. seealso::
See the `OpenStack Election Officiating Guidelines`_ page in the wiki for
details on the election process.
.. _Condorcet Internet Voting Service (CIVS): https://civs.cs.cornell.edu/
.. _Governance: https://opendev.org/airship/governance
.. _Airship Governance Tie Breaking rules: https://opendev.org/airship/governance#user-content-tie-breaking
.. _OpenStack Election Officiating Guidelines: https://wiki.openstack.org/wiki/Election_Officiating_Guidelines

View File

@ -0,0 +1,8 @@
Historical Election Results
===========================
.. toctree::
:hidden:
:glob:
*/*