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

MDN Community: Discussion guidelines #32620

Merged
merged 15 commits into from
Mar 25, 2024
Merged

MDN Community: Discussion guidelines #32620

merged 15 commits into from
Mar 25, 2024

Conversation

estelle
Copy link
Member

@estelle estelle commented Mar 8, 2024

@estelle estelle requested a review from a team as a code owner March 8, 2024 21:30
@estelle estelle requested review from hamishwillee and removed request for a team March 8, 2024 21:30
@github-actions github-actions bot added Content:Meta Content in the meta docs size/m [PR only] 51-500 LoC changed labels Mar 8, 2024
9. [Create an issue](/en-US/docs/MDN/Community/Issues) with the final plan for implementing the resolution and put it into action.
10. Close the discussion.

If the discussion involves reaching out to and receiving feedback from experts, the timeline above can be extended as needed.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Might be nice to add a checklist section at the end that a discussion owner can copy/paste in and then checkoff as each step is complete.


1. Each discussion is held / rooted in a [discussion on Github](https://github.com/orgs/mdn/discussions), which is the "source of truth" for the topic.

2. Each topic of discussion needs a driver. The driver is responsible for:
Copy link
Collaborator

Choose a reason for hiding this comment

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

I prefer the term owner to driver.

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 prefer the term too, but the driver may not be the owner. The person driving the discussion (the driver) to a resolution may not be the same person who opened the discussion (the owner).

Copy link
Contributor

Choose a reason for hiding this comment

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

When a discussion is initiated by maintainers, is it okay to go with the assumption that the author is the driver? How will community determine a driver? Also, the question of selecting a driver would arise only if a discussion hasn't progressed.

In the timeline section, we need to define the period of inactivity or non-resolution beyond which a discussion can be considered as stalled.

Copy link
Member Author

Choose a reason for hiding this comment

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

That is why this was originally called "resolving". Discussions only need drivers, guidelines, and timelines if they need help being resolved. This is expressed in the intro.

Generally, the initiator may be the driver, but sometimes people start discussions but aren't invested in the outcome, while someone else may be more passionate about it. I want to provide guidelines open to interpretation, not rules... but someone might be more vested than me in this discussion ;)

Copy link
Collaborator

Choose a reason for hiding this comment

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

The person driving the discussion (the driver) to a resolution may not be the same person who opened the discussion (the owner).

The person who cares is the owner, whoever posted it :-). The author is likely to be the owner.

But that's just semantics. The point here is that it is possible to look at this text and say "you mean the owner, or the author right". So perhaps a definition is needed.

How does the driver get picked - it's obvious who the author is?

Copy link
Member Author

Choose a reason for hiding this comment

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

The driver will generally be the author and owner, but doesn't have to be. Defining it to that person limits it. Leaving it undefined allows for anyone with the energy to move the discussion forward to take on that responsibility.

I guess we could just write what I just said if required.

Copy link
Collaborator

@hamishwillee hamishwillee left a comment

Choose a reason for hiding this comment

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

THanks @estelle . I'm fine with the broad picture, but the discussion thread doesn't tell me if the result of the community call. I'll add some more reviewers.

estelle and others added 3 commits March 10, 2024 21:28
…dex.md

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Brian Thomas Smith <[email protected]>
Co-authored-by: Vadim Makeev <[email protected]>
Copy link
Contributor

@dipikabh dipikabh left a comment

Choose a reason for hiding this comment

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

Leaving a few thoughts and plenty of questions

files/en-us/mdn/community/discussions/index.md Outdated Show resolved Hide resolved
files/en-us/mdn/community/discussions/index.md Outdated Show resolved Hide resolved
Comment on lines 42 to 45
1. Post the discussion and assign a driver.
2. Identify any key stakeholders and needed approvers (the individuals who need to weigh in on the topic and give their approval), if any.
3. Inform the approvers and other essential voices of the discussion and your proposed timeline. If needed, reach out to them again after 2 weeks, and weekly thereafter, until they provide feedback.
4. Add the discussion topic to the agendas of relevant meetings.
Copy link
Contributor

Choose a reason for hiding this comment

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

We'll not know beforehand the discussions that will get stalled. Do these steps need to be done for every discussion opened? Folks in the community will not know who the drivers, stakeholders, and approvers are.

Copy link
Member Author

Choose a reason for hiding this comment

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

the intro explains when this guide, and therefore these steps , are relevant


1. Each discussion is held / rooted in a [discussion on Github](https://github.com/orgs/mdn/discussions), which is the "source of truth" for the topic.

2. Each topic of discussion needs a driver. The driver is responsible for:
Copy link
Contributor

Choose a reason for hiding this comment

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

When a discussion is initiated by maintainers, is it okay to go with the assumption that the author is the driver? How will community determine a driver? Also, the question of selecting a driver would arise only if a discussion hasn't progressed.

In the timeline section, we need to define the period of inactivity or non-resolution beyond which a discussion can be considered as stalled.

Copy link
Contributor

github-actions bot commented Mar 11, 2024

Preview URLs

Flaws (1)

Note! 1 document with no flaws that don't need to be listed. 🎉

URL: /en-US/docs/MDN/Community/Discussions
Title: Community discussions
Flaw count: 1

  • broken_links:
    • Can't resolve /en-US/plus
External URLs (1)

URL: /en-US/docs/MDN/Community/Discussions/Managing_and_resolving_discussions
Title: Managing and resolving discussions

(comment last updated: 2024-03-25 21:09:46)

Copy link
Collaborator

@hamishwillee hamishwillee left a comment

Choose a reason for hiding this comment

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

I'm marking as approved because I see this as advice for people with a stalled discussion that they really want to progress. There are very few cases where I see a discussion actually needs to be resolved, but if someone cares enough then this will be helpful.

What's missing for me in the whole picture around discussions is triage - looking at the discussions and deciding whether their resolution would actually make a real difference vs the cost of chasing it up. But that's a job for community management to evaluate. This is a helpful guideline on possible approaches to move things forward.

Copy link
Member

Choose a reason for hiding this comment

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

In general I think we're describing an RFC process which might be good to compare:

Astro’s RFC process is forked from the Vue RFC process which itself owes inspiration to the React RFC process, Rust RFC process and Ember RFC process.

Copy link
Contributor

@dipikabh dipikabh left a comment

Choose a reason for hiding this comment

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

Thanks for clarifications, @estelle. I've relooked at the page from the perspective of targeting only stalled discussions.

Comment on lines 40 to 43
Every discussion will have a different timeline depending on the complexity of the topic and the consensus levels. Ideally, most discussions should be resolved within two months, allowing for the topic to be addressed at various internal meetings. This timeframe ensures diverse viewpoints are considered and everyone interested has the opportunity to contribute to the discussion.

1. Post the discussion and assign a driver.
2. Identify any key stakeholders and needed approvers (the individuals who need to weigh in on the topic and give their approval), if any.
Copy link
Contributor

@dipikabh dipikabh Mar 12, 2024

Choose a reason for hiding this comment

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

Sorry if I'm being pedantic. If I look at the timeline of a discussion as an example: someone opens a discussion, it receives a lot of opinions and ideas and responses, and this happens over say 4 weeks. But then the conversation dies without reaching a conclusion. It's then I would regard the discussion as stalled (for example, https://github.com/orgs/mdn/discussions/426. This one has not reached a conclusion even after async/meeting discussions)

Q - Do we need to define the time or the state when to consider a discussion stalled?

  • If we're focusing only on stalled discussions in this document (which means "Post the discussion" has already happened), when should the drivers and stakeholders be assigned? Are we doing steps 1 and 2 for all discussions or only for stalled discussions? If this is applicable only for stalled, we could add another sentence as a lead-in for the steps (but would that be time-based or the author taking a call that the discussion is in limbo)?

  • From the current wording, it seems that these steps are more to ensure that no discussion is stalled, that is, from the beginning every discussion is assigned a driver and approver and brought up in meetings so that it gets resolved within two months.

  • I am not clear about "driver". How does a community person pick a driver? Echoing @hamishwillee's question here: "How does the driver get picked"? Or does someone invested in the topic assume that role? Similarly, would the community folk know who "key stakeholders and needed approvers" are?

Suggested change
Every discussion will have a different timeline depending on the complexity of the topic and the consensus levels. Ideally, most discussions should be resolved within two months, allowing for the topic to be addressed at various internal meetings. This timeframe ensures diverse viewpoints are considered and everyone interested has the opportunity to contribute to the discussion.
1. Post the discussion and assign a driver.
2. Identify any key stakeholders and needed approvers (the individuals who need to weigh in on the topic and give their approval), if any.
Every discussion has a different timeline depending on the complexity of the topic and the consensus levels. Ideally, most discussions should be resolved within two months, allowing for the topic to be addressed at various internal meetings. This timeframe ensures diverse viewpoints are considered and everyone interested has the opportunity to contribute to the discussion. If your discussion has not reached a conclusion within two months, consider performing some of the following steps:
1. Determine a driver for the discussion topic if it's not the same as the author.
2. Identify any key stakeholders and needed approvers (individuals who need to weigh in on the topic and give their approval), if any.

Comment on lines 46 to 47
5. After a month, sort through the feedback, discussions, and agreements, and formalate an initial plan merging the feedback into a possible action plan. Re-inform and re-request feedback from all interested parties, including everyone who participated in the discussion in any way.
6. During the second month, keeping reaching out the the community for feedback on the proposed plan, making updates to the plan in light of any new feedback. Rinse. Repeat.
Copy link
Contributor

Choose a reason for hiding this comment

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

"reaching out to the community" - this assumes that the discussion is initiated by a maintainer?

Suggested change
5. After a month, sort through the feedback, discussions, and agreements, and formalate an initial plan merging the feedback into a possible action plan. Re-inform and re-request feedback from all interested parties, including everyone who participated in the discussion in any way.
6. During the second month, keeping reaching out the the community for feedback on the proposed plan, making updates to the plan in light of any new feedback. Rinse. Repeat.
5. After a month, sort through the feedback, discussions, and agreements, and formulate an initial plan merging the feedback into a possible action plan. Re-inform and re-request feedback from all interested parties, including everyone who participated in the discussion in any way.
6. During the second month, keeping reaching out to the community for feedback on the proposed plan, making updates to the plan in light of any new feedback. Rinse. Repeat.

Comment on lines 50 to 51
9. [Create an issue](/en-US/docs/MDN/Community/Issues) with the final plan for implementing the resolution and put it into action.
10. Close the discussion.
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we should also mention that not all discussions will reach a conclusion. Maybe the action/fix required is part of a future year's roadmap. Maybe after two months, the conclusion reached is "can't happen now".

6. During the second month, keeping reaching out the the community for feedback on the proposed plan, making updates to the plan in light of any new feedback. Rinse. Repeat.
7. If there are points of contention, arrange an online, synchronous, face-to-face meeting to resolve any remaining disagreements (as captured in the discussion thread).
8. Keep the discussion threads alive during the second month as you work with the community towards the resolution.
9. [Create an issue](/en-US/docs/MDN/Community/Issues) with the final plan for implementing the resolution and put it into action.
Copy link
Contributor

Choose a reason for hiding this comment

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

…iscussions/index.md

Co-authored-by: Dipika Bhattacharya <[email protected]>
@estelle
Copy link
Member Author

estelle commented Mar 19, 2024

Thanks for clarifications, @estelle. I've relooked at the page from the perspective of targeting only stalled discussions.

This is for all discussions (where a resolution is wanted); to prevent them from getting stalled.
also, these are guidelines, not rules. Not all discussions need a resolution. However, people who start a discussion wanting a resolution can benefit from guidelines to help them work toward a resolution in a timely manner. I am going to revert some previous content that made this seem like it is relevant only once stalled. that was not the goal.

@estelle estelle requested a review from dipikabh March 21, 2024 19:04
Copy link
Contributor

@dipikabh dipikabh left a comment

Choose a reason for hiding this comment

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

Thank you, @estelle, for putting these guidelines/doc together. Appreciate your patience in addressing my comments and questions.

…iscussions/index.md

Co-authored-by: Dipika Bhattacharya <[email protected]>
@estelle estelle merged commit 87ca43c into mdn:main Mar 25, 2024
9 checks passed
@hamishwillee
Copy link
Collaborator

Nicely done

@estelle estelle deleted the discussion branch March 26, 2024 18:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Content:Meta Content in the meta docs size/m [PR only] 51-500 LoC changed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants