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

Updating readme #26

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Updating readme #26

wants to merge 1 commit into from

Conversation

syclik
Copy link
Member

@syclik syclik commented Aug 6, 2020

I'm following up on this conversation on Discourse:

https://discourse.mc-stan.org/t/process-for-design-docs/

I edited the README.md to reflect a few things:

  • proposals are welcome from everyone
  • comments are welcome from everyone
  • the process is a work in progress
  • we are taking inspiration from IETF Internet-Drafts (and removing the inspiration from Rust's RFC process)
  • the concept is to build consensus
  • tried to not be heavily rule-based
  • made it clear when a proposal could be accepted and who accepts it.

If any of this is unclear or isn't accomplished, please point it out or suggest changes.

Copy link
Member

@seantalts seantalts left a comment

Choose a reason for hiding this comment

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

Thanks! Sorry, I'm just catching up on this - I wasn't tagged in the discourse discussion for some reason. I think the delta agreed upon in that thread was:

  • everything on stan-dev is open to discussion from everyone, and

  • everyone is welcome to become a developer.

Some more specific comments in there as well. Thank you!


We welcome proposals and discussion from everyone in the community.

Our process for accepting proposals takes inspiration from [IETF Internet-Drafts](https://www.ietf.org/standards/ids/). We want the process to be lightweight and result in accepting documents that have consensus from the community at the time of approval.
Copy link
Member

Choose a reason for hiding this comment

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

It seems suboptimal to edit history here - this process was inspired by the Rust process. Maybe rephrase give a little more background on which parts we liked from that process and which parts we want to emphasize that we're doing differently? I think Bob gave a good minimal diff in the discourse discussion.

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks for the comment. The point isn't to edit history, but to describe what the current process is. We could just remove this if having a reference doesn't help.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I'd rather reference rust here as well, imo we want a rust rfc lite

Copy link
Member Author

Choose a reason for hiding this comment

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

Is that actually what we want? It seemed like on the thread it wasn’t what we were doing or attempting to do. Happy to have that language if that really reflects what we want. (I’m agnostic. I read the Rust RFC and it doesn’t sound like what we’re attempting to do. Even the goals of it. It really sounds more like the IETF Internet-Drafts.)

Our process for accepting proposals takes inspiration from [IETF Internet-Drafts](https://www.ietf.org/standards/ids/). We want the process to be lightweight and result in accepting documents that have consensus from the community at the time of approval.


## Submit a Design Document
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 I liked this section better after the context for what design review is and when it's necessary, because then folks have to read or skip (and thus become aware) of those sections on the way to the meat of the process. What are your thoughts on the ordering here?

Updating it to not be in list form seems reasonable.

Copy link
Member Author

Choose a reason for hiding this comment

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

I moved it all the way to the top intentionally; something should be at the top describing the goals and how and when things get merged. Maybe what would help is to have a second section below that gets into more detail?


Design documents rarely go through the process unchanged, especially as alternatives and drawbacks are identified. Proposals can go through edits for months as we discuss major changes to Stan. Everyone in the community is welcome to make comments (relevant to the proposal).

Proposals are accepted and merged into this repository when there is consensus from the community. In practice, this means giving enough time for members of the community to review/comment/request changes on the proposal. Proposals can be accepted if at least one other (non-author) Stan developer endorses the final draft of the design document and there are no denials.
Copy link
Member

Choose a reason for hiding this comment

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

Please nix the consensus part here as well - that was intentionally not in the original. I don't think there is a majority of developers who want to move in a direction where major decisions require consensus, and we shouldn't sneak it in here like this.

Copy link
Member Author

@syclik syclik Aug 6, 2020

Choose a reason for hiding this comment

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

This is actually one of the recurring points that came forward in this discussion: https://discourse.mc-stan.org/t/process-for-design-docs/14956

Specific examples from the thread:

If there is a way to describe what we want better, let's do that! I honestly think the discussion has stated that they're striving for consensus. To be clear, we're talking about consensus having the definition of "general agreement." It's also a mix of the voting rule of "general consent," but since PRs aren't votes and we don't have a list of members that vote, we never have a vote so this doesn't apply. I think "consensus" is the right term (taking it to mean "most people that care would agree"), but happy to have different wording.

Copy link
Member Author

Choose a reason for hiding this comment

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

Just for clarity "majority" doesn't equal "consensus."

Majority requires > 50% of some group.

There's also a second definition of consensus that applies: "the judgment arrived at by most of those concerned." And that's really what we're after.

Copy link
Member Author

@syclik syclik Aug 6, 2020

Choose a reason for hiding this comment

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

I think the last sentence in the document I proposed is incorrectly worded:
"Proposals can be accepted if at least one other (non-author) Stan developer endorses the final draft of the design document and there are no denials."

We can have “denials” and still merge it in.

Copy link
Member

@seantalts seantalts Aug 6, 2020

Choose a reason for hiding this comment

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

Right, I think we agree we don't want to word this as if each design doc required consensus. Nor do we (most of us at least, citing your Bob quote above) want a vetocracy, which I think is how it's worded now. How about,

"Design docs are a chance for the community to discuss and get into alignment on the pros and cons of the proposal. This means giving enough time for members of the community to review/comment/request changes on the proposal. After that time period (TODO: select a time period?) has ended, a proposal can be accepted if at least one other Stan developer endorses the proposal and merges it. Disagreements with merged proposals can be taken up via the SGB technical issue voting proposal as with other technical issues."

Copy link
Member

Choose a reason for hiding this comment

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

For me here the key is both making sure issues are fully aired and discussed and everyone can be brought as on board as possible while still making forward progress the default.

Copy link
Member

Choose a reason for hiding this comment

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

FWIW I am in favor of this rewording. It's essentially the same thing but does not use the word consensus and the added mention of going to a vote is also a plus.

Copy link
Member Author

Choose a reason for hiding this comment

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

+1 from me too!

Yes, the original one wasn't true to the discussion and should definitely be changed.

(If people are allergic to the term "consensus" we don't have to use it.)

Copy link
Member Author

Choose a reason for hiding this comment

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

And... thank you for the edit!

Copy link
Member

Choose a reason for hiding this comment

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

Yay! Haha, I think that's a good way to put it - I do feel allergic to the term "consensus" 😂

@syclik
Copy link
Member Author

syclik commented Aug 6, 2020

Thanks! Sorry, I'm just catching up on this - I wasn't tagged in the discourse discussion for some reason. I think the delta agreed upon in that thread was:

  • everything on stan-dev is open to discussion from everyone, and
  • everyone is welcome to become a developer.

Some more specific comments in there as well. Thank you!

I just replied to your comments. Just for clarification, it wasn't "agreed upon" by the people on the thread and what you quoted wasn't meant to be the delta. There's a tiny bit more from the suggestion from @bob-carpenter that gives more context:

@syclik: Please rewrite it to emphasize

  • everything on stan-dev is open to discussion from everyone, and
  • everyone is welcome to become a developer.

I didn't read @bob-carpenter's comment to mean that's the only change to be made. (If it was, I'm sure he would have done it himself.)

I incorporated the first bullet, but not the second. I'm not sure the second belongs in this doc. If it does, can someone suggest a good spot for it or edit it?

@syclik
Copy link
Member Author

syclik commented Aug 6, 2020

Next steps, I’ll wait for additional comments and suggestions and then update the doc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants