Most changes, including bug fixes and documentation improvements can be implemented and reviewed via the normal GitHub pull request workflow.
Some changes though are "substantial", and we ask that these be put through more of a design process to produce a consensus. The "RFC" (request for contributions) process is intended to provide a consistent and controlled way for Umbraco HQ and community to collaborate on important decisions on the codebase.
This repository is intended to be used for reviewing submitted RFCs. The process of submitting RFCs is currently under review so if you wish to submit your own RFC please wait for further guidance.
- Fork this repository
- Copy {tempate-name} to /{product}/0000-my-feature.md (where 'my-feature' is descriptive. Don't assign an RFC number yet). For example: /CMS/0000-dotnetCore.md
- Fill in the RFC. Put care into the details ensuring to provide information. RFCs that do not present convincing motivation, demonstrate understanding of the impact of the design, or are disingenuous about the drawbacks or alternatives tend to be poorly-received.
- Submit a pull request. 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.
- An RFC may be rejected by the team after public discussion has settled and comments have been made summarizing the rationale for rejection. A member of the team should then close the RFCs associated pull request.
- An RFC may be accepted at the close of its final comment period. A team member will merge the RFCs associated pull request, at which point the RFC will become 'active'.
When an RFC is accepted then the process of implementing it may begin in the code repository. Being accepted does not imply anything about the priority of having it implemented and doesn't necessarily indicate that it's in active development.
Modifications to active RFCs can be done in followup PRs.
Umbraco's RFC process is inspired by the React RFC process, Rust RFC process, and IETF RFC documents