Skip to content

Commit 6a940ee

Browse files
authored
Merge pull request #32 from ewels/meta-rfc
An RFC for RFCs
2 parents fb7cbe9 + 0c65562 commit 6a940ee

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

proposals/0001-proposals-rfcs.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
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

Comments
 (0)