This is a stripped-down version of the Kubernetes Community Membership process.
Although we aspire to follow the Kubernetes process, some parts are not currently relevant to our structure or possible with our tooling:
This doc outlines the various responsibilities of contributor roles in Submariner.
Role | Responsibilities | Requirements | Defined by |
---|---|---|---|
Member | Active contributor in the community | Sponsored by 2 committers, multiple contributions to the project | Submariner GitHub org member |
Committer | Approve contributions from other members | History of review and authorship | CODEOWNERS file entry |
Owner | Set direction and priorities for the project | Demonstrated responsibility and excellent technical judgement for the project | Submariner-owners GitHub team member and * entry in all CODEOWNERS files |
New contributors should be welcomed to the community by existing members, helped with PR workflow, and directed to relevant documentation and communication channels.
We require every contributor to certify that they are legally permitted to contribute to our project. A contributor expresses this by consciously signing their commits, and by this act expressing that they comply with the Developer Certificate Of Origin.
Established community members are expected to demonstrate their adherence to the principles in this document, familiarity with project organization, roles, policies, procedures, conventions, etc., and technical and/or writing ability. Role-specific expectations, responsibilities, and requirements are enumerated below.
Members are continuously active contributors in the community. They can have issues and PRs assigned to them and participate through GitHub teams. Members are expected to remain active contributors to the community.
Defined by: Member of the Submariner GitHub organization.
[email protected]
submariner-io/submariner
repo
+1
Note: Members who frequently contribute code are expected to proactively perform code reviews and work towards becoming a committer.
Members can be removed by stepping down or by two thirds vote of Project Owners.
Committers are able to review code for quality and correctness on some part of the project. They are knowledgeable about both the codebase and software engineering principles.
Until automation supports approvers vs reviewers: They also review for holistic acceptance of a contribution including: backwards / forwards compatibility, adhering to API and flag conventions, subtle performance and correctness issues, interactions with other parts of the system, etc.
Defined by: Entry in a CODEOWNERS file in a repo owned by the Submariner project.
Committer status is scoped to a part of the codebase.
The following apply to the part of codebase for which one would be a committer in a CODEOWNERS file:
submariner-io/submariner
repo
+1
The following apply to the part of codebase for which one would be a committer in a CODEOWNERS file:
Committers can be removed by stepping down or by two thirds vote of Project Owners.
Project owners are the technical authority for the Submariner project. They MUST have demonstrated both good judgement and responsibility towards the health the project. Project owners MUST set technical direction and make or approve design decisions for the project - either directly or through delegation of these responsibilities.
Defined by: Member of the submariner-owners
GitHub team and *
entry in all CODEOWNERS files.
Unlike the roles outlined above, the owners of the project are typically limited to a relatively small group of decision makers and updated as fits the needs of the project.
The following apply to people who would be an owner:
Removal of Project Owners is currently frozen except for stepping down or violations of the Code of Conduct. This is a temporary governance step to define a removal process for extreme cases while protecting the project from dominance by a company. Once the Submariner community is diverse enough to replace Project Owners with an elected governance system, the project should do so. If the project hasn’t replaced Project Owners with elected governance by June 1st 2023, and if there are committers from at least three different companies, the project defaults to replacing Project Owners with a Technical Steering Committee elected by OpenDaylight’s TSC Election System with a single Committer at Large Represented Group (defined below) and a 49% company cap.
Min Seats: 5
Max Seats: 5
Voters: Submariner Committers
Duplicate Voter Strategy: Vote-per-Person
The following apply to people who would be an owner: