Skip to content

Commit 51edbe7

Browse files
authored
🪾 RFC Process (#3)
1 parent ed6aba5 commit 51edbe7

File tree

4 files changed

+88
-4
lines changed

4 files changed

+88
-4
lines changed

‎compass.md‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ This compass serves as a guide for:
2020

2121
The OXA Steering Council is responsible for strategic direction, governance decisions, and ensuring the long-term health of the OXA project.
2222

23-
### Current Members
23+
(steering-council-members)=
24+
25+
### Steering Council - Current Members
2426

2527
- **Nokome Bentley** ([\@nokome](https://github.com/nokome)) — Steering Council Member
2628
- **Rowan Cockett** ([\@rowanc1](https://github.com/rowanc1)) — Steering Council Member

‎myst.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ project:
2323
- title: Request For Comments
2424
children:
2525
- file: rfc.md
26+
- file: rfc-process.md
2627
- title: Meetings
2728
children:
2829
- file: meetings.md

‎rfc-process.md‎

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
title: RFC Process
3+
---
4+
5+
Below is an overview of the RFC process[^mep], it is designed to be simple and structured as well as help document the evolving decisions and scope for OXA.
6+
7+
[^mep]: This process is based on MyST Enhancement Proposals (<https://mep.mystmd.org>) and others in the Jupyter and Python ecosystem.
8+
9+
## Step 1: Open an Issue
10+
11+
Open an issue in [oxa-dev/rfc](https://github.com/oxa-dev/rfc) and discuss in Discord. The issue should roughly describe the proposal and help others understand your idea and get informal alignment around it. It will also serve as an early signal if the proposal is not well-suited for the RFC process, saving you from investing too much time!
12+
13+
## Step 2: Open a Pull Request
14+
15+
Use a Markdown template below to structure your proposal. Here's a proposed template:
16+
17+
```yaml
18+
---
19+
title: Title of the RFC
20+
---
21+
22+
## Context
23+
24+
<!-- provide context needed to understand this proposal. Describe the problem or opportunity that this RFC addresses. -->
25+
26+
## Proposal
27+
28+
<!-- describe your proposed change in concrete terms. Include a layperson's description of this change if relevant. -->
29+
30+
## Examples
31+
32+
<!-- provide examples of what this change would look like in the real world (e.g., code examples, API designs, architecture diagrams). -->
33+
34+
<!-- reference other examples you're using for inspiration or to help others learn and understand the proposal. -->
35+
36+
## Implementation implications
37+
38+
<!-- describe how this would improve the system or functionality. Describe any deprecations or migration steps that would be needed. -->
39+
40+
## Questions or Objections
41+
42+
<!-- as conversation takes place, list common questions/objections with responses. -->
43+
```
44+
45+
Update the `myst.yml` in the folder to include the RFC authors, date. Repeat authors can be added to the `rfc.yml`. Look to the initial RFC for a guide. The Steering Council should do a quick review, and add a `draft` label to the Pull Request. A comment will appear with the draft of the rendered content.
46+
47+
## Step 3: Discuss and Iterate
48+
49+
Invite discussion from others in the community, incorporate new ideas and improve the clarity of the RFC. Discussion can take place in the GitHub Pull Request, in the [Discord](https://discord.oxa.dev) `#rfc` channel, or in other appropriate forums.
50+
51+
## Step 4: Activate Decision Making
52+
53+
Once the proposal has stabilized and the author wishes to move forward, do the following:
54+
55+
- The [Steering Council](#steering-council-members) changes to an `active` label to the Pull Request.
56+
- The [Steering Council](#steering-council-members) should review the RFC and approve if they wish to accept it.
57+
- To approve, click `Approve` the GitHub Pull Request UI.
58+
- To request blocking changes, then click `Request Changes` in the GitHub UI.
59+
- An RFC may be accepted when the following conditions are met:
60+
- More than five (5) weekdays have passed since the proposal was marked as `active`.
61+
- At least two `PR Approvals` from [Steering Council](#steering-council-members).
62+
- No `Request Changes` from a Steering Council member.
63+
- If there are **unresolved objections** (via `Request Changes` in GitHub)
64+
- The RFC author may restart the decision making process after incorporating feedback to resolve the objection.
65+
- The RFC author or the Steering Council may also set the label to `rejected`, and merge to maintain a record for the community.
66+
- When accepted, merge the Pull Request and close the issue. 🎉
67+
68+
## Step 5: Implement the RFC
69+
70+
When an RFC has been accepted, work can begin on implementation.
71+
Implementation should follow the project's standard [development practices](./practices.md).

‎rfc.md‎

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,21 @@
22
title: Request For Comment Process
33
---
44

5-
### Proposals
5+
The OXA Request For Comment (RFC) process is the primary way for the OXA community to propose, discuss, and decide on significant changes to technical standards, workflows, or governance. It provides a structured path to reaching consensus on new ideas, documenting decisions, and engaging the wider community in project direction.
66

7-
Proposals are discussed in the [RFC](https://github.com/oxa-dev/rfc) repository and in the [Discord](https://discord.oxa.dev) `#rfc` channel. See the [RFC](https://github.com/oxa-dev/rfc) repository for more detailed discussions.
7+
### Goals of the RFC Process
88

9-
### List of RFCs
9+
- **Transparency:** Ensure that all major decisions are made openly and with input from the community.
10+
- **Inclusivity:** Encourage participation from all stakeholders—researchers, developers, publishers, and users—regardless of background or expertise.
11+
- **Structured Decision-Making:** Provide a standardized, documented workflow for proposing, discussing, and approving changes, so decisions don’t get lost or made ad hoc.
12+
- **Record Keeping:** Maintain a clear, open record of the rationale for decisions, proposals made, and the history of project evolution.
13+
- **Continuous Improvement:** Facilitate ongoing dialogue to improve OXA standards and practices as needs and technologies evolve.
14+
15+
## Proposals
16+
17+
Proposals are discussed in the [RFC](https://github.com/oxa-dev/rfc) repository and in the [Discord](https://discord.oxa.dev) `#rfc` channel. See the [RFC](https://github.com/oxa-dev/rfc) repository for more detailed discussions. All RFCs go through a [decision making process](./rfc-process.md) to be accepted and implemented.
18+
19+
## List of RFCs
1020

1121
```{cn:articles}
1222
:venue: oxa

0 commit comments

Comments
 (0)