-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC Process #1
RFC Process #1
Conversation
Signed-off-by: Terence Lee <hone02@gmail.com>
Can we mark some of the sections or other bits as optional? Maybe Prior Art? I think that will help make the template more approachable. |
@jkutner yeah, all of it is open change. It's common on other RFC forms which is why I put it there. It seems like a lot of the ones I ran across are derived from the Rust RFC. Ideally we hit a happy balance of people putting enough effort and it not being a burden to make one. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Other classes of changes that should be in scope?
- Changes to the target users?
- Is this too much process?
I think the cumulative answers to these three questions are the biggest risk here. I'm slightly worried that we're a bit too broad in what is currently scoped as part of an RFC, but maybe I'm thinking about it in the wrong way (so please tell me if so). As an example of this, I would have expected some change to the flags of pack
to not require an RFC. I'd expect robust discussion in a GitHub issue, but having a multi-week period with external documentation in a different repository feels a bit heavy. On the other hand, I could see a different change of flags to pack
require an RFC. I don't have a good heuristic today, so maybe being conservative to start and using our future experience to decide is sufficient.
- How long should the Final Comment Period be?
If we're going to funnel a lot of stuff through the RFCs, I think the period should be shorter (3 days). However, if it turns out that RFCs are rarer and only for large changes longer is appropriate (7 days). Especially since there is an assigned team member who is responsible for shepherding each one through it's through final phase, I think that being at the lower end of each range (and expecting nagging) is acceptable.
I'm not sure if it should be defined here, but I was thinking about voting and the idea of a super-majority. What form should voting take?
|
@jkutner Is optional required or could a user put in an N/A where appropriate? And if someone put in N/A in a place we didn't feel comfortable with (I'm as lazy as the next person), we'd kick it back as part of discussion? |
@nebhale as part of the multiweek FPC, I think it definitely is long, but just defaulted to 10 since I didn't know what number to pick. I'm fine with 3-7 days I'd think. The balance is giving everyone time to finalize comments if they haven't done so. Maybe the right answer here is to have it shorter now since we're still moving rapidly and as things stabilize more and the team gets bigger it'll make sense to slow down. |
@nebhale is the heuristic whether or not it's backwards compatible? Maybe not the only criteria, but it seems like something additive would be fine to discuss in GH issues. While something breaking (and its migration strategy) would require an RFC. |
Thoughts:
|
I concur on the following points:
Points of disagreement or clarification:
|
@nebhale @sclevine I'm curious when you think you/someone would want to deviate from the template? I think Ben's point about putting N/A for any section that doesn't seem necessary is a good one.
I like @nebhale's suggestion: Affirmative, Negative, and Abstinence
I disagree with this point. I'd much rather figure out a better scope of what should require a RFC where committers can make changes where needed and not open RFCs. Part of the point of the RFC is anything "substantial" should require a RFC from anyone. I also understand that this is going to be an evolving window. Ideally any of the high level features we talked about on Thursday would benefit from having a RFC written for them.
I think this is a good one until we move into GA to revisit if we want to change. What do we think about 7 days, but a clause to close early?
I think @nebhale's suggestion is good. I would imagine when we get bigger the Core Team will probably vote a lot less so subteams can have more autonomy?
I'm also fine with this. The dedicated member is probably premature, but it's mostly to ensure things don't become stale.
I struggled with this too. I wanted to balance lightweight vs too much process. After seeing #2, I feel like it's probably ok to require it. It's just nice to have all the discussion in one place and inline comments. RFCs are substantial features and therefore should require some more work put behind it. I'll update this PR with suggestions from this thread. |
Co-Authored-By: hone <hone02@gmail.com>
- The team will discuss as much as possible in the RFC pull request directly. Any outside discussion will be summarized in the comment thread. | ||
- When deemed "ready", a team member will propose a "motion for final comment period (FCP)" along with a disposition of the outcome (merge, close, or postpone). This is step taken when enough discussion of the tradeoffs have taken place and the team is in a position to make a decision. Before entering FCP, super majority of the team must sign off. | ||
- The FCP will last 7 days. If there's unanimous agreement among the team the FCP can close early. | ||
- For voting, the binding votes are comprised of the core team (and subteam maintainers if labeled as a subteam RFC). Acceptance requires super majority of binding votes in favor. The voting options are the following: Affirmative, Negative, and Abstinence. Non-binding votes are of course welcome. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is our threshold for a "super majority"? Do we just mean "majority"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe that we'd aimed for super majority to mean 2/3 or greater and no single company can have more than 50% of countable votes. This latter requirement might mean that a voter might be required to recuse themselves when they otherwise have an opinion.
Summary
The "RFC" (request for comments) process provide a consistent and controlled path for new features to enter the spec, libraries, or tools, so that all stakeholders can be confident about the direction Cloud Native Buildpacks is evolving in.