Discussions - Contribution Guidelines #1
zanicar
announced in
Announcements
Replies: 1 comment
-
|
Nice |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Discussions - Contribution Guidelines
Discussions welcomes all contributors.
This document serves as a guide for contributing to Discussions. It provides an overview of the processes and policies established for quality collaboration and coordination. Please familiarize yourself with these guidelines and feel free to propose changes to this document for improvement.
License
Important: All 3rd party contributions to this repository and to Discussions are made under the Apache License 2.0, unless otherwise agreed to in writing.
General Guidelines
Please follow these guidelines when creating a new topic or discussion.
For technical contributions to any particular repository, please refer to the contribution guidelines published in the repository. For example, see our general contribution guidelines.
Structure
A good discussion should contain the following elements:
Background
Provide a brief overview of the subject to set the stage and provide necessary context.
Rationale: Clearly state the value that could be added, utility that may be gained, or problem that could be addressed. Explain why this matters to the community.
Examples: Provide concrete, real-world examples that demonstrate the problem or opportunity. These help others understand the practical implications and identify similar experiences.
Scope: Indicate whether this affects developers, end-users, infrastructure, or other aspects of the ecosystem.
Question
Pose an open-ended question that invites community exploration rather than seeking validation of a predetermined solution.
Good question patterns:
Avoid leading questions:
Research Integration: Reference current research, existing solutions, or related work to provide context without biasing the discussion toward a particular solution.
Examples
The following discussion and issue exemplify solicitation of open discussion respectively:
How Ideas Become Features
Discussions serve as the first step in our contribution pipeline. Here's how your ideas can evolve:
1. Discussion Phase (GitHub Discussions)
2. RFC Phase (GitHub Discussions - Ideas)
3. Formal Proposal Phase (GitHub Issues)
4. Implementation Phase (GitHub Projects)
Not every discussion becomes a feature, and that's perfectly fine! Discussions help us:
Discussion Quality Standards
Constructive Engagement
What Makes a Good Discussion
✅ Clear Problem Statement: What specific challenge are you addressing?
✅ Real-World Context: Why does this matter to developers/users?
✅ Open-Ended Questions: Invite community input rather than seeking validation
✅ Evidence-Based: Reference documentation, research, or examples
Discussion Red Flags
❌ Solution Seeking: "How do I implement X?" belongs in Q&A or Support
❌ Feature Requests: "Please add feature Y" should start as background + question
❌ Duplicate Topics: Search existing discussions first
❌ Vague Problems: "This is broken" without specific examples or context
When to Move Beyond Discussion
Consider creating an RFC when discussion shows:
Community Moderation
Self-Moderation First
Maintainer Moderation
Maintainers may take action when discussions:
Moderation Actions
Appeals Process
If you believe moderation action was inappropriate:
Technical Detail Boundaries
Discussion-Appropriate Technical Detail
✅ High-Level Architecture: General approach and major components
✅ Trade-off Identification: Key decisions and their implications
✅ Integration Points: How it fits with existing systems
✅ Performance Implications: General scalability or efficiency concerns
RFC-Appropriate Technical Detail
🔄 Implementation Specifics: Detailed algorithms or data structures
🔄 API Specifications: Exact interface definitions
🔄 Protocol Details: Wire formats, message structures
🔄 Security Analysis: Threat models and mitigation strategies
When to Suggest Moving to RFC
If discussion comments include:
Helpful transition phrase: "This is getting into RFC-level detail - should we consider moving this to a formal proposal?"
Discussion → IP Transition
Discussion Graduation Criteria
A discussion is ready for RFC/IP when it demonstrates:
Transition Process
Template for RFC Creation
When graduating from discussion, use this template:
RFC Title: [Clear, specific title]
Original Discussion: [Link to source discussion]
Problem Statement: [Refined based on discussion feedback]
Proposed Approach: [Technical direction emerging from discussion]
Open Questions: [Specific technical questions needing RFC-level investigation]
Beta Was this translation helpful? Give feedback.
All reactions