Jump to: navigation, search

Difference between revisions of "Governance/Foundation/TechnicalCommittee"

(Initial draft, as published on the ML on Feb 20)
 
(Rev2)
Line 6: Line 6:
 
=== Mission ===
 
=== Mission ===
  
The Technical Committee (TC) is tasked with providing the technical leadership for the OpenStack project. It enforces OpenStack core
+
The Technical Committee (TC) is tasked with providing the technical leadership for the OpenStack project as a whole. It enforces OpenStack core projects ideals (Openness, Transparency, Commonality, Integration, Quality...), decides on issues affecting multiple projects, and generally forms an ultimate appeals board for technical decisions.
projects ideals (Openness, Transparency, Commonality, Integration, Respect of release deadlines, Facilitation of downstream distribution
 
[0]), decides on issues affecting multiple projects, and generally forms an ultimate appeals board for technical decisions.
 
  
 
=== Members ===
 
=== Members ===
  
The TC is composed of 9 elected members. You can cumulate other roles (Project technical lead, Foundation board member...) with a TC seat. Note that Project technical leads do not get appointed seats to the TC: they should run for election[1].
+
The TC is composed of 9 elected members. You can cumulate other roles (Project technical lead, Foundation board member...) with a TC seat. Note that Project technical leads no longer get appointed seats to the TC: they should run for election.
  
 
=== Meeting ===
 
=== Meeting ===
  
TC meetings happen publicly, weekly on IRC. The TC maintains an open agenda on the wiki. A TC meeting is called if anything is posted to that wiki at least one day before the meeting time. For a meeting to be actually held, at least two thirds of the members need to be present (6 people). Non-members, in particular unelected PTLs or release manager, are more than welcome to participate to the meeting and voice their opinion, though they can't ultimately vote.
+
TC meetings happen publicly, weekly on IRC. The meeting time should be decided among TC members after each election. If there isn't consensus on a meeting time, the option of rotating the time weekly should be explored. The TC maintains an open agenda on the wiki. A TC meeting is called if anything is posted to that wiki at least one day before the meeting time. For a meeting to be actually held, at least two thirds of the members need to be present (6 people). Non-members, in particular unelected PTLs or release manager, are strongly encouraged to participate to the meeting and voice their opinion on subjects that affect them, though only elected TC members can ultimately cast a vote.
  
 
=== Motions ===
 
=== Motions ===
  
Before being put to a vote, motions presented before the TC should be discussed publicly on the mailing-list[2] for a minimum of 5 days to give a chance to the wider community to express their opinion. Members can vote positively, negatively, or abstain. Decisions need more positive votes than negative votes, and a minimum of 3 positive votes.
+
Before being put to a vote, motions presented before the TC should be discussed publicly on the mailing-list[1] for a minimum of 5 days to give a chance to the wider community to express their opinion. Members can vote positively, negatively, or abstain. Decisions need more positive votes than negative votes, and a minimum of 3 positive votes.
  
=== Election ===
+
=== Proxying ===
  
The TC is renewed every 6 months using staggered elections: 5 seats are renewed every 6 months. People ranking 1st to 4th get elected for a one-year term. The 5th person gets elected for a 6-month term. People ranking after 6th are retained as potential substitute members (see "Revocation").
+
When a TC member is unable to make a meeting, he is encouraged to name a proxy that will represent his opinion and vote on his behalf during the meeting. Only members really present at the meeting (directly or proxied) can vote.
  
=== Voters ===
+
=== Election ===
  
