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

Proposing changes/updates to the RFC process. #109

Merged
merged 36 commits into from
Oct 17, 2019
Merged

Conversation

maniarathi
Copy link
Contributor

@maniarathi maniarathi commented Aug 31, 2019

September 24: Last call for community review
(EXTENDED) September 27: Last call for community review
October 4: Last call for oversight review!
October 17: Up for approval at DCP PM meeting.
October 17: Approved at DCP PM meeting!

Summary of comments from community review: Addressed concerns around adding a Timeline section to the template (which has been removed), elucidating three main types of RFCs, and general editorial comments.

@diekhans
Copy link
Contributor

diekhans commented Sep 2, 2019

It seems that this is an update of 0001-rfc-process.md rather than a new RFC. I think it would be easier to review and far more useful in the long term if this was just a PR with modifications of 0001-rfc-process.md.

Having to read through two documents to understand the RFC process would no be optimal.

@maniarathi
Copy link
Contributor Author

@diekhans I think we (or perhaps maybe just I) would like to provide justification first on why these changes are being proposed in the first place prior to making direct amendments to the original RFC MD file since they are numerous enough.

@diekhans
Copy link
Contributor

diekhans commented Sep 2, 2019

@maniarathi , I love having the rationale explicit rather than mind-reading. However, I am not sure having the rationale as a separate RFC is very useful. What happens when this PR is approved? Does the RFC-0001 get modified, then it goes through the old approval process? Does this PR stay around as a separate RFC or is this one deleted?

I feel a draft PR on 0001 with only the rational discussed would be a less confusing approach.

@maniarathi
Copy link
Contributor Author

@diekhans Ah ok, I understand your perspective. For now, let me pause on the conversation and once Dave and I finish writing, we shall figure out how to proceed with the actual process of approval. For now, this PR is a draft (i.e. this is our "Google Doc" draft) so once we finish writing, we'll see how to proceed.

@diekhans
Copy link
Contributor

diekhans commented Sep 2, 2019

@maniarathi at least I find this, as opposed to lost in google docs ;-)

rfcs/text/0000-rfc-process-updates.md Outdated Show resolved Hide resolved
rfcs/text/0000-rfc-process-updates.md Outdated Show resolved Hide resolved
rfcs/text/0000-rfc-process-updates.md Outdated Show resolved Hide resolved
rfcs/text/0000-rfc-process-updates.md Outdated Show resolved Hide resolved
rfcs/text/0000-rfc-process-updates.md Outdated Show resolved Hide resolved
rfcs/text/0000-rfc-process-updates.md Outdated Show resolved Hide resolved
@maniarathi maniarathi changed the title Initial RFC outline for proposed changes to the RFC process. PLEASE DO NOT REVIEW!! Initial RFC outline for proposed changes to the RFC process. Sep 6, 2019
@diekhans
Copy link
Contributor

diekhans commented Sep 6, 2019 via email

@maniarathi maniarathi changed the title PLEASE DO NOT REVIEW!! Initial RFC outline for proposed changes to the RFC process. Proposing changes/updates to the RFC process. Sep 10, 2019
@maniarathi maniarathi marked this pull request as ready for review September 10, 2019 22:20
@barkasn
Copy link
Contributor

barkasn commented Sep 11, 2019

Not sure I agree with dropping oversight review completely, maybe shorten it to a few days. As you point out the community review is for science community members to be able to comment, if this is formalized, how will internal comments be accommodated?

@kislyuk
Copy link
Member

kislyuk commented Sep 11, 2019

My personal experience with writing RFCs is that the process places an excessive burden on the author and/or shepherd 🐑. The biggest improvement in my estimation would be to minimize this process burden. I think we should either automate the process, or make it part of someone's job to help shepherd all the RFCs/update their status/post notices. The current level of effort required to see an RFC through to completion discourages and disincentivizes the use of RFCs for technical architecture discussion.

The second biggest improvement, I think, is to discourage "bikeshedding" comments that don't add to the discussion or don't propose an alternative solution. I think people who don't spend a majority of their time as implementers should be discouraged from making such comments on technical RFCs. (I recognize that it's hard to write this down as a process rule - perhaps something about what kinds of comments the author is required to address to achieve consensus for the purpose of advancing the RFC).

@brianraymor adds And if you're not familiar with the term - bikeshed.

rfcs/rfc-template.md Outdated Show resolved Hide resolved

We propose removing Oversight review altogether. A two week minimum community review period still exists but the
"community" refers to all members of the DCP working on any of the chartered organizations instead of the scientific
community only. This largely reflects the behavior of the review process today.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Again, this statement is incorrect.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Will correct once I get confirmation about the definition :)

