Hi, all OpenDAL community members OpenDAL has using the RFC (Request for Comments) discussion system for some time now, but we still need to reach a consensus on certain details.
Therefore, I would like to discuss two questions: 1. When we should initiate RFC discussions? 2. How to determine whether to accept an RFC or not? RFC is a proposal mechanism used to introduce new features, architectural changes, or important decisions. When someone has a new idea or suggestion, they can raise awareness and initiate discussions by proposing an RFC. An RFC should include a clear problem statement, objectives and motivations, as well as specific solutions or recommendations. This helps others understand the context and goals of the problem and provides a foundation for meaningful discussions. Regarding when to initiate RFC discussions, I suggest considering the following scenarios: 1. Significant feature changes: When there is an idea or suggestion for a major feature change, initiating an RFC allows for comprehensive discussion and review. This ensures that significant changes are carefully considered and receive broad recognition. 2. Architecture adjustments: If there are suggestions for adjusting or refactoring the project's architecture, RFC can be used to evaluate and discuss the feasibility and impact of these changes. 3. Important decisions: For situations that require important decision-making, RFC provides a platform for brainstorming and allows others to provide their opinions and suggestions, ultimately reaching a consensus. As for determining whether to accept an RFC for discussion and ensuring that RFC discussions are efficient and valuable, I propose the following steps: 1. Idea proposal and pre-review: Before entering the formal discussion phase, we can have a pre-review stage. During this stage, we can carefully examine and evaluate the content of the RFC, raise questions, and provide suggestions. This helps identify potential issues and provides a better foundation for discussion. 2. Discussion and feedback: Once an RFC enters the formal discussion phase, we can initiate a pull request (PR) and engage in in-depth discussions about the content, feasibility, and impact of the RFC. It is encouraged for everyone to actively participate and provide constructive feedback and opinions. This allows for a comprehensive assessment of the merits and feasibility of the RFC. 3. Voting and decision-making: After the discussion phase, we can proceed with voting and decision-making based on the maintainer team's opinions and suggestions. This can be done through a simple majority principle or any other appropriate voting mechanism. The voting results will determine whether the RFC is accepted, and subsequent action plans will be decided accordingly. These are the recommendations I propose regarding RFC discussions. If you have any questions or suggestions regarding RFC discussions, please feel free to raise them. Sincerely, Suyan --- References --- 1. Some RFCs we have accepted: https://opendal.apache.org/docs/rust/opendal/docs/rfcs/index.html 2. Related PRs: https://github.com/apache/incubator-opendal/pulls?page=1&q=is%3Apr++sort%3Aupdated-desc+in%3Atitle+RFC
