Projects transcend modules and components, as a Collection of work undertaken to deliver a well-defined goal. The goal can be anything ranging from feature induction, integration activity or support activity defining overall scope of the project.

Induction of new project needs to be brought as a proposal to the TSC.

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.

Committers

All committers from participating modules are listed as project committers.

Each project/module should strive for diversity of Committers representing different organizations as well as individuals. However Committer promotions are based on meritocracy and prioritize project/module contributions above other considerations.

Adding Committers

Removing Committers

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

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

Initial PTL for a project will be specified at project creation

PTL Election Mechanics

PTL Candidates

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

Voter Eligibility

Only Committers for a project are eligible to vote for a project’s Project Technical Lead. TSC will formally induct the PTL to the Project

PTL Election

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

Induction of New Project

Proposal for new projects needs to be submitted for TSC review and approval as per Proposing a new Project (template subjected to approval)

Project Operations

Project Decisions Making Process

TSC is responsible for setting technical TF goals, identifying use cases, setting release guidelines and milestones. It will work with PTLs to develop and maintain project high level and detailed architecture. Project Committers will work within this technical and release guidance to deliver individual projects.

Within the project, Committers should operate by general consensus. If consensus cannot be reached within a reasonable timeframe, 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, and traceable decision making process.

Spec/Blueprint Submission

A blueprint is an initial version of a proposal for the new feature or problem solution proposed in a scope of a Project.

Blueprint proposal can be submitted in scope of a project with following:

Spec/Blueprint Review

All Blueprints needs be discussed/presented over community call. PTL associated with the project is responsible to review and approve the submitted blueprints.

Code Review Submission

Any Contributor submitting a code for review needs to ensure following in the commit message:

Code Review

Code changes submitted will be subjected to review and approval from committers/PTLs of the Project 

* For faster turn arround time, Contributors can choose to split/organise the Code changes in a way to submit separate reviews for individual modules

Release Management

Checkpoints Submitted On-Time

Release manager and PTLs will coordinate to ensure work submissions in projects meets the milestones set as per TSC approved release plans.

Projects must submit the information required for release checkpoints on-time corresponding to associated milestones. Submissions must be correct and adequate, as judged by the release manager and TSC. Inadequate or missing submissions will result in grievance.

PTLs will coordinate with Release Manager to track delays with respect to achieving certain milestones of a project, and propose a plan for any of the following action:

Documentation

Projects are required to produce a user guide, developer guide and release notes for each release.