We propose that, in order to ensure that RFCs are created based on critical tickets that are prioritized based on
the quarterly and yearly roadmaps and ensure that RFCs are followed up to completion, that all
[*non-informational RFCs*](https://github.com/HumanCellAtlas/dcp-community/issues/30) be linked to an existing Zenhub
ticket. Such a ticket should be linked to a timeline for RFC completion.
Copy link
Collaborator

Choose a reason for hiding this comment

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

## Motivation

Over the last year since the original RFC process was accepted, the DCP project has grown both in size and complexity.
As of this writing, 11 RFCs have been accepted in addition to many charters. Not so unexpectedly, there have been pain
Copy link
Collaborator

Choose a reason for hiding this comment

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

Not sure what charters has to do with the RFC process.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I thought Charters also follow the RFC process?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Charters were bootstrapped before the RFC process - https://github.com/HumanCellAtlas/dcp-community/tree/master/charters - so they have their own process.

roadmap to completion which also weakens the implication of the RFC.

We propose that, in order to ensure that RFCs are created based on critical tickets that are prioritized based on
the quarterly and yearly roadmaps and ensure that RFCs are followed up to completion, that all
Copy link
Collaborator

Choose a reason for hiding this comment

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

There are no quarterly and yearly roadmaps - there is a multiple quarter or long term product roadmap that is refreshed on a quarterly basis.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Switched to "long term product roadmap."


There are two types of RFCs that may be proposed: ***informational*** RFCs and ***non informational*** RFCs.
Non informational RFCs are expected to be linked directly to an existing ticket in the DCP Zenhub board which will
usually be tagged as a Spike. Informational RFCs are more speculative and need not directly reference an open ticket in
Copy link
Collaborator

@brianraymor brianraymor Sep 12, 2019

Choose a reason for hiding this comment

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

Informational RFCs do not need to be speculative but do need to "inform" the community. Sometimes, they simply document something. At the IETF - https://tools.ietf.org/html/rfc8612 is an example of an informational RFC.

I shared some thoughts about informational RFCs in our first example - image based-transcriptomics - in my shepherd writeup which may be helpful especially in thinking about what "approval" means for this RFC type:

Note to Technical Architecture approvers: This is intended to be the first case for an Informational RFC type, in addition to Governance and Architecture RFC(s). The RFC process will be amended to include this type based on demonstrated need.

This RFC has completed a broad community review across impacted components. The authors are only requesting approval to publish background material in our central RFC repository to educate the DCP community about image-based transcriptomics assays and the minimum set of deliverables required for support in the DCP. It is expected that future Technical RFC(s) will be authored for specific technical deliverables.

Informational specifications are common in the Internet Engineering Task Force (IETF) and the Python Enhancement Process (PEP). For example, the IETF describes:

An "Informational" specification is published for the general information of the Internet community, and does not represent an Internet community consensus or recommendation. The Informational designation is intended to provide for the timely publication of a very broad range of responsible informational documents from many sources, subject only to editorial considerations and to verification that there has been adequate coordination with the standards process (see section 4.2.3).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thank you for the thorough background on informational RFCs. How about I re-word it to (and I'm stealing much from the IETF definition here):

"Informational RFCs are more of a compilation of results from performing a case study or research on a topic related to the DCP. There need not be consensus on the RFC nor any actionable outcome unlike non-informational RFCs."

usually be tagged as a Spike. Informational RFCs are more speculative and need not directly reference an open ticket in
the DCP Zenhub board.

Prior to proposing an ***informational*** RFC, it is recommended that authors engage the DCP community to build
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't see the need in the case of an Informational RFC. You're just sharing information.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fair enough. I will delete this section

@maniarathi
Copy link
Contributor Author

Not sure I agree with dropping oversight review completely, maybe shorten it to a few days. As you point out the community review is for science community members to be able to comment, if this is formalized, how will internal comments be accommodated?

According to Brian, the DCP Community includes both users + DCP PM + DCP tech. (Correct me if I'm wrong @brianraymor). The decision to drop Oversight was simply based on behavior. Given that the trending behavior today is to start implementing the RFCs during Oversight review, I think we should adjust the process. We can bring it back at a later point if we see the need.

@maniarathi maniarathi merged commit 643c1f5 into master Oct 17, 2019
@maniarathi maniarathi deleted the rfc-updates branch October 17, 2019 16:29
diekhans pushed a commit to diekhans/dcp-community that referenced this pull request Oct 31, 2019
* Initial RFC outline for proposed changes to the RFC process.

* PLEASE DO NOT REVIEW

* Update rfcs/text/0000-rfc-process-updates.md

Co-Authored-By: Ambrose J Carr <ambrosejcarr@users.noreply.github.com>

* Added sections for improving visibility of status and authorship

* Formattig to keep problem and solutions close together in the text

* Clarify requirements for adding visibility into  pre-rfcs

* Fixing some grammar, rewording.

* Fixing a few typos based on mweiden's feedback.

* Changing up wording around pre-rfcs.

* Adding note to please not review.

* Making changes directly in the RFC process MD file while explicitly stating where additions, updates, and deletions are being made.

* Adjusting line breaks for easy diff-ing.

* Formatted and addressing comments.

* Changing word from roadmap to timeline.

* Switched quarterly and yearly roadmaps to long-term product roadmap.

* Adding a Deprecating RFC section.

* Adding Arathi and Dave as RFC authors.

* Updating definition of DCP Community Members.

* Removing Timeline section from RFC template.

* Cleaning up Timeline related wording in RFC itself.

* Reformatting names and emails.

* Switching wording from tag to label.

* Some more edits on wording.

* More rewording.

* Removed a sentence that had confusing wording about level of detail required for RFC.

* Remove incomplete section.

* Rewriting withdrawn section.

* Remove the word non-informational.

* Reformatting + better delegation of shepherd vs author tasks.

* Fixing typos.

* Adding key word language.

* Fix typos

* Delete 0000-rfc-process-updates.md

All changes have been merged into the pr to RFC1

* Addressing BrianR's comments.

* Usurp last mentions of oversight review.

* Updating PR template according to new RFC process.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.