Technical members of the Foundation, as determined by the Technical membership committee[3], are able to participate in this election.
+
The TC is renewed every 6 months using staggered elections: 5 seats are renewed every 6 months. In order to ensure fairness and representativity, the election is run on [http://www.cs.cornell.edu/w8/~andru/civs/ CIVS], using a Condorcet [http://en.wikipedia.org/wiki/Schulze_method Schulze algorithm] with the [http://www.cs.cornell.edu/w8/~andru/civs/proportional.html proportional representation] option enabled. People ranking 1st to 4th get elected for a one-year term. The 5th person gets elected for a 6-month term.
  
=== Revocation ===
+
=== Voters and Candidates ===
  
TC members are expected to be available and participate to weekly meetings. If a particular TC member misses 3 of the last 5 called
+
The voters are the Technical members[2] of the Foundation. Any Technical member can propose his candidacy for a TC seat.
meetings, he should automatically be revoked. He would be replaced by the top substitute (person ranking 6th and after in previous election). Even when replacing someone elected for 1 year, the substitute inherits from the shortest term; the highest ranking elected person inherits from the potential longer term[4].
 
  
 
=== Initial election ===
 
=== Initial election ===
  
To initially populate the TC, all 9 seats are up for election. People ranking 1st to 4th get elected for one year. People ranking 5th to 9th get elected for 6 months[5].
+
To initially populate the TC, all 9 seats are up for election. People ranking 1st to 4th get elected for one year. People ranking 5th to 9th get elected for 6 months[3].
  
 
=== Notes ===
 
=== Notes ===
  
* [0] From http://wiki.openstack.org/ProjectTypes
+
# Could be the openstack ML or a specific TC ML. The idea is to avoid surprising the community with a decision, and avoid the usual kabbale critics.
* [1] The idea is that we want to de-correlate the number of PTLs (and the relative importance of their projects) from the TC composition, to reduce committee bloat and be more fair. Influential PTLs from large projects should get elected anyway.
+
# Two options here: make anyone who committed to one of the official OpenStack projects (core projects + docs + CI + ...) a Technical member of the Foundation, or set up a separate Technical Membership Committee to define rules and handle corner cases. In both cases we could require some currency in the contribution (for example you lose membership if you didn't commit anything over a year).
* [2] Could be the openstack ML or a specific TC ML. The idea is to avoid surprising the community with a decision, and avoid the usual kabbale critics.
+
# We may want to re-align elections with release cycles. Example: If TC is created in July 2012, we may want to align elections with the next design summits, so the first term only be 2 months or 8 months.
* [3] More on this later.
 
* [4] Example: Fx got elected in Fall 2012, while Sx got elected in Spring 2013. Current board as F1, F2, F3, F4, S5 elected until Fall 2013, and S1, S2, S3, S4 elected until Spring 2014. S2 is a slacker is is revoked. S6 is called as a substitute. He should not get a longer term than S5 though. So S5 inherits from the 1-year-long term and S6 from the 6-month-long term. Resulting board is: F1, F2, F3, F4, S6 elected until Fall 2013, and S1, S3, S4, S5 elected until Spring 2014.
 
* [5] We may want to re-align elections with release cycles. Example: If TC is created in July 2012, we may want to align elections with the next design summits, so the first term only be 2 months or 8 months.
 

Revision as of 13:20, 24 February 2012

Technical committee

DRAFT FOR COMMENTS

Mission

The Technical Committee (TC) is tasked with providing the technical leadership for the OpenStack project as a whole. It enforces OpenStack core projects ideals (Openness, Transparency, Commonality, Integration, Quality...), decides on issues affecting multiple projects, and generally forms an ultimate appeals board for technical decisions.

Members

The TC is composed of 9 elected members. You can cumulate other roles (Project technical lead, Foundation board member...) with a TC seat. Note that Project technical leads no longer get appointed seats to the TC: they should run for election.

Meeting

TC meetings happen publicly, weekly on IRC. The meeting time should be decided among TC members after each election. If there isn't consensus on a meeting time, the option of rotating the time weekly should be explored. The TC maintains an open agenda on the wiki. A TC meeting is called if anything is posted to that wiki at least one day before the meeting time. For a meeting to be actually held, at least two thirds of the members need to be present (6 people). Non-members, in particular unelected PTLs or release manager, are strongly encouraged to participate to the meeting and voice their opinion on subjects that affect them, though only elected TC members can ultimately cast a vote.

Motions

Before being put to a vote, motions presented before the TC should be discussed publicly on the mailing-list[1] for a minimum of 5 days to give a chance to the wider community to express their opinion. Members can vote positively, negatively, or abstain. Decisions need more positive votes than negative votes, and a minimum of 3 positive votes.

Proxying

When a TC member is unable to make a meeting, he is encouraged to name a proxy that will represent his opinion and vote on his behalf during the meeting. Only members really present at the meeting (directly or proxied) can vote.

Election

The TC is renewed every 6 months using staggered elections: 5 seats are renewed every 6 months. In order to ensure fairness and representativity, the election is run on CIVS, using a Condorcet Schulze algorithm with the proportional representation option enabled. People ranking 1st to 4th get elected for a one-year term. The 5th person gets elected for a 6-month term.

Voters and Candidates

The voters are the Technical members[2] of the Foundation. Any Technical member can propose his candidacy for a TC seat.

Initial election

To initially populate the TC, all 9 seats are up for election. People ranking 1st to 4th get elected for one year. People ranking 5th to 9th get elected for 6 months[3].

Notes

  1. Could be the openstack ML or a specific TC ML. The idea is to avoid surprising the community with a decision, and avoid the usual kabbale critics.
  2. Two options here: make anyone who committed to one of the official OpenStack projects (core projects + docs + CI + ...) a Technical member of the Foundation, or set up a separate Technical Membership Committee to define rules and handle corner cases. In both cases we could require some currency in the contribution (for example you lose membership if you didn't commit anything over a year).
  3. We may want to re-align elections with release cycles. Example: If TC is created in July 2012, we may want to align elections with the next design summits, so the first term only be 2 months or 8 months.