The governance model adopted in Fluid is influenced by many CNCF projects.
- Open: Fluid is an open source community.
- Welcoming and respectful: See Code of Conduct.
- Transparent and accessible: Work and collaboration should be done in public.
- Merit: Ideas and contributions are accepted according to their technical merit and alignment with project objectives, scope and design principles.
-
Curate github issues and review pull requests for other maintainers and the community.
-
Apply all applicable labels to each new issue. Try your best to label issues which are very helpful and set a good example for future issues.
-
Maintainers are expected to respond to assigned Pull Requests in a reasonable time frame.
-
Participate when called upon in the security release process. Note that although this should be a rare occurrence, if a serious vulnerability is found, the process may take up to several full days of work to implement.
-
In general continue to be willing to spend at least 20% of your time working on Fluid (1 day per week).
-
Talk to one of the existing project maintainers to show your interest in becoming a maintainer. Becoming a maintainer generally means that you are going to be spending substantial time (>20%) on Fluid for the foreseeable future.
-
We will expect you to start contributing increasingly complicated PRs, under the guidance of the existing maintainers.
-
We may ask you to do some PRs from our backlog. As you gain experience with the code base and our standards, we will ask you to do code reviews for incoming PRs.
-
After a period of approximately 3 months of working together and making sure we see eye to eye, the existing maintainers will confer and decide whether to grant maintainer status or not. We make no guarantees on the length of time this will take, but 3 months is an approximate goal.
-
If a maintainer is no longer interested or cannot perform the maintainer duties listed above, they should volunteer to be moved to emeritus status.
-
The Fluid community will never forcefully remove a current Maintainer, unless a maintainer fails to meet the principles of Fluid community.
Decisions are made based on consensus between maintainers. In extreme cases, a simple majority voting process is invoked where each maintainer receives one vote.
Proposals and ideas can either be submitted for agreement via a github issue or Pull Request.
In general, we prefer that technical issues and maintainer membership are amicably worked out between the persons involved. If a dispute cannot be decided independently, get a third-party maintainer (e.g. a mutual contact with some background on the issue, but not involved in the conflict) to intercede and the final decision will be made. Decision making process should be transparent to adhere to the principles of Fluid project.
The Fluid Code of Conduct is aligned with the CNCF Code of Conduct.
This document references the GOVERNANCE guide from libvineyard and OpenYurt.