Jump to: navigation, search

Governance

Revision as of 22:09, 6 January 2011 by AnneGentle (talk) (Modified Architecture Board references to Project Oversight Committee and put election info into proper tense)


OpenStack Governance

Overview

OpenStack desires a governance framework that fosters a shared, community-driven vision and direction, but that is sufficiently structured to support corporate and partner involvement, and preserve the original vision and long-term goals of each open source project.

The governance structure will be modified as required to meet the needs of the OpenStack project, based on feedback from the community. As changes occur, the latest official revision of this document will be available at the project website.

OpenStack’s Key Principles

The community will be involved in the design process. The community will have representation throughout the governance structure.

The software will remain truly free software. We will not purposefully limit the functionality or scalability of the software to enable the sale of an "enterprise" version.

OpenStack governance will be open. Important project meetings and communications will be held in public.

Rackspace's Commitment

The success of the OpenStack project, and the health and vibrancy of its community is important to Rackspace. Rackspace intends to provide strong leadership on the project to assure the coherency of the OpenStack mission within the community, and to best position the project to achieve the community's goals. As the community grows and thrives, Rackspace expects the leadership of the community to become more diversified.

Summary of the Governance Structure

The governance structure is comprised of three main bodies:

  1. The OpenStack Advisory Board
  2. The OpenStack Project Oversight Committee (POC)
  3. Technical Committees for each OpenStack sub-project

The OpenStack Advisory Board

The primary responsibilities of the Advisory Board will be:

  1. To set the long-term vision for OpenStack,
  2. To provide strategic guidance to the Project Oversight Committee, and
  3. To evangelize and promote the OpenStack mission.

The Advisory Board membership will be:

  1. Leaders representing organizations with developers actively participating on projects through code contributions, commercial support and distributions, and,
  2. Individuals with expertise and knowledge relevant to the OpenStack mission.

The Advisory Board will be required to meet quarterly with alternating meetings by phone and IRC or other appropriate medium, and in person at Design Summits every six months. All meetings will be open to the community.

Rackspace will appoint members to the Advisory Board based on above criteria by October 31, 2010. Membership on the Advisory Board will be adjusted by Rackspace as needed based upon the above criteria.

OpenStack Project Oversight Committee (POC)

The primary responsibilities of the Project Oversight Committee are:

  1. To approve new sub-projects under OpenStack,
  2. To establish consistent policies and procedures across all OpenStack sub-projects,
  3. To approve interfaces across sub-projects,
  4. To maintain healthy communities for all sub-projects and the OpenStack ecosystem, and
  5. To veto Technical Committee decisions as required.

The Project Oversight Committee will be comprised of individuals with the relevant expertise required to drive the technical direction of the overall OpenStack community.

The Project Oversight Committee will be comprised of nine members as follows:

  1. Chairperson: appointed by Rackspace,
  2. Chief Architect: appointed by Rackspace,
  3. Rackspace Member appointed by Rackspace to a three year initial term ending November 15th, 2013,
  4. Community Member appointed by Rackspace to a three year initial term ending November 15th, 2013,
  5. Community Member appointed by Rackspace to a two year initial term ending November 15th, 2012,
  6. Community Member elected by the community on November 1, 2010 to a two year initial term ending November 15th, 2012,
  7. Community Member elected by the community on November 1, 2010 to a two year initial term ending November 15th, 2012,
  8. Community Member elected by the community on November 1, 2010 to a one year initial term ending November 15th, 2011, and
  9. Community Member elected by the community on November 1, 2010 to a one year initial term ending November 15th, 2011

Elections for the initial four community-elected Community Member seats were held on November 1st, 2010. Candidacy and voting is open to any community members who have signed the Contributor License Agreement and registered through Launchpad. Rackspace will vet the candidate list for diversity of representation and active participation in the project, and present to the community no later than October 20th, 2010. Voting was held electronically on November 1st, 2010. The top two vote recipients were elected to the Community Member seats with terms ending November 15th, 2012, and the third and fourth largest vote recipients to terms ending November 15th, 2011.

Upon expiration of the initial terms stated above, each Community Member seat will have a two year term, and will be filled by community election. The Rackspace Community Member seat will be elected from a slate of candidates provided by Rackspace. Nominations for all other Community Member seats must be submitted to the Chairperson at least 25 working days before the election. The election will be held at least 15 working days before the expiration of each term. The Chairperson shall publish the date of the election at least 60 days prior to the expiration of each term. Voting will be held electronically. All candidates and voters must have signed the Contributor License Agreement and be registered through Launchpad.

The Chairperson and Chief Architect will be appointed by Rackspace.

The Chairperson will be responsible for overseeing the functions of the Architecture Board including accepting dispute escalations from the Technical Committees and accepting new proposals for sub-projects to be considered by the Architecture Board.

The Chief Architect is responsible for overseeing decisions regarding the overall architecture of the OpenStack system, setting policies and defining interfaces between projects. The Chief Architect will do so with input from the other members of the Project Oversight Committee, who can overrule his/her decisions with a vote to do so by seven members.

The Project Oversight Committee will meet as needed (determined by members of the committee). All meetings will be open to the community and conducted publicly. Minutes and other documentation will be published as appropriate (e.g. design documents, consolidated roadmaps, etc).

The Project Oversight Committee will consider proposals for new OpenStack sub-projects. New sub-projects will be accepted if they receive at least seven affirmative votes. Once a sub-project has been accepted, a Technical Committee will be established for the sub-project.

The Architecture Board may elect to establish special committees to further the OpenStack mission. The functions and membership of such committees will be determined by the Architecture Board.

The OpenStack Technical Committees for Sub-Projects

The primary responsibility of the Technical Committees is to define and manage development processes for their respective project. The initial two Technical Committees will be for OpenStack Compute and OpenStack Object Storage.

The Technical Committees will be comprised of individuals with expertise relevant to the particular sub-project.

Each sub-project Technical Committee will consist of:

  1. Technical Lead appointed by Rackspace,
  2. Secretary appointed by the Technical Lead,
  3. Additional roles as deemed necessary by Technical Lead such as committers, release managers, and development managers. and
  4. Chief Architect of the Architecture Board (ex-officio).

The Technical Lead is the leader of the sub-project, ultimately responsible for making day-to-day decisions about the project, consistent with the goals and architecture laid out by the Architecture Board.

Decisions made by the Technical Lead can be challenged by escalating first to the Chief Architect. If the dispute cannot be resolved with the Chief Architect, then further escalation can be made to the Chairperson of the Architecture Board. The Chief Architect will present the rationale for the decision in dispute, and the appropriate Community Member will present the case against a decision. A vote of seven Architecture Board members in the affirmative will overrule the decision.