diff --git a/community-membership.md b/community-membership.md new file mode 100644 index 0000000000000000000000000000000000000000..4035b42424c389c8ed2ae4d9211836c25e268a00 --- /dev/null +++ b/community-membership.md @@ -0,0 +1,118 @@ +:# KubeEdge community membership + +**Note :** This document keeps changing based on the status and feedback of KubeEdge Community. + +This document gives a brief overview of the KubeEdge community roles with the requirements and responsibilities associated with them. + +| Role | Requirements | Responsibilities | Privileges | +| -----| ---------------- | ------------ | -------| +| [Member](#member) | Sponsor from 2 approvers, active in community, contributed to KubeEdge | Welcome and guide new contributors | KubeEdge GitHub organization Member | +| [Approver](#approver) | Sponsor from 2 maintainers, has good experience and knowledge of domain, actively contributed to code and review | Review and approve contributions from community members | Write access to specific packagies in relevant repository | +| [Maintainer](#maintainer) | Sponsor from 2 owners, shown good technical judgement in feature design/development and PR review | Participate in release planning and feature development/maintenance | Top level write access to relevant repository. Name entry in Maintainers file of the repository | +| [Owner](#owner) | Sponsor from 3 owners, helps drive the overall KubeEdge project | Drive the overall technical roadmap of the project and set priorities of activities in release planning | KubeEdge GitHub organization Admin access | + + +**Note :** It is mandatory for all KubeEdge community members to follow KubeEdge [Code of Conduct]. + +## Member + +Members are active participants in the community who contribute by authoring PRs, +reviewing issues/PRs or participate in community discussions on slack/mailing list. + + +### Requirements + +- Sponsor from 2 approvers +- Enabled [two-factor authentication] on their GitHub account +- Actively contributed to the community. Contributions may include, but are not limited to: + - Authoring PRs + - Reviewing issues/PRs authored by other community members + - Participating in community discussions on slack/mailing list + - Participate in KubeEdge community meetings + + +### Responsibilities and privileges + +- Member of the KubeEdge GitHub organization +- Can be assigned to issues and PRs and community members can also request their review +- Participate in assigned issues and PRs +- Welcome new contributors +- Guide new contributors to relevant docs/files +- Help/Motivate new members in contributing to KubeEdge + + +## Approver + +Approvers are active members who have good experience and knowledge of the domain. +They have actively participated in the issue/PR reviews and have identified relevant issues during review. + + +### Requirements + +- Sponsor from 2 maintainers +- Member for at least 2 months +- Have reviewed good number of PRs +- Have good codebase knowledge + + +### Responsibilities and Privileges + +- Review code to maintain/improve code quality +- Acknowledge and work on review requests from community members +- May approve code contributions for acceptance related to relevant expertise +- Have 'write access' to specific packages inside a repo, enforced via bot +- Continue to contribute and guide other community members to contribute in KubeEdge project + +## Maintainer + +Maintainers are approvers who have shown good technical judgement in feature design/development in the past. +Has overall knowledge of the project and features in the project. + +### Requirements + +- Sponsor from 2 owners +- Approver for at least 2 months +- Nominated by a project owner +- Good technical judgement in feature design/development + +### Responsibilities and privileges + +- Participate in release planning +- Maintain project code quality +- Ensure API compatibility with forward/backward versions based on feature graduation criteria +- Analyze and propose new features/enhancements in KubeEdge project +- Demonstrate sound technical judgement +- Mentor contributors and approvers +- Have top level write access to relevant repository (able click Merge PR button when manual check-in is necessary) +- Name entry in Maintainers file of the repository +- Participate & Drive design/development of multiple features + +## Owner + +Owners are maintainers who have helped drive the overall project direction. +Has deep understanding of KubeEdge and related domain and facilitates major agreement in release planning + +### Requirements + +- Sponsor from 3 owners +- Maintainer for at least 2 months +- Nominated by a project owner +- Not opposed by any project owner +- Helped in driving the overall project + +### Responsibilities and Privileges + +- Make technical decisions for the overall project +- Drive the overall technical roadmap of the project +- Set priorities of activities in release planning +- Guide and mentor all other community members +- Ensure all community members are following Code of Conduct +- Although given admin access to all repositories, make sure all PRs are properly reviewed and merged +- May get admin access to relevant repository based on requirement +- Participate & Drive design/development of multiple features + + +**Note :** These roles are applicable only for KubeEdge github organization and repositories. Currently KubeEdge doesn't have a formal process for review and acceptance into these roles. We will come-up with a process soon. + +[Code of Conduct]: https://github.com/kubeedge/kubeedge/blob/master/CODE_OF_CONDUCT.md +[two-factor authentication]: https://help.github.com/articles/about-two-factor-authentication