Governance of project Genesis
Participants in project Genesis agree to the following governance:
Participation in Genesis
- Genesis participation:
- Projects which provide/create a deployment tool for OPNFV can choose to participate in Genesis requirements definition. A project which plans to join Genesis needs to formally apply for participation (see "procedure to join Genesis" below). The filled-in application form has to be signed by the project lead of the applying project and will be stored in the genesisreq repository for reference.
- Projects which choose to participate in Genesis have to support the requirements defined by Genesis. "Support of a requirement" means that the required functionality is supported in the target release identified.
- A project which participates in Genesis, but fails to support the requirements defined by Genesis for an upcoming release will be excluded from Genesis. Support of defined requirements by the participating projects will be assessed by the committers of the Genesis project in a dedicated review meeting at the RC0 milestone of an upcoming OPNFV release. Failure to support the requirements defined by Genesis for the upcoming release results in removal of the project from Genesis; committers can overrule exclusion by a majority vote of all committers.
- A project can choose to stop participating in Genesis at any time. If a project withdraws its participation in Genesis, the committer representing the participating deployment tool project will also be removed from the list of committers of Genesis.
- Genesis committers:
- Projects which participate in Genesis are represented by their lead committer/project lead in the Genesis project.
- Committers of the Genesis project will elect a committer from the newly joined project to become a committer on the Genesis project following the usual OPNFV procedures. It is expected that typically the lead committer/project lead of a participating project will be the primary choice to become a committer on the Genesis project.
- Genesis' list of committers is defined as the set of lead committers of the participating project and the Genesis project lead; i.e. there are no other committers than the individual lead committers of the participating project leads as well as the Genesis project lead.
- The Genesis project intends to have at most one committer per company represented on the project.
- Genesis contributors:
- Contribution to Genesis is open to everyone.
Documenting requirements and finding agreement
- All requirements defined by Genesis will be documented in the genesisreq repository.
- Requirements will be associated with a specific target release of OPNFV.
- Requirements have to be supported by all projects participating in Genesis.
- New contributions (provided through a patch) will only be merged into the genesisreq repository if an absolute majority* of all committers of the Genesis project have reviewed the patch in Gerrit and responded with a "+1". Note that all committers are expected to vote on all patches (+1 = agree, 0 = abstain, -1 = disagree).
Procedure to join Genesis
A deployment project, referred to as "deployment tool" below, can join "Genesis" as follows:
The project lead/lead-committer of project "deployment tool" sends a signed email to the Genesis project leadership, copying the email@example.com mailing list. The email needs to include the following:
Herewith project "deployment tool" requests to join the Genesis project. The "deployment tool" project agrees to the principles of the Genesis project and the associated project governance defined in wiki.opnfv.org/genesis/governance. Specifically, the "deployment tool" project will participate in requirements definition and implement the requirements jointly defined by the Genesis project.
The Genesis project (the project lead or any other committer) will acknowledge receiving the application and initiate a vote selecting a committer for the newly joining project. A copy of the application will be stored for future reference in the genesisreq repository. The newly elected committer representing the newly added "deployment tool" will be added to the list of Genesis committers.