Repository navigation
docs: add ladder governance, issue templates, and legacy AUTHORS archive #5
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
Changes from all commits
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,69 @@ | ||
| name: Out-of-Band Ladder Nomination | ||
| description: For existing organization members to nominate a new hire, partner engineer, or propose an off-cycle promotion. | ||
| title: "[Nomination]: @username for <Role>" | ||
| labels: ["nomination", "out-of-band"] | ||
| body: | ||
| - type: markdown | ||
| attributes: | ||
| value: | | ||
| ### Out-of-Band Ladder Nomination | ||
| > [!NOTE] | ||
| > Standard promotions and new joiner invitations occur automatically during our data-driven **Quarterly Reviews**. | ||
| > Creating new issues and pull requests in `flutter/contributors` is restricted to organization members (`collaborators`); use this form as a sponsor for out-of-band additions (e.g. new Google/Partner hires) or expedited off-cycle role adjustments. | ||
|
|
||
| - type: input | ||
| id: candidate | ||
| attributes: | ||
| label: Candidate GitHub Handle | ||
| description: The GitHub username of the person being nominated. | ||
| placeholder: "@octocat" | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: input | ||
| id: discord | ||
| attributes: | ||
| label: Candidate Discord Username | ||
| description: The candidate's Discord username so we can grant them the team member role and channel access on the Flutter Discord server. | ||
| placeholder: "octocat" | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: dropdown | ||
| id: proposed_role | ||
| attributes: | ||
| label: Proposed Role | ||
| options: | ||
| - Maintainer (Flutter / Partners Team) | ||
| - Committer (Expedited Promotion) | ||
| - Reviewer (New Org Contributor) | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: dropdown | ||
| id: affiliation | ||
| attributes: | ||
| label: Candidate Team / Domain | ||
| options: | ||
| - Flutter Team | ||
| - Partners Team (@flutter/partners) | ||
| - Community Contributor | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: justification | ||
| attributes: | ||
| label: Contribution Summary & Justification | ||
| description: Provide background on the candidate's responsibilities, relevant merged PRs, reviews, or team role verification. | ||
| placeholder: "Candidate is joining the Flutter team as an engine maintainer..." | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: checkboxes | ||
| id: sponsor_confirm | ||
| attributes: | ||
| label: Sponsor Confirmation | ||
| options: | ||
| - label: I am an active Flutter organization member nominating this candidate. | ||
| required: true |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,57 @@ | ||
| name: Dasher Emeritus Reinstatement Request | ||
|
Member
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. Do out-of-band and Dasher Emeritus need to be two separate forms?
Collaborator
Author
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. Good question. With the initial launch, many many contributors will be moved to emeritus. They and others on the team expressed concern that they felt like they would have to "start over again", and asked for a special re-entry point. Hence the separate special template to recognize their return. |
||
| description: For active organization members to sponsor a returning Dasher Emeritus rejoining the active contributor ladder off-cycle. | ||
| title: "[Reinstatement]: @username returning to active status" | ||
| labels: ["emeritus-reinstatement"] | ||
| body: | ||
| - type: markdown | ||
| attributes: | ||
| value: | | ||
| ### Dasher Emeritus Reinstatement | ||
| > [!NOTE] | ||
| > Returning Dasher Emeriti who reach $\ge 10$ contributions are **automatically identified** during our data-driven **Quarterly Reviews**. | ||
| > Because creating new issues and pull requests in `flutter/contributors` is restricted to organization members (`collaborators`), off-cycle reinstatement requests must be opened by an active Flutter organization member acting as a sponsor (returning Emeriti can request a sponsor in `#hidden-chat` on Discord). | ||
|
|
||
| - type: input | ||
| id: username | ||
| attributes: | ||
| label: Emeritus GitHub Handle | ||
| description: The GitHub username of the returning Dasher Emeritus being sponsored for reinstatement. | ||
| placeholder: "@octocat" | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: input | ||
| id: discord | ||
| attributes: | ||
| label: Emeritus Discord Username (if updated) | ||
| description: Dasher Emeriti retain Discord and Google Group access. Please provide their Discord username in case it has changed or needs to be updated in our records. | ||
| placeholder: "octocat" | ||
| validations: | ||
| required: false | ||
|
|
||
| - type: dropdown | ||
| id: requested_role | ||
| attributes: | ||
| label: Requested Ladder Role | ||
| options: | ||
| - Reviewer (@flutter/reviewers) | ||
| - Committer (@flutter/committers) | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: recent_activity | ||
| attributes: | ||
| label: Recent Contributions | ||
| description: List recent pull requests, reviews, or triage activity since the Dasher Emeritus resumed contributing. | ||
| placeholder: "Links to recent PRs, issues, or reviews..." | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: checkboxes | ||
| id: sponsor_confirm | ||
| attributes: | ||
| label: Sponsor Confirmation | ||
| options: | ||
| - label: I am an active Flutter organization member sponsoring this Dasher Emeritus for reinstatement. | ||
| required: true | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| --- | ||
| name: Quarterly Community Review Tracking | ||
| about: Template for automated quarterly community ladder review issues. | ||
| title: "Quarterly Contributor Ladder Review - Q[X] [YYYY]" | ||
| labels: ["quarterly-review", "community-ladder"] | ||
| --- | ||
|
|
||
| # Quarterly Community Contributor Ladder Review | ||
|
|
||
| This is the public tracking issue for the quarterly Flutter Contributor Ladder review. | ||
| Review criteria are defined in [LADDER.md](../../docs/LADDER.md). | ||
|
|
||
| ## 1. 🎉 Recommended Promotions & New Community Joiners | ||
|
Member
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. whitespace after heading (here and below). You might want to have a markdown linter workflow: from flutter/rfc: - name: Markdown Lint (PR Mode)
if: github.event_name == 'pull_request' && steps.changed-rfcs.outputs.has_changes == 'true'
uses: davidanson/markdownlint-cli2-action@05f32210e84442804257b2a6f20b273450ec8265 # v19
with:
globs: ${{ steps.changed-rfcs.outputs.files }}
- name: Markdown Lint (Full Repository)
if: github.event_name != 'pull_request'
uses: davidanson/markdownlint-cli2-action@05f32210e84442804257b2a6f20b273450ec8265 # v19
with:
globs: 'rfc/**/*.md'specific lints enabled/disabled; https://github.com/flutter/rfc/blob/main/.markdownlint.yaml
Collaborator
Author
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. Eggcellent. Thanks! |
||
|
|
||
| *(Generated automatically by `dart run tool/quarterly_audit.dart --community`)* | ||
|
|
||
| > [!NOTE] | ||
| > If you are invited to join the ladder or promoted to a new tier above, please reply in this thread to accept and share your **Discord username** (if you do not already have the Discord team member role) so we can grant you team member channel access. | ||
|
|
||
| ## 2. ✅ Active Role Retention | ||
|
|
||
| *(Generated automatically by `dart run tool/quarterly_audit.dart --community`)* | ||
|
|
||
| ## 3. ⏳ 30-Day Grace Period (Proposed Demotions / Dasher Emeritus) | ||
|
|
||
| *(Generated automatically by `dart run tool/quarterly_audit.dart --community`)* | ||
|
|
||
| ## 4. 📋 Callout for Unscripted & Qualitative Contributions | ||
|
|
||
| > [!IMPORTANT] | ||
| > If you have contributions that automated tracking does not index (issue triage, repro verification, [RFCs](https://github.com/flutter/rfc), design docs, mentoring), please reply in this thread with details before the 30-day grace period concludes. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| name: Quarterly Partner Verification Tracking | ||
| about: Template for automated quarterly partner team verification issues. | ||
| title: "Quarterly Partner Team Verification - Q[X] [YYYY]" | ||
| labels: ["quarterly-review", "partner-verification"] | ||
| --- | ||
|
|
||
| # Quarterly Partner Team Verification Review | ||
|
|
||
| Dedicated quarterly verification tracking issue for **@flutter/partners**. | ||
| The audit facilitator reaches out to each partner organization to confirm active status for their members below. | ||
|
|
||
| ## 1. Active Partner Roster Verification | ||
|
|
||
| *(Generated automatically by `dart run tool/quarterly_audit.dart --partners`)* | ||
|
|
||
| ## 2. Departures & Offboarding Sign-Off | ||
|
|
||
| - [ ] All partner memberships confirmed with partner organizations. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| blank_issues_enabled: false | ||
| contact_links: | ||
| - name: Flutter Contributor Ladder Guide | ||
| url: https://github.com/flutter/contributors/blob/main/docs/LADDER.md | ||
| about: Read about contributor tiers, criteria, responsibilities, and advancement pathways. | ||
| - name: Quarterly Review Process & Appeals | ||
| url: https://github.com/flutter/contributors/blob/main/docs/QUARTERLY_REVIEW.md | ||
| about: Learn how quarterly contributor reviews are conducted and how appeals are processed. | ||
| - name: Governance & Communication Channels | ||
| url: https://github.com/flutter/contributors/blob/main/docs/GOVERNANCE.md | ||
| about: Learn about GitHub teams, Discord channels, and onboarding to the announcement-only contributor Google Group. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| default: true # Enable all standard markdownlint rules by default | ||
| MD013: false # Do not enforce line lengths (diff churning, table lengths, diagrams etc) | ||
| MD025: | ||
| front_matter_title: "" # Do not treat frontmatter title as H1 heading | ||
| MD033: false # Allow inline HTML (badges, centered logos/images, details/summary folds) | ||
| MD041: true # Enforce top-level heading after frontmatter |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| # Flutter Project Contributors | ||
|
|
||
| The Flutter project recognizes all contributors through the **Flutter Contributor Ladder**. | ||
|
|
||
| - For the active contributor directory and roster, see [ROSTER.md](ROSTER.md). | ||
| - For ladder tiers, criteria, and governance details, see [docs/LADDER.md](docs/LADDER.md). | ||
| - For historical AUTHORS archives, see [legacy_authors/](legacy_authors/). |
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.
nice!