OpenSAF Technical Operating Procedures

1 Introduction

This document is the Technical Operating Procedures (TOP) for the Technical Leadership Council (TLC) of the OpenSAF Foundation (Foundation). Numerous references are given to other documents. Notably:

2 Roles & Responsibilities

This section defines the various roles and responsibilities applicable to the OpenSAF project. The roles described in this section are used in the remainder of this document while defining and describing the open source development process in detail. The roles and responsibilities are enumerated as follows:

2.1 User

A User is someone that uses OpenSAF software. They may also contribute to the project by providing feedback to developers in the form of bug reports and feature suggestions. Users may also participate in the OpenSAF community by helping other users on mailing lists.

2.2 Developer

A Developer is a user who contributes to OpenSAF in the form of code and documentation for the project and/or development and test infrastructure tools required for running the project. A developer's responsibilities include being active on the developer mailing list, participating in discussions about features and bugs, as well as providing patches, suggestions, documentation and criticism.

2.3 Module Owners, Committers and Peers

A Module Owner is a developer that was given write access to the code repository and has signed an Individual Participation and Contribution License Agreement, which has been submitted by the developer and is on file with the Foundation. This is someone to whom the Foundation through its TLC delegates leadership of the development of a module of code or designates as a domain expert for a particular module. This includes a range of responsibilities relevant to the daily management of the module, including:

  • Reviewing bug-fixes and patches
  • Approving patches as ready to be checked into the module
  • Contributing new features as required
  • Responding to code related queries from the community
  • Source management activities like branching & labeling.

The module owner is often referred to as the Committer. Sometimes more than one module owner might be delegated by the Foundation based on the complexity and the size of the module. In such cases the word Peer is used for the other additional module owner(s). A Peer for a module is optional and is appointed contingent on the complexity of the module.

2.4 Release Manager

The TLC appoints a Release Manager for managing major OpenSAF releases. The Release Manager identifies problems, announces code-freeze deadlines, and controls access to the source code repository to avoid changing things just before the release. The Release Manager organizes for periodic builds and tests to ensure the integrity of the source tree. The Release Manager also determines when the release is stable and is ready to be announced as Generally Available or GA.

2.5 Technical Leadership Council (TLC)

The TLC is the technical expert group responsible for leading the OpenSAF project. The TLC members are extremely knowledgeable about various technical aspects of the project and make strategic short and long term decisions to steer the project in the right direction.

2.5.1 TLC Membership

The TLC is comprised of the following members. Irrespective of the number of members in the TLC, each group of "Related Members", as defined below, shall have one vote on all TLC matters.

  • Technical Co-Chairs (TCCs): The technical co-chairs are elected by the Technical Leadership Council from its ranks with the advice and consent of the Board. They are responsible for the effective leadership of the TLC. They are also responsible for keeping the Board informed of all relevant technical activities within the project. The technical co-chairs seek the advice and consent of the Board on all financial, outreach and other matters that materially affect the mission, objectives and image of the Foundation. The TCCs also run and adjudicate all meetings. If a TCC is appointed from a Sponsor or Contributor Member, s/he shall hold the TLC voting rights for that Member.
  • Member Representation: A single representative is appointed by each Sponsor and Contributor Member. This representative holds the voting rights on all TLC matters for that Sponsor or Contributor Member unless that Member already holds a TCC position. Such an individual must be one of the named full time equivalent resources for a Sponsor member, as required by the bylaws of the Foundation. Each such TLC member may designate an alternate. Alternates are not allowed to join TLC conference calls or F2F meetings unless the primary is absent or the TLC explicitly agrees to it. Alternates are allowed access to the wikis and TLC mailing lists though so they can stay up to date on discussions.
  • Invited Representation: Members of the OpenSAF Community (users, developers and committers who are not necessarily employees of, or otherwise affiliated with Foundation Member) who have recognized expertise and have made significant contributions to the OpenSAF project, and are elected to membership in the TLC pursuant to section 3.4 below. If more than one person from an OpenSAF community organization is elected to the TLC, that organization must identify a single individual who has voting rights.
  • Related Members: “Related Member” means any entity which controls or is controlled by a Foundation Member or other entity that employs a TLC member, or which, together with a Member or such entity, is under the common control of a third party, in each case where such control results from ownership, either directly or indirectly, of more than fifty percent of the voting securities or membership interests of the entity in question.
  • Voting Members: This is the TLC membership subset with voting privileges. Each entity represented as an OpenSAF member is allowed only one vote, and are responsible for determining which of their members is the official voting member. Each official voting member may designate an alternate in the case of their absence.

