For process overview, please see https://wiki.folio.org/display/TC/RFC+Process
- Fork the official RFC repo at https://github.com/folio-org/rfcs . This is usually only needed once for any number of RFCs to be submitted.
- Create a file in the text directory at the top of the forked repo. It should follow the template defined here. Ensure that the file is named appropriately, taking note of the sequence numbers of existing RFCs.
- Fill in the RFC. Put care into the details: RFCs that do not present convincing motivation, do not demonstrate understanding of the impact of the design, or are disingenuous about the drawbacks or alternatives tend to be poorly-received.
- In the forked repo on GitHub, create a PR comparing the branch where the edited file is located to the master branch of the official RFC repo. At each stage, the name of the pull request should have the name of the RFC phase at the beginning, so for your first draft use "PRELIMINARY REVIEW" in the title like "[PRELIMINARY REVIEW] Java 17" or "PRELIMINARY REVIEW | Java 17". Once your PR is created, your RFC is ready for the first stage of review. Full instructions for preparing PRs for each stage of the RFC process are in the branching guide: https://wiki.folio.org/display/TC/RFC+Branching+Guide
- As a pull request the RFC will receive design feedback from the larger community, and the author should be prepared to revise it in response.
- The Technical Council will assign one or more reviewers to the RFC pull requests and the feedback process will begin. See the wiki for more details: https://wiki.folio.org/display/TC/RFC+Process
Folio’s RFC process owes its inspiration to the Ember and Rust RFC processes.