There has been a discussion within the TSC about migrating to a Project Team Lead (PTL) model for managing the individual repositories within Tungsten Fabric.

This is the current proposal for TSC review.


Project Roles 

   Contributor

A Contributor is someone who contributes to a project. Contributions could take the form of code, code reviews, Wiki and documentation contributions,  Jira activities or other artifacts. Contributors work with a project’s Committer and the project’s sub-community. A Contributor may be promoted to a Committer by the project’s Committers after demonstrating a history of contributions to that project.

   Committer

For each project there is a set of Contributors approved for the right to commit code to the source code management system (the “Committers”) for that project. 

  • Committer rights are per project; being a Committer on one project does not give an individual committer rights on any other project.
  • The Committers will be the decision makers on all matters for a project including design, code, patches, and releases for a project.
  • Committers are the best available individuals, but usually work full-time on components in active development.
  • All project committers information such as name, company, and Contact information should be documented in the wiki under the project.

In order to preserve meritocracy in selection of Committers while ensuring diversity of Committers, each initial project is encouraged to take on at least two Committers from different companies (subject to meritocracy).

   Project Technical Leader

A project is required to elect a Project Technical Leader (“PTL”). The PTL acts as the de facto spokesperson for the project (feature projects and integration projects). 

   Project Technical Leader Candidates

Candidates for the project’s Project Technical Leader will be derived from the Committers of the Project.

Candidates must self nominate.

   Project Technical Leader Voters

Only Committers for a project are eligible to vote for a project’s Project Technical Lead.

   Project Technical Leader Election Mechanics

An election for Project Technical Leader occurs when any of the following are true:

  • The project is initially created
  • The Project Technical Leader resigns his or her post
  • The majority of committers on a project vote to call a new election
  • One year has passed since the last Project Technical Leader election for that project

   Project Operations

   Project Decisions Making Process

Technical and release decisions for a project should be made by consensus of that project’s Committers.  If consensus cannot be reached, decisions are taken by majority vote of a project’s Committers.  Committers may, by majority vote, delegate (or revoke delegation) of any portion of such decisions to an alternate open, documented (wiki), and traceable decision making process.

   Committer Lifecycle

   Adding Committers

  • Initial Committers for a project will be specified at project creation 
  • Committer rights for a project are earned via contribution and community trust. Committers for a project select and vote for new Committers for that project.
  • New Committers for a project should have a demonstrable established history of meritocratic contributions.

   Adding Committers to moribund projects

In the event that a project has no active committers (e.g., due to resignations, etc.), the TSC may appoint an interim Committer from a project’s active Contributors. This term shall last until the next release date, after which time the Committer must stand for election from amongst other Committers on the project to maintain his or her status.  In this special case, approval requires a majority of committers who respond within two weeks. If no one responds by the deadline, then the committer status is approved. This provision allows a project to continue development following an unexpected change in personnel.

The method by which the TSC appoints an interim Committer is first by request to the TF-TSC email list indicating the request to appoint an interim Committer for a project.  After the reception of such an email, the normal TSC decision process applies.

   Removing Committers

A Committer may voluntarily resign from a project by making a public request to the PTL to resign (via the project email list and cc to tsc@lists.tungsten.io ).

A Committer for a project who is disruptive, or has been inactive on that project for an extended period (e.g., six or more months) may have his or her Committer status revoked by the project’s Project Technical Leader or by 2/3 supermajority vote of the project’s committers.

The Project Technical Leader is responsible for informing the Technical Steering Committee (TSC) of any committers who are removed or resigned via the email list: tsc@lists.tungsten.io.

Former committers removed for reasons other than being disruptive may be listed as ‘Emeritus Committers’.  That title expresses gratitude for their service but conveys none of the privileges of being a Committer.



Project Technical Leader Elections

Election Coordinator: Casey Cain

Who is eligible to Run: Committers of the Project of record (as per the wiki page) effective the date the nomination process starts. Candidates must self nominate.

Who is eligible to Vote: Committers of the Project of record (as per the wiki page) effective the date the nomination process starts AND as controlled within the context of the  Technical Community Document.

Who will run the election Process: An Election Coordinator can be designated from volunteers within the Tungsten Fabric Community. The Election Coordinator should be a non-running member.  Alternatively, the  LF Staff can act as the Election Coordinator.  

Note: Please ensure that both the name and email address for each member is listed on each project wiki page in order to properly set up CIVS voting when required. Not doing so will cause delays for the Election Coordinator in setting up and executing the voting process. 

Process:

  • Self Nomination Phase

    • When appropriate a call for nominations will be sent by the Election Coordinator to the appropriate project mail list. Individuals interested in running for the Project Technical Leader position must reply-all to that email with their intention to run. It is recommended that candidates include a biography and statement of intent on why they would be a good person to hold this position.

    • The nomination phase begins with the receipt of the announcement (as verified by checking the appropriate mail list within Groups.io).

    • The nomination phase ends four (4) full business days (or other agreed upon timeframe) after the announcement in the same time zone the poll was initiated from.

  • Election Phase
    • A Condorcet election will be held using the CIVS voting system.
    • All project committers (as indicated above) will receive an invitation to vote.

    • The election phase will begin with the distribution of the CIVS poll via email.
    • The election phase will end four (4) full business days (or other agreed upon timeframe) later in the same time zone the poll was initiated from.
  • Election Results
    • The individual receiving the highest number of votes from all votes cast shall be declared the winner.
    • The Election Coordinator will update a Voting Results History Page page with the applicable name, date, and link to the publicly viewable CIVS results.
    • The Election Coordinator will then send an email to the sub-committee mail list and to the tsc mail list. 

Note: Make sure your spam filter does not block mail from civs@cs.cornell.edu or you may not receive a ballot if you are authorized to vote. Ballots can only be resent from the tool, they cannot be sent as a forward from an individual.



The CIVS Voting System

When there is a need to vote on project leadership roles it is recommended to use the Condorcet Internet Voting Service (CIVS) system from Cornell University. The process for each leadership role election will be outlined within the Community Governance wiki page. The Election Coordinator designated would follow the process outlined for each leadership role. 

How to set up CIVS voting:

  • Select "Create A Poll" in the upper right hand corner and fill out the form, selecting the options, and end date/time you want (be specific including time zone) for the poll. 
  • For simplicity, keep the "Completion Method" at the default, select detailed ballot reporting but leave the results anonymous.  
  • Have the results of the poll visible to all who receive an invitation to vote.  
  • Describe the election “Sub-Committee Name Chair Election" for example, then specify the candidates.
  • After you have completed the form, an email will be sent to you, the "Voting Coordinator", with a link you need to actually start and send the poll. 
  • Once the Poll is started go back to the "Poll Control" page and enter the email address of all eligible voters and invite them to vote.
  • That's all there is to it. The email invitations will be sent to the voters you have included.

How to end CIVS voting:

  • When the end-time comes, go back to the "Poll Control" webpage and close the poll. Set a reminder for yourself to do this, it will not end automatically.
  • Once that is done you can see the results of the election. 
  • Send an email to the applicable group mail list indicating the election has concluded and indicate the winner. Along with any other specific leadership role election process requirements.
  • There is a link on the invitation to vote, that points to the election results as well.

Lastly, please record the election results on the Voting Results History page when completed.

  • No labels