Jump to: navigation, search

Difference between revisions of "Governance/Foundation/TechnicalCommittee"

(recent activity is 12 months, not 18 months)
(Final draft changes, based on 20120704 PPB meeting)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
= Technical committee =
+
= [[OpenStack]] Technical Committee charter =
  
 
Status: RFC
 
Status: RFC
Line 6: Line 6:
 
=== Mission ===
 
=== Mission ===
  
The Technical Committee ("TC") is tasked with providing the technical leadership for the OpenStack project as a whole (including core projects, library projects, gating projects and supporting projects). 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 within OpenStack projects.
+
The Technical Committee ("TC") is tasked with providing the technical leadership for the OpenStack project as a whole (including core projects, library projects, gating projects and supporting projects). It enforces OpenStack core projects ideals (Openness, Transparency, Commonality, Integration, Quality...), decides on issues affecting multiple projects, forms an ultimate appeals board for technical decisions, and generally has oversight over all OpenStack projects.
  
The TC has control over which projects are considered OpenStack projects, including those in core incubation status. It recommends projects for final OpenStack Core addition, combination, split or deletion to the Board of Directors, which has sole authority to approve them.
+
In particular, the TC has control over which projects are considered OpenStack projects, including those in core incubation status. It recommends projects for final OpenStack Core addition, combination, split or deletion to the Board of Directors, which has sole authority to approve them.
  
 
=== Members ===
 
=== Members ===
Two options:
+
 
{| border="1" cellpadding="2" cellspacing="0"
+
The TC is composed of the already-elected core projects PTLs, plus 5 extra directly-elected members. All TC members must be OpenStack Foundation individual members. You can cumulate any other role, including Foundation Director, with a TC seat.
|}
 
or
 
{| border="1" cellpadding="2" cellspacing="0"
 
|}
 
  
 
=== Chair ===
 
=== Chair ===
Line 24: Line 20:
 
=== Meeting ===
 
=== 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 automatically called if anything is posted to that wiki by one of its members at least one day before the meeting time. For a meeting to be actually held, at least half of the members need to be present. Non-members affected by a given discussion are strongly encouraged to participate to the meeting and voice their opinion, though only elected TC members can ultimately cast a 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 automatically called if anything is posted to that wiki by one of its members at least one day before the meeting time. For a meeting to be actually held, at least half of the members need to be present (rounded up: in a board with 6PTLs+5 that means a minimum of 6 people present). Non-members affected by a given discussion are strongly encouraged to participate to the meeting and voice their opinion, though only 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 development mailing-list for a minimum of 5 business days to give a chance to the wider community to express their opinion. TC members can vote positively, negatively, or abstain. Decisions need more positive votes than negative votes, and a minimum of positive votes of at least one fourth of the total number of TC members.
+
Before being put to a vote, motions presented before the TC should be discussed publicly on the development mailing-list for a minimum of 4 business days to give a chance to the wider community to express their opinion. TC members can vote positively, negatively, or abstain. Decisions need more positive votes than negative votes (ties mean the motion is rejected), and a minimum of positive votes of at least one third of the total number of TC members (rounded up: in a board with 6PTLs+5 that means a minimum of 4 approvers).
  
 
=== Proxying ===
 
=== 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.
+
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. A TC member may proxy another member, but nobody should ever represent more than two votes.
  
 
=== Election ===
 
=== Election ===
Depending on the option chosen above:
+
 
{| border="1" cellpadding="2" cellspacing="0"
+
The TC is renewed every 6 months, after the PTL elections and before the Design Summit happens. Elected PTLs for the upcoming release cycle automatically get a seat for the next 6 months. The 5 directly-elected seats are selected using staggered elections: 3 seats are renewed every Fall, and 2 seats are renewed every Spring. For this election we'll use a multiple-winner election system (see below).
|}
 
or
 
{| border="1" cellpadding="2" cellspacing="0"
 
|}
 
  
 
=== Voters ===
 
=== Voters ===
  
The Technical committee represents the active technical contributors to OpenStack projects. The TC members are therefore elected by the Active Technical Contributors ("ATC"), which are a subset of the Foundation Individual Members. Individual Members who committed a change to any of the official OpenStack projects (over which the TC has final authority) over the last two 6-month release cycles are automatically considered ATC. Specific technical contributors who did not have a change recently accepted in one of the OpenStack projects but nevertheless feel their contribution to the OpenStack project is technical (bug triagers, technical documentation writers...) can exceptionally apply for ATC by sending an email to the TC chair. Final approval on the exception is decided by the TC itself, and lasts one year.
+
The Technical committee represents the active technical contributors to OpenStack projects. The TC members are therefore elected by the Active Technical Contributors ("ATC"), which are a subset of the Foundation Individual Members. Individual Members who committed a change to any of the official OpenStack projects (over which the TC has final authority) over the last two 6-month release cycles are automatically considered ATC. Specific contributors who did not have a change recently accepted in one of the OpenStack projects but nevertheless feel their contribution to the OpenStack project is technical in nature (bug triagers, technical documentation writers...) can exceptionally apply for ATC by sending an email to the TC chair. Final approval on the exception is decided by the TC itself, and is valid one year (two elections).
  
 
=== Candidates ===
 
