-
-
Notifications
You must be signed in to change notification settings - Fork 662
Draft: Docs/governance #2307
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
base: main
Are you sure you want to change the base?
Draft: Docs/governance #2307
Changes from all commits
2d321ff
6bfa911
9797448
2a1d23a
a41b516
9dbde7d
e2d375a
84094b7
33aecd6
0ef80de
3a488ff
c517ca0
24205a7
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,109 @@ | ||
| # RFC Template | ||
|
|
||
| - **Status**: Idea | Draft | Accepted | Rejected | Revision Requested | ||
| - **Author(s)**: <name / handle> | ||
| - **Champion**: | ||
| - **Created**: | ||
| - **Last Updated**: | ||
| - **Related**: | ||
|
|
||
| --- | ||
|
|
||
| ## 1) Summary (2–5 sentences) | ||
|
|
||
| What is being proposed and why? Keep this understandable to non-specialists. | ||
|
|
||
| --- | ||
|
|
||
| ## 2) Problem & Motivation | ||
|
|
||
| - What problem are we solving? | ||
| - Who is affected? | ||
|
|
||
| --- | ||
|
|
||
| ## 3) Goals & Non-Goals | ||
|
|
||
| ### Goals | ||
|
|
||
| What outcomes should this RFC achieve? | ||
|
|
||
| - … | ||
| - … | ||
|
|
||
| ### Non-Goals | ||
|
|
||
| What is explicitly out of scope for this RFC? | ||
|
|
||
| - … | ||
| - … | ||
|
|
||
| --- | ||
|
|
||
| ## 4) Proposed Approach (High-level) | ||
|
|
||
| Describe the proposed approach at a level suitable for review: | ||
|
|
||
| - Key idea(s) | ||
| - Expected behavior changes (if any) | ||
| - Any public API changes (if any) | ||
|
|
||
| --- | ||
|
|
||
| ## 5) Trade-offs & Alternatives | ||
|
|
||
| ### Trade-offs | ||
|
|
||
| What are the downsides or costs of the proposed approach? | ||
|
|
||
| ### Alternatives | ||
|
|
||
| What alternative approaches were considered, and why were they not chosen? | ||
|
|
||
| --- | ||
|
|
||
| ## 6) Impact | ||
|
|
||
| ### Compatibility | ||
|
|
||
| Are there breaking changes? Is migration required? | ||
|
|
||
| ### Performance | ||
|
|
||
| Any expected performance impact? | ||
|
|
||
| ### Security / Privacy | ||
|
|
||
| Any security or privacy implications? | ||
|
|
||
| ### Maintenance | ||
|
|
||
| Expected long-term maintenance cost or complexity. | ||
|
|
||
| --- | ||
|
|
||
| ## 7) Open Questions | ||
|
|
||
| - … | ||
| - … | ||
|
|
||
| --- | ||
|
|
||
| ## (Optional) Implementation Notes | ||
|
|
||
| Only include if it helps reviewers: | ||
|
|
||
| - rollout/migration sketch | ||
| - testing strategy | ||
| - rough milestones | ||
|
|
||
| --- | ||
|
|
||
| ## Decision (TSC) | ||
|
|
||
| Filled in by the TSC when decided. | ||
|
|
||
| - **Decision**: Accepted | Rejected | Revision Requested | ||
| - **Rationale**: | ||
| - **Date**: | ||
| - **Recorded by**: | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,151 @@ | ||
| # Bug Reporting & Triage | ||
|
|
||
| This document explains how bugs are reported, triaged, and resolved in the project. | ||
|
|
||
| The goal is to: | ||
|
|
||
| - Make it easy for users to report issues | ||
| - Ensure bugs are handled consistently and transparently | ||
| - Keep technical decision-making with maintainers while enabling support from Product and the community | ||
|
|
||
| --- | ||
|
|
||
| ## What Is a Bug? | ||
|
|
||
| A bug is behavior that: | ||
|
|
||
| - Is incorrect or broken compared to documented or intended behavior | ||
| - Regresses previously working functionality | ||
| - Causes crashes, data loss, or security issues | ||
|
|
||
| Requests for new features or behavior changes are NOT bugs and should be raised as ideas or proposals instead. | ||
|
|
||
| --- | ||
|
|
||
| ## Reporting a Bug | ||
|
|
||
| Anyone may report a bug. | ||
|
|
||
| Please open a GitHub Issue and select 'Bug Report'. The template provided will require: | ||
|
|
||
| - A clear description of the problem | ||
| - Steps to reproduce (if possible) | ||
| - Expected vs actual behavior | ||
| - Environment details (browser, OS, version, framework, etc.) | ||
|
|
||
| If you are unsure whether something is a bug, opening an issue is still fine — maintainers will help triage it. | ||
|
|
||
| --- | ||
|
|
||
| ## Bug Triage | ||
|
|
||
| Bug triage is the process of classifying and prioritizing reported bugs. | ||
|
|
||
| ### Responsibility | ||
|
|
||
| - **Maintainers** are responsible for technical triage and classification | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this could also be the other way around where Product leads technical triage and classification, and maintainers can help with more technical issues and provide input about technical impact etc.
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. (after reading on); For highly technical issues your approach makes sense (maintainers lead classification in p0-p3). However, I think what we're missing:
etc. Point is; there's probably quite some work around managing issue lifecycle that's not deeply technical per se |
||
| - **Product** may facilitate triage sessions, provide user-impact context, and help with communication | ||
| - **Contributors** may assist by reproducing issues or providing additional context | ||
|
|
||
| --- | ||
|
|
||
| ### Classification | ||
|
|
||
| Maintainers classify bugs based on technical severity. | ||
|
|
||
| Severity reflects technical correctness and safety impact, not business priority or operational uptime. | ||
|
|
||
| Severity levels: | ||
|
|
||
| - **P0 – Critical**: *Unsafe or invalid to use as-is.* Crashes, data loss, security issues, or violations of documented invariants. Users cannot safely rely on the library. | ||
| - **P1 – High**: *Safe but seriously impaired.* Core functionality is broken or severely degraded. The library can still be used with limitations or workarounds. | ||
| - **P2 – Medium**: *Correct but inconvenient.* Partial breakage or confusing behavior with reasonable workarounds available. | ||
| - **P3 – Low**: *Annoying but non-blocking.* Minor issues or cosmetic bugs that do not affect correctness or core functionality. | ||
|
|
||
| --- | ||
|
|
||
| ## Bug Lifecycle | ||
|
|
||
| Bugs typically move through the following stages. Not all bugs go through every stage, and the process may vary depending on severity and complexity. | ||
|
|
||
| 1. **Reported** | ||
|
|
||
| A bug is reported as a GitHub Issue by a user or contributor. | ||
|
|
||
| 2. **Triaged** | ||
|
|
||
| Maintainers review the issue to confirm it is a bug, request additional information if needed, and classify severity. | ||
|
|
||
| 3. **Investigated** | ||
|
|
||
| The issue is analyzed further. This may include reproducing the bug, identifying root causes, and discussing possible fixes or trade-offs. | ||
|
|
||
| 4. **Resolved** | ||
|
|
||
| A fix is implemented and reviewed via a pull request, or a decision is made not to change behavior (for example, if the behavior is working as intended). | ||
|
|
||
| 5. **Closed** | ||
|
|
||
| The issue is closed once resolved, deemed invalid, or no longer actionable. Closure should include a brief explanation whenever possible. | ||
|
|
||
|
|
||
| High-severity bugs (P0/P1) may skip stages or be addressed immediately. | ||
|
|
||
| --- | ||
|
|
||
| ## Fixing Bugs | ||
|
|
||
| - Bugs are fixed through the normal pull request process | ||
| - Anyone may submit a fix | ||
| - Maintainers review and approve fixes | ||
|
|
||
| High-severity bugs may be addressed immediately, regardless of roadmap priorities. | ||
|
|
||
| --- | ||
|
|
||
| ## Prioritization | ||
|
|
||
| While maintainers determine technical severity, Product may: | ||
|
|
||
| - Help prioritize bugs relative to other work | ||
| - Balance bug fixing with feature development | ||
| - Communicate expectations to users and stakeholders | ||
|
|
||
| Bug prioritization does not override maintainer judgment on severity or correctness. | ||
|
|
||
| --- | ||
|
|
||
| ## When a Bug Becomes an RFC | ||
|
|
||
| If fixing a bug: | ||
|
|
||
| - Requires changing core behavior | ||
| - Introduces breaking changes | ||
| - Sets new long-term precedent | ||
|
|
||
| Then the fix may require an RFC. | ||
|
|
||
| See [RFC_PROCESS.md](/RFC_PROCESS.md) and [How Work Flows](/HOW_WORK_FLOWS.md) for guidance. | ||
|
|
||
| --- | ||
|
|
||
| ## Stale or Invalid Bugs | ||
|
|
||
| Issues may be closed if: | ||
|
|
||
| - The issue cannot be reproduced | ||
| - Required information is missing and no response is received | ||
| - The behavior is working as intended | ||
|
|
||
|
|
||
| > Closure should include a brief explanation. | ||
|
|
||
|
|
||
| --- | ||
|
|
||
| ## Guiding Principles | ||
|
|
||
| - Bugs are treated seriously and respectfully | ||
| - Technical correctness comes before speed | ||
| - Transparency is preferred over silence | ||
| - When in doubt, discuss openly | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| # Code of Conduct | ||
|
|
||
| ## Our Pledge | ||
|
|
||
| In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. | ||
|
|
||
| ## Our Standards | ||
|
|
||
| Examples of behavior that contributes to creating a positive environment include: | ||
|
|
||
| - Using welcoming and inclusive language | ||
| - Being respectful of differing viewpoints and experiences | ||
| - Gracefully accepting constructive criticism | ||
| - Focusing on what is best for the community | ||
| - Showing empathy towards other community members | ||
|
|
||
| Examples of unacceptable behavior by participants include: | ||
|
|
||
| - The use of sexualized language or imagery and unwelcome sexual attention or advances | ||
| - Trolling, insulting/derogatory comments, and personal or political attacks | ||
| - Public or private harassment | ||
| - Publishing others’ private information, such as a physical or electronic address, without explicit permission | ||
| - Other conduct which could reasonably be considered inappropriate in a professional setting | ||
|
|
||
| ## Our Responsibilities | ||
|
|
||
| Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. | ||
|
|
||
| Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. | ||
|
|
||
| ## Scope | ||
|
|
||
| This Code of Conduct applies within all project spaces, and it also applies when an individual is representing the project or its community in public spaces. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. | ||
|
|
||
| ## Enforcement | ||
|
|
||
| Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [team@blocknotejs.org](mailto:team@blocknotejs.org). | ||
|
|
||
| All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. | ||
|
|
||
| Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project’s leadership. | ||
|
|
||
| ## Attribution | ||
|
|
||
| This Code of Conduct is adapted from the **Contributor Covenant**, version 1.4, available at: https://www.contributor-covenant.org/version/1/4/code-of-conduct.html | ||
|
|
||
| For answers to common questions about this code of conduct, see: https://www.contributor-covenant.org/faq |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
created and last updated can be viewed in git, maybe remove this (or at least "last updated")