Changes should be suggested as inline comments and have to be agreed in the TSC.
The Anuket Technical Community consists of multiple sub-projects and a Technical Steering Committee (TSC) that oversees all sub-projects.
2. Community election procedure
Community election procedure is described here: Community Election Procedure
3. Sub-project Management
The Anuket Project will at any given time consist of a set of sub-projects.
A sub-project is created by the Anuket TSC as a development or specification (e.g., code, Reference Model or Reference Architectures) work item, and has a defined scope beginning, end and resources. In this document, Anuket Project will be used for the LFN project while, hereafter, project, without the qualifier Anuket, will be used to refer to a sub-project.
The success of a project shall require several active participants drawn from a variety of organisations. Participants can have specific roles on the project.
A Contributor is someone who contributes to a project. Contributions can take the form of requirements, specifications, code, or other artifacts (collectively hereafter artifacts).
For each project, Reviewers review, ask for changes and approve the artifacts. Anyone can review, comment and approve the artifacts.
An artifact is considered to have been “Approved” if the artifact has been reviewed according to the rules of its sub-project.
For each project, there is a set of Committers approved for the right to commit to the version control 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.
- Once the project passed the Creation Review its committers have a sustained record of contributions to the project.
184.108.40.206. Adding Project Committers
- The Committers for a project select and vote for new Committers for that project.
220.127.116.11. Removing Committer
A Committer may voluntarily resign from a project by making a request to the project team lead (PTL) to resign (via email@example.com mailing list).
- If the PTL or any Committer for that project is a voting member of the Anuket TSC then they shall recuse themselves from voting in the Anuket TSC.
- A simple majority of the Anuket TSC members in attendance, if there is a quorum, is required to overturn the decision of the project’s Committers.
3.1.4. Project Technical Leader
The project PTL are the leaders and de facto spokesperson for the project. As leaders, PTLs are responsible for:
- steering the work towards a successful conclusion
- ensuring that the work benefits from a wide spectrum of views
- ensuring a consensus-based approach, as much as is possible, in achieving decision
- organizing and conducting meetings with the objective of furthering the project objectives
- ensuring quality of deliverables
18.104.22.168. PTL Election Procedures
In case of a vacancy for a PTL position or two weeks prior to the end of the term of the current position holder:
- The sub-project is initially created or reactivated;
- The PTL resigns; the active contributors of that sub-project shall elect
- First week of November (for next year); the active contributors of that sub-project shall elect
22.214.171.124. PTL Term
- The term for a PTL shall follow the term of the TSC, therefore should end on the first Saturday of January.
126.96.36.199. PTL Candidates
Candidates for PTL may self-nominate or be nominated by any Anuket participant.
188.8.131.52. PTL removal
A PTL can be removed by a 2/3rd vote of all TSC members if the TSC has received reports that the PTL:
- is absent without notification to the TSC and the project for more than 2 weeks
- has been ignoring their responsibilities including not holding a project meeting for more than 4 weeks
- TSC determines that the PTL is in violation of the LFN Code of Conduct
3.2. Decision Making Process
Project technical and release decisions shall be made by consensus of the Reviewers and Committers of that project participating in meetings organized for that purpose. If consensus cannot be reached, the issues are escalated for discussion at a public forum available for Anuket project participants (e.g.: Anuket mailing lists, chat channels or the Anuket Weekly Technical Meetings). If all fails, the issues are escalated to the Anuket TSC for decision.
3.3. Sub-project lifecycle
The activities of the Community are organized into sub-projects targeting different areas within the scope of Anuket. These sub-projects might fall into several categories, specification and requirements documentation, code or testing functions. The lifecycle of each of these types of sub-projects will vary depending on the nature of the sub-project. These sub-project might include, but not be limited to requirements gathering, and specification documentation, development of upstream code, integration of platform components, support functions to create and maintain the infrastructure and the development and maintenance of the toolchains.
Source of the figure: Sub-project lifecycle v1.pptx
|Proposal||Sub-project doesn’t really exist yet, may not have real resources, but is proposed and is expected to be created due to needs.|
|Incubation||Sub-project has resources and it in the process of being developed, but does not have enough artifacts or features to be functional or be in line with the Anuket releases in a stable manner.|
|Mature||Sub-project is fully realized and stable, might have on-going releases with new features or specifications over time.|
|Archived||Sub-project has been recognized as dead (could be for a variety of reasons, e.g. sub-project successfully accomplished its goals, sub-project failed, etc.), and has been archived as it is no longer an on-going sub-project.|
Reviews & Metrics
Sub-project promotion, and demotion, across states can only be done by TSC review and voting. During the reviews the candidate sub-projects are evaluated based on predefined metrics and KPIs. The target numbers may vary for the different levels and nature of the sub-project type.
- Proposal posted for two weeks to the TSC mailing list:
- Sub-project contact name and email
- Identify any changes to the scope of the original sub-project proposal.
- Justify reactivating the sub-project, including discussing why the sub-project was terminated and what has changed.
- Explain what the sub-project intends to accomplish if it is reactivated.
- Resources committed
- Contributors identified
- Initial list of committer identified (elected/proposed by initial contributors)
- Meets Board of Directors (BoD) policy (e.g.: IPR)
- Proposal has been socialized with potentially interested or affected sub-projects and/or parties
- In the case where a sub-project will require changes in other sub-projects, those sub-projects are listed in the proposal, and a sponsoring developer in the sub-project has been identified
- Review by TSC: Confirm that the proposal is complete and the above listed requirements are met.
- Simple majority approval by voting TSC members
3.4. Release Process
The Anuket TSC decides on the bi-annual release dates and the entire release cadence and calendar for the release process. Sub-projects shall publish a Release Plan at the beginning of a release cycle. The Release Plan shall have certain common tasks whose duration shall be fixed by the Anuket TSC:
- Release Deliverables
- Release Milestones
- Expected Dependencies on other sub-projects
- Compatibility with Previous Release
- Themes and Priorities
- Features delivered
- Open Issues (if any)
- Quality Assurance (test coverage, etc.)
- End-of-Support/End-of-life (EOS/EOL) API/Features
- Summary of Outstanding Bugs
- Summary of Standards Compliance
- Delta between planed schedule and actual schedule
Amendments to this Anuket Project Operations and Procedures document can only be made by a majority vote of all TSC members, except that changes to any voting mechanism and requirements shall require a two-thirds (2/3rd) vote of the entire TSC members.