Replies: 1 comment
-
This format was briefly discussed during our standup. The conclusions were:
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
rfc-process
Summary
RFC is a workflow for making and recording decisions, which helps to not just document which changes are made but the rationale behind them, as well as give the community opportunity to comment and give feedback on big proposals.
Motivation
For long living projects which is worked on by many different people throughout it's lifecycle, it can be difficult to understand why certain decisions were made and thus not retread old ground, as well as gaining clarity about the intent behind a change. It is also desirable to be easily communicate changes and rationales to stake holders. The RFC process is meant to address these needs.
The RFC is meant to mainly facilitate two processes: making decisions and recording decisions. It provides a framework for aspects involved in big fundamental decisions that both should be taken into account and, ideally recorded for future reference by new contributors or stakeholders.
Finally, as an open source project that is mainly meant to facilitate common workflows for it's users, it is highly desirable to maintain an open communication channel with it's users. RFCs both serve to help users stay informed on the status of tje project as well as give them influence the direction of HydroMT in a way that is useful to them. This way we can make sure that HydroMT actually facilitates the use cases that users have.
The aim of this RFC is to, perhaps ironically, codify the RFC process as an official policy for decision making within the HydroMT core team. This means that large decisions with wide spread impact should go through the RFC process whether they are deemed controversial or not. How the process facilitates these different kinds of proposals will be discussed in the next section.
Guide-level explanation
0000-rc-template
and filling it out, just like this RFC itself.Reference-level explanation
discussion
section, while ADRs should be added to the repository by way of PR.Drawbacks
Rationale and alternatives
Prior art
The RFC process has been adopted by many prominent open source projects or other prominent organisations, including but not limited to:
(note that the above list only contains instances for which public sources/citations were available)
While there has been some public criticism of the RFC process, e.g.
this has been not about the RFC process fundamentally but rather the implementation of it. It should also be noted that the criticism tends to arise in situations where RFCs are both very complex and fairly frequent, neither would apply to HydroMT at this point in time.
Other than that the RFC process is generally well regarded in the software engineering industry as is evidenced by the list of projects and organisations following this workflow (see above).
To emphasise the point there is also a decent amount of literature regarding RFCs, including:
While not technically about RFCs there are also numerous scientific publications ragarding the policies of writi8ng ADRs. ADRs and RFCs are incredibly closely linked to the point that for the purposes of this discussion the author considers them interchangable. Citations include:
Unresolved questions
Future possibilities
N/A
Beta Was this translation helpful? Give feedback.
All reactions