The Invenio RFC process (Request For Comments) is a communication tool with the purpose to:
- coordinate the design process
- document design decisions
- produce consensus among Invenio stakeholders
- Open a new issue - documenting,
You need to write a RFC to make substantial changes to Invenio. A substantial change could be:
- Adding/removing larger features and/or modules.
- Changing existing features/APIs.
- Changes of design patterns, idiomatic usage or conventions.
You do not need a RFC for:
- Modules/features you develop privately (you only need it, if you want it as an official Invenio module).
If in doubt, just ask on Gitter.
RFCs are per product:
The RFCs are not meant to be a heavy long process, but rather as an aid to communicate between geographically dispersed teams as well as to document Invenio development so that we can avoid knowledge loss when people leaves and ease knowledge transfer when people joins.
- Fork this repository.
- Copy
0000-template.md
to<product>/0000-<my-title>.md
. - Fill in the RFC.
- Submit a pull request
- Update your pull request:
- Rename your
<product>/0000-<my-title>.md
to<product>/<pull request id with leading zeros>-<my-title>.md
(e.g.rdm/0012-persistent-identifiers.md
). - Add a link to the pull request inside the pull request.
- Rename your
The decision process on RFCs have not yet been decided. The plan is to gain practical experience from the Invenio RDM project and decide on a process by latest July 2020.
Ideas is very welcome (write them on inveniosoftware#1).
The Invenio RFC process owes it's inspiration to the Ember RFC process.