2.5.2 TLC Responsibilities

The responsibilities of the TLC include but are not limited to the following:

  • Defining and maintaining the Road Map including features to be implemented, release time lines and milestones, subject to the advice and consent of the Board of Directors of the Foundation (Board). As a part of this process it also establishes clear priorities for developing new services and features for existing services to be implemented in the OpenSAF project.
  • Coordinating and distributing work amongst the developers of OpenSAF. To facilitate this it also divides the project into appropriate manageable modules.
  • Appointing the module owners, the Peers for various modules/Areas and Release Managers as needed. The TLC shall use a ballot for inviting maintainers, Peer candidates and Release Managers into the TLC if they are not already TLC members. Any member of the TLC can initiate this ballot. A two-thirds majority of the quorum (Super Majority) is required for this ballot to pass.
  • Removal of TLC Members. This requires a ballot and needs Super Majority of the quorum to be passed. Only a TCC can initiate this ballot.
  • Recommending OpenSAF developers/Committers that should participate in integration review exercises (besides the basic review by the Module owner and any Peer(s)) before code is committed to the source tree. The code inspection steps are detailed in the OpenSAF Development Process.
  • Defining the Release Strategy as well as versioning scheme for releases.
  • Critiquing and reviewing the requirements, architecture and design for newer services and major features before they are implemented.
  • Analyzing and recommending the applicability of proposed test harnesses/test infrastructures for the Project.
  • Approving the test plans, defining release criterias and specifying the reference platforms for major releases on which the releases will be verified.
  • Documenting the coding guidelines, style guides and other such reference material to guide developers in order to maintain consistency in coding style, look and feel as well as the desired level of portability as the project evolves. Creation and modification of such material must be voted on by the TLC and requires a simple majority to pass. Any member of the TLC can initiate the ballot.
  • Defining a software development process and a set of explicit guidelines that explain to the open source community how to make a contribution to the OpenSAF code base and participate in the project. Creation and modification of such material needs to be voted on by the TLC and requires a simple majority to pass. Any member of the TLC can initiate the ballot.

2.6 Relationship between TLC and Foundation Board of Directors (Board)

The TLC and Board collaborate to ensure that the technical direction of the project is inline with the vision of the Foundation. The Board is responsible for setting the Foundation's Vision Statement, and the TLC is responsible for setting a technical direction which supports the Vision Statement. The Board is responsible for:

  • Consent on elected TCCs. The Board must approve all elected Technical Co-Chairs, or the election is considered invalid. This is further detailed in section 3.1.
  • Consent on changes to the Technical Operating Procedures. The Board must approve all TOP changes, or the changes are considered invalid. This is further detailed in section 3.3.
  • Consent on the project roadmap. The Board must approve all official project roadmaps, before they are considered invalid.

3 TLC Voting Procedures

With the exception of the Technical Co-Chair elections, all TLC votes are recorded and are published publicly through meeting minutes or some other vote record. This section documents a generic voting process, and outlines certain instances where votes must occur and how those votes will occur.

3.1 Technical Co-Chair Elections

Technical Co-Chairs are elected by the voting members of the TLC (subject to the advice and consent of the Board) at the first official in-person meeting of each calendar year, and serve until their replacements are elected. Elections are organized by the outgoing TCCs and are run according to the following rules:

  • TCC elections are both private and anonymous. No record of how each voting member voted is kept, although a record of the aggregate number of votes, and the outcome, is maintained. The numerical results are not published publicly.
  • The outgoing TCCs will prepare a paper ballot containing the names of each eligible TCC candidate (only TLC members are eligible candidates, and all TLC members are eligible candidates). If an eligible candidate does not wish to be considered, he or she should ask the outgoing TCCs to leave his or her name off the ballot.
  • Each voting member will get 2 votes and will select 2 distinct names on the ballot.
  • Once the ballots are cast the outgoing TCCs will tally the votes. All ballot dropping and vote counting is done on the spot so that all voting members can watch the process.
  • The two TLC members with the most votes will become the new TCCs
  • In the event of a tie, the winner of the tie will be chosen by a random draw method determined by the outgoing TCCs. One possible solution is for one of the TCCs to write each tied candidate's name on a separate sheet of a paper and let the other TCC pull the winner's name out of a hat.
    • Example 1: 5 voting members. Candidate A gets 4 votes, Candidates B and C get 3 votes each. Candidate A is automatically one of the winners, and the winner between B and C will be chosen by a random draw.
    • Example 2: 10 voting members. Candidates A, B, C, and D get 5 votes each. All 4 names are entered into the random draw and 2 winners are selected.
  • TCC votes may only be cast in person. If a voting member cannot attend a meeting, they can either designate another TLC member as his or her proxy (in writing, which may be electronic) or lose their vote.