=== Candidates ===
  
Any ATC can propose his candidacy for an available TC seat.
+
Any Foundation individual member can propose his candidacy for an available, directly-elected TC seat.
  
 
=== Initial committee ===
 
=== Initial committee ===
  
Depending on the option chosen above:
+
The current PPB will serve as TC until the first elections in September 2012. At that point, elected PTLs and the two PPB members who still had 6 months to serve get a 6-month seat. A normal staggered election (see above) is held to determine the remaining 3 seats (valid for one year).
{| border="1" cellpadding="2" cellspacing="0"
 
|}
 
or
 
{| border="1" cellpadding="2" cellspacing="0"
 
|}
 
  
 
=== Election systems ===
 
=== Election systems ===
  
For single-winner elections, the Condorcet Schulze algorithm shall be used.
+
For single-winner elections, a Condorcet system shall be used.
 
 
For multiple-winner elections, a system ensuring representativity of smaller groups and resistant to vote management shall be used.
 
  
{| border="1" cellpadding="2" cellspacing="0"
+
For multiple-winner elections, a Condorcet or a STV system should be used.
|}
 
  
 
=== Amendment ===
 
=== Amendment ===
  
Amendment to those Technical Committee rules shall only be proposed by a motion accepted by at least two-thirds of the TC members.
+
Amendments to this Technical Committee charter shall be proposed in a special motion, which needs to be approved by the affirmative vote of at least two-thirds of the total number of TC members (rounded up: in a board with 6PTLs+5 that means a minimum of 8 approvers).
 
 
Option:
 
{| border="1" cellpadding="2" cellspacing="0"
 

Revision as of 11:58, 4 July 2012

OpenStack Technical Committee charter

Status: RFC

Mission

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

In particular, the TC has control over which projects are considered OpenStack projects, including those in core incubation status. It recommends projects for final OpenStack Core addition, combination, split or deletion to the Board of Directors, which has sole authority to approve them.

Members

The TC is composed of the already-elected core projects PTLs, plus 5 extra directly-elected members. All TC members must be OpenStack Foundation individual members. You can cumulate any other role, including Foundation Director, with a TC seat.

Chair

After each election, the TC proposes one of its members to act as the TC chair. In case of multiple candidates, it may use a single-winner election method to decide the result (see below). The Board of Directors has the authority to approve the TC chair and shall approve the proposition, unless otherwise justified by its bylaws. The TC chair is responsible for making sure meetings are held according to the rules described below, and for communicating the decisions taken during those meetings to the Board of Directors and the OpenStack community at large. It may be revoked under the conditions described in the Foundation bylaws.

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 automatically called if anything is posted to that wiki by one of its members at least one day before the meeting time. For a meeting to be actually held, at least half of the members need to be present (rounded up: in a board with 6PTLs+5 that means a minimum of 6 people present). Non-members affected by a given discussion are strongly encouraged to participate to the meeting and voice their opinion, though only 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 development mailing-list for a minimum of 4 business days to give a chance to the wider community to express their opinion. TC members can vote positively, negatively, or abstain. Decisions need more positive votes than negative votes (ties mean the motion is rejected), and a minimum of positive votes of at least one third of the total number of TC members (rounded up: in a board with 6PTLs+5 that means a minimum of 4 approvers).

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. A TC member may proxy another member, but nobody should ever represent more than two votes.

Election

The TC is renewed every 6 months, after the PTL elections and before the Design Summit happens. Elected PTLs for the upcoming release cycle automatically get a seat for the next 6 months. The 5 directly-elected seats are selected using staggered elections: 3 seats are renewed every Fall, and 2 seats are renewed every Spring. For this election we'll use a multiple-winner election system (see below).

Voters

The Technical committee represents the active technical contributors to OpenStack projects. The TC members are therefore elected by the Active Technical Contributors ("ATC"), which are a subset of the Foundation Individual Members. Individual Members who committed a change to any of the official OpenStack projects (over which the TC has final authority) over the last two 6-month release cycles are automatically considered ATC. Specific contributors who did not have a change recently accepted in one of the OpenStack projects but nevertheless feel their contribution to the OpenStack project is technical in nature (bug triagers, technical documentation writers...) can exceptionally apply for ATC by sending an email to the TC chair. Final approval on the exception is decided by the TC itself, and is valid one year (two elections).

Candidates

Any Foundation individual member can propose his candidacy for an available, directly-elected TC seat.

Initial committee

The current PPB will serve as TC until the first elections in September 2012. At that point, elected PTLs and the two PPB members who still had 6 months to serve get a 6-month seat. A normal staggered election (see above) is held to determine the remaining 3 seats (valid for one year).

Election systems

For single-winner elections, a Condorcet system shall be used.

For multiple-winner elections, a Condorcet or a STV system should be used.

Amendment

Amendments to this Technical Committee charter shall be proposed in a special motion, which needs to be approved by the affirmative vote of at least two-thirds of the total number of TC members (rounded up: in a board with 6PTLs+5 that means a minimum of 8 approvers).