|
| 1 | +- Start Date: 2025-05-26 |
| 2 | +- Reference Issues: https://github.com/nf-core/proposals/issues/30 |
| 3 | +- Implementation PR: https://github.com/nf-core/website/pull/3367 |
| 4 | + |
| 5 | +> [!NOTE] |
| 6 | +> This is the first ever nf-core RFC and a bit of a special case. This issue comes after discussion with the @nf-core/core and some initial drafting work in Google Docs. I have copied out relevant chunks of what we have written into this issue and will port over the rest of the details into a PR once the issue is approved - as per the new proposed RFC procedure! |
| 7 | +
|
| 8 | +# Summary |
| 9 | + |
| 10 | +The nf-core ‘Request for Comment’ (RFC) process is designed to give the community a voice and visibility to large projects that affect the entire community. |
| 11 | + |
| 12 | +<dl><dt>RFC (Request for Comment):</dt> |
| 13 | +<dd>A formal proposal submitted for discussion, typically involving significant changes or new features. An RFC outlines the motivation, requirements, and steps necessary for implementation, and invites feedback and collaboration from the community before a final decision is made.</dd> |
| 14 | + |
| 15 | +<dt>Proposal champion:</dt> |
| 16 | +<dd>An individual who takes ownership of advancing a proposal through the RFC process. This role is self-nominated and open to anyone, including both project maintainers and other community members. The champion may be the original author of the proposal or someone who joins later. Responsibilities include drafting the detailed RFC, managing and integrating community feedback, and helping to guide the implementation of the proposal.</dd> |
| 17 | +</dl> |
| 18 | + |
| 19 | +# Champion |
| 20 | + |
| 21 | +[@ewels](https://github.com/ewels) |
| 22 | + |
| 23 | +# Background & Motivation |
| 24 | + |
| 25 | +Until now, major nf-core projects have been discussed and agreed upon by the @nf-core/core team, sometimes reaching out to @nf-core/maintainers and other groups as necessary. Once approved, work proceeds and in some cases those who are affected in the community only find out about projects once the changes go live. |
| 26 | + |
| 27 | +We want to improve visibility and transparency around such projects so that community members are aware of potential upcoming projects and have the ability to comment, contribute and shape them before they come into effect. |
| 28 | + |
| 29 | +Not every project in nf-core requires an RFC. The process should only be used for efforts that will affect a significant proportion of community members. For example: |
| 30 | + |
| 31 | +- Changes to established development / code standardisation |
| 32 | +- Creation of new nf-core fundamental product / initiative |
| 33 | +- Changes to base dependencies and requirements that span many pipelines |
| 34 | + |
| 35 | +As a rule of thumb, if a proposal will require changes across two or more different repositories, it is a good candidate for an RFC. Projects that are smaller in scope should typically be raised as a new issue on the relevant GitHub repository instead. |
| 36 | + |
| 37 | +# Goals |
| 38 | + |
| 39 | +- Improve visibility of upcoming nf-core projects that affect much of the community |
| 40 | +- Provide venue for open feedback and discussion before implementation of projects |
| 41 | + |
| 42 | +# Non-Goals |
| 43 | + |
| 44 | +- Excess bureaucracy where it is not warranted |
| 45 | +- Increased barriers for contribution |
| 46 | + |
| 47 | +# Detailed Design |
| 48 | + |
| 49 | +Should be implemented primary as documentation in the nf-core/website repository. |
| 50 | +Proposals themselves will need two new slack channels: `#rfc-suggestions` for informal early discussion, |
| 51 | +and `#new-rfcs` for notification about issues submitted in the nf-core/proposals repository. |
| 52 | + |
| 53 | +In the case of this RFC, the rest of the detailed design is in the documentation. |
| 54 | +In order to not duplicate efforts, please read and comment directly in https://github.com/nf-core/website/pull/3367 |
| 55 | + |
| 56 | +# Drawbacks |
| 57 | + |
| 58 | +- More process and bureaucracy can create additional work |
| 59 | +- Additional formality may put people off from suggesting ideas |
| 60 | + |
| 61 | +# Alternatives |
| 62 | + |
| 63 | +- Continue as we are informally, though this approach is already showing signs of not scaling well |
| 64 | + |
| 65 | +# Adoption strategy |
| 66 | + |
| 67 | +- Initial "meta-RFC" for the RFC process itself |
| 68 | +- Several upcoming projects have already been flagged as being suitable for an RFC |
| 69 | +- Core team nurture these initial RFCs and monitor process, adapt protocol as necessary |
| 70 | +- Blog post + message on `#announcements` when the website documentation is complete. |
| 71 | + |
| 72 | +# Unresolved Questions |
| 73 | + |
| 74 | +- Whether the multi-step process (especially issue + PR) is suitable. |
| 75 | +- Whether people understand the differences between steps and what is expected. |
| 76 | + |
| 77 | +# References |
| 78 | + |
| 79 | +- Slack discussion (core-team channel) |
| 80 | +- Reference Issues: https://github.com/nf-core/proposals/issues/30 |
0 commit comments