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.
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.
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.
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.
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
Candidates for the project’s Project Technical Leader will be derived from the Committers of the Project. Candidates must self nominate.
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
An election for Project Technical Leader occurs when any of the following are true:
Proposal for new projects needs to be submitted for TSC review and approval as per Proposing a new Project (template subjected to approval)
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.
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:
All Blueprints needs be discussed/presented over community call. PTL associated with the project is responsible to review and approve the submitted blueprints.
Any Contributor submitting a code for review needs to ensure following in the commit message:
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 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:
Projects are required to produce a user guide, developer guide and release notes for each release.