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:
parent
006876aa1b
commit
74f2015ecc
112
README.rst
112
README.rst
@ -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
|
|
||||||
|
@ -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 = []
|
||||||
|
@ -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
140
doc/source/procedures.rst
Normal 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
|
8
doc/source/results/index.rst
Normal file
8
doc/source/results/index.rst
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
Historical Election Results
|
||||||
|
===========================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:hidden:
|
||||||
|
:glob:
|
||||||
|
|
||||||
|
*/*
|
Loading…
Reference in New Issue
Block a user