Skip to content
This repository has been archived by the owner on Nov 10, 2022. It is now read-only.

RFC00000: First version of an RFC process, based on Aries and Rust #1

Merged
merged 1 commit into from
Feb 27, 2020

Conversation

axelsimon
Copy link
Collaborator

This modifies/adds four files:

  • README, which contains the general description of the RFC process
  • contributing, which explains the process more pragmatically
  • a template, for submitters to fill
  • a picture, describing the process and used in the README

This process is heavily taken from Hyperledger Aries and the Rust language (leaning more towards Aries, which is itself based on the Rust process), but adapted to our needs and the current level of maturity of Enarx.

I expect this to create some discussion, so please do comment and suggest changes.
My main fear is that this is too involved a process.

@axelsimon axelsimon added documentation Improvements or additions to documentation enhancement New feature or request labels Jan 31, 2020
@axelsimon axelsimon self-assigned this Jan 31, 2020
Copy link
Contributor

@lkatalin lkatalin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the template is useful and the write-up is very thorough and seemed pretty clear. The set of instructions about making a PR and choosing your numbering scheme, etc., is somewhat complex and might serve as a deterrent. Does the Rust RFC also use this same PR-based method? I haven't gone through that process, so if it's similar then this probably works as well.

contributing.md Outdated Show resolved Hide resolved
contributing.md Outdated
Comment on lines 23 to 42
- Fork [the RFC repo](https://github.com/enarx/rfc).
- Pick a descriptive folder name for your RFC. Don't pick a number yet.
- Decide which parent folder is appropriate for your RFC.
If it is about a specific protocol or decorator or feature, its parent
should be /features; if it is about a concept that will be used in many
different features, its parent should be /concepts.
- Create the folder and copy `0000-template.md` to `<parent>/<your folder name>/README.md`.
- Fill in the RFC. [Use MUST and SHOULD per standard conventions](https://tools.ietf.org/html/rfc2119). Put care into the details:
RFCs that do not present convincing motivation, demonstrate an understanding of the impact of the
design, or are disingenuous about the drawbacks or alternatives tend to be
poorly received. You can add supporting artifacts, such as diagrams and sample
data, in the RFC's folder.
- Consider how the RFC should be [tagged](/tags.md).
- Assign a number to your RFC. Get the number by inspecting open and closed PRs against
this repo to figure out what the next PR number will be). Rename your folder from
`<your folder name>` to `<your 4-digit number>-<your folder name>`. At the
top of your README.md, modify the title so it is in the form: `<your 4-digit
number>: Friendly Version of Your Title`. Commit your changes.
- Commit the updated version of /index.md and push your changes.
- Submit a pull request.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If anything, I think this is where people would get lost or do something incorrectly; wondering if there is any way to make this more streamlined / intuitive and not require so many instructions (although there may not be). At least we can always request changes on a PR.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Related thought: is it feasible to have some type of CI tests for this whole process to make sure people did do it correctly?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This feels too complex. How about modelling on the Rust template? https://github.com/rust-lang/rfcs/blob/master/0000-template.md

Copy link
Collaborator Author

@axelsimon axelsimon Feb 10, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

contributing.md is supposed to be the file that helps you fill in the template file (0000-template.md). Rust doesn't use it though, only Aries, but it does feel too complex, i agree.

I've tried to simplify it and make it a numbered list that is easy to follow and will actually help people fill the template.

0000-template.md Outdated Show resolved Hide resolved
Copy link

@connorkuehl connorkuehl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0000-template.md Outdated Show resolved Hide resolved
0000-template.md Outdated Show resolved Hide resolved
contributing.md Outdated Show resolved Hide resolved
contributing.md Outdated Show resolved Hide resolved
contributing.md Outdated Show resolved Hide resolved
contributing.md Outdated Show resolved Hide resolved
contributing.md Outdated Show resolved Hide resolved
0000-template.md Outdated Show resolved Hide resolved
Copy link
Contributor

@mbestavros mbestavros left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly grammatical nitpicks from me. Otherwise, this process makes a lot of sense. The structure the template provides will be super helpful for fleshing out a detailed proposal -- I find that's often something that holds me up.

If anything, I think I'll echo the sentiments I've heard saying it's important to ensure the PR process isn't too cumbersome. That should not be something that takes a whole lot of time.

Perhaps something we could consider for the RFC number is just using the PR number assigned by Github (ex. this one would be 00001, since it's PR #1 on the repo.)

I will defer approval to others, but I think this is a good start.

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
00000-template.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
contributing.md Outdated Show resolved Hide resolved
@axelsimon
Copy link
Collaborator Author

I've incorporated all suggested changes and pushed a new version of the PR.

Many thanks to all of you for taking the time to read through these documents as carefully as you did and making suggestions and corrections, it's really nice to see everyone getting behind this RFC process :)

@axelsimon
Copy link
Collaborator Author

@connorkuehl, @mbestavros you were the last to have requested changes or made comments in that general direction. Does everything look good to you? I'd like to merge this if so :)

@axelsimon
Copy link
Collaborator Author

Pinging @npmccallum too as he expressed a strong interest in checking this PR out.

Copy link

@connorkuehl connorkuehl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this very much. Thank you, @axelsimon!

@axelsimon axelsimon requested review from npmccallum and removed request for npmccallum February 21, 2020 15:07
Copy link
Contributor

@npmccallum npmccallum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is all very good. Thank you to everyone who contributed. In fact, I'm pleased to see so many directly involved.

I particularly liked @mbestavros's idea of using the PR# for the RFC number. This guarantees both uniqueness and numeric increase. It also means that we can write a test to validate the correct RFC number to prevent human error. Therefore, this is the only change I'd like to see adopted at this point.

@axelsimon
Copy link
Collaborator Author

Funny you should mention that as i was at a matrix meetup yesterday and as i realised that their MSC (matrix spec changes) process uses this same system, and thought we should do the same.
So yes, very much agreed. Will make the needed changes and then push this.

Includes multiple suggestions, corrections and improveents from members of the team.

This modifies/adds five files:
- README, which contains the general description of the RFC process
- contributing, which explains the process more pragmatically
- a template, for submitters to fill
- an index.md document, which will list the RFCs as they are published
- a picture, describing the process and used in the README
@axelsimon axelsimon merged commit cd86c09 into enarx-archive:master Feb 27, 2020
@axelsimon axelsimon deleted the RFC_template branch March 10, 2020 15:31
@axelsimon axelsimon changed the title First version of an RFC process, based on Aries and Rust RFC00000: First version of an RFC process, based on Aries and Rust Mar 18, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants