Skip to content
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: optional RFC section for Spec changes #52

Closed
wants to merge 2 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions text/0000-template-changes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Meta
[meta]: #meta
- Name: RFC template changes
- Start Date: 2020-02-03
- CNB Pull Request: (leave blank)
- CNB Issue: (leave blank)
- Supersedes: (put "N/A" unless this replaces an existing RFC, then link to that RFC)

# Summary
[summary]: #summary

As a response to the process of approving [RFC 0013](0013-app-layer-metadata-source.md) which ended up requiring spec changes, this RFC proposes amending the template to include an optional (non-binding) section to document spec changes that fall out of an RFC.

# Motivation
[motivation]: #motivation

Improve the process of moving RFCs into spec and implementation.

# What it is
[what-it-is]: #what-it-is

[0000-template.md](../0000-template.md) gets a new section:

```diff

# Prior Art
[prior-art]: #prior-art

Discuss prior art, both the good and bad.

+
+ # Spec. Changes (OPTIONAL)
+ [spec-changes]: #spec-changes
+
+ Does this RFC entail any proposed changes to the specifications (either buildpack or platform) or extensions?
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
+ Does this RFC entail any proposed changes to the specifications (either buildpack or platform) or extensions?
+ Does this RFC entail any proposed changes to the specifications or extensions?

Distribution too. Might as not provide a comprehensive list for the sake of future proofing

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Agree being more general here would be good to future-proof.

Copy link
Member

Choose a reason for hiding this comment

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

What about something like a checklist? This would help people easily think through all the potential candidates. Some changes apply to multiple specs.

If this RFC proposes changes to a specification, what specification?

- [ ] platform
- [ ] buildpack
- [ ] distribution
- [ ] extension: ___________

+ This section is not intended to be binding, but as discussion of an RFC unfolds, if spec changes are necessary, they should be documented here.
+
Copy link
Member

Choose a reason for hiding this comment

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

It would be nice to provide some examples here to help folks who are less familiar with the spec start to consider this question: new lifecycle flags, new buildpack.toml fields, new fields in the buildpackage label etc.

Copy link
Contributor Author

@zmackie zmackie Feb 5, 2020

Choose a reason for hiding this comment

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

It would be nice to provide some examples here to help folks who are less familiar with the spec start to consider this question: new lifecycle flags, new buildpack.toml fields, new fields in the buildpackage label etc.

Agree that examples would be helpful, will add. However, I don't think the message here is that the onus is necessarily on the RFC opener, at least initially, to add to this section. My thinking was that if an RFC evolved to a place where spec changes where necessary, a reviewer should call that out and the author would add it on when they received that feedback.

Copy link
Member

Choose a reason for hiding this comment

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

Can we get the examples added here?

```

# How it Works
[how-it-works]: #how-it-works

RFC authors fill out the optional section as discussion and ratification of RFCs uncovers spec changes. These changes should be agreed on as part of the process of approving the RFC.

# Drawbacks
[drawbacks]: #drawbacks

More work for RFC authors, although the contents of this section should likely be supplied by the project maintainers leading the discussion.

# Alternatives
[alternatives]: #alternatives

- Summarize the discussion in a comment.
Copy link
Member

Choose a reason for hiding this comment

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

I think we could also put the spec changes (as described herein) under "How It Works" without requiring a new section. I feel like this might make the template more approachable for those who don't know the spec well enough, but have a good RFC otherwise.

Copy link
Contributor

Choose a reason for hiding this comment

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

The problem this aims to solve is that we had that before and not one of us twigged that there should have been a spec change paragraph. That seems to indicate that the status quo has an issue.


# Prior Art
[prior-art]: #prior-art

Not sure
Copy link
Member

Choose a reason for hiding this comment

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

I believe the alternative (Do Nothing) would be for RFC authors to debate spec changes after a RFC gets accepted inside the spec PR which is where we are today.


# Unresolved Questions
[unresolved-questions]: #unresolved-questions