TCCs may be "recalled" or removed from office by the TLC voting members. Also, a standing TCC may be removed from the TLC altogether, and in such a case they will necessarily vacate their TCC position. This is further detailed in section 3.6.

In the event that one of the TCCs leaves the TLC (either by resignation or removal), a special election shall be held to determine a replacement for that TCC position at the next in-person meeting. The TLC shall function with only one Chair until such time as a replacement is elected. The election process will follow the aforementioned voting method, except that it will be administered by the current Chair and all voting members receive only 1 vote for their ballot. The newly elected replacement Chair will serve only the remainder of the term.

In the event that both TCCs leave the TLC (either by resignation or removal), the Board of Directors will appoint an Interim Chair until the next in-person meeting, at which time 2 new TCCs will be elected to serve the remainder of the term. The Interim Chair will run the election process.

Once the new TCCs (or replacement TCC or TCCs) are elected, the outgoing TCCs will submit the names of the new TCCs to the Board for consent. In the case where the Board does not consent on one or more winners, the election process will take place again with the names of the member(s) not receiving consent removed from the ballot.

3.2 Generic Voting Rules

The voting rules for handling general items of business is as follows:

  • Votes can be held at in-person meetings or can be taken online. There is no mixing and matching of these techniques. In other words, if a vote is held in-person and a voting member is not present, they do not get to cast a vote in the matter.
  • "Quorum" is always with respect to voting members only.
  • A quorum of a simple majority of voting TLC members is required.
  • When votes are taken electronically, a simple majority of voting TLC members must cast a vote for the quorum to be met.
  • When issues are taken electronically, a duration of not less than 2 business days and not more than 10 business days shall be specified in the notice for the vote. Only votes that are cast within the time period specified shall be valid.
  • All votes require a simple majority of the quorum voting "yes" to pass unless stated otherwise.
  • If a vote is tied, this means a simple majority was not reached and therefore results in a non-passing vote.

These rules hold for all voting items, except in the cases where specific rule modifications are made for specific voting items. In those cases, any rules not overriden still hold.

3.3 Modification of Technical Operating Procedures

  • Motions to change the TOP can be made and seconded by TLC members, at any time.
  • A Super Majority of a quorum is required for this motion to pass
  • A vote on this matter can occur in-person or electronically.
  • Any such change not ratified by the Board within one calendar year will be declared invalid.

3.4 Addition of a TLC Member

The TLC may choose to invite new individual to become members, either from current Foundation members or from the outside community. These members will be referred to as "invited members".

  • A Motion to invite a new member can be made and seconded by TLC members at any in-person TLC meeting.
  • A Super Majority of a quorum is required for this motion to pass
  • A vote on this matter can occur at in-person meetings only.

3.5 Removal of a TLC Member

Official TLC representatives of Foundation Members can not be removed from the TLC by a vote of the TLC membership. Invited members can be removed following this process:

  • Motions to remove an invited member can be made and seconded by TLC members at any in-person TLC meeting.
  • The invited member in question does not get a vote on this matter
  • A unanimous quorum is required for this motion to pass
  • A vote on this matter can occur at in-person meetings only

3.6 Removal of a TLC Chair

A TLC Chair (one of the TCCs) can be removed from office following this process:

  • Motions to remove a chair from office can be made and seconded by TLC members at any in-person TLC meeting.
  • The chair in question does not get a vote on this matter
  • A unanimous quorum is required for this motion to pass
  • A vote on this matter can occur at in-person meetings only

Being removed from office has no effect on TLC membership. TLC membership changes are governed by the OpenSAF Bylaws and also by section 3.5 of this document.

Last modified by sayan, 01/22/08 09:35:04 (4 years ago)