Skip to content

Commit 964076a

Browse files
committed
docs: improve external contribution guidelines
1 parent 53c0db0 commit 964076a

4 files changed

Lines changed: 63 additions & 17 deletions

File tree

docs/CONTRIBUTING.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,18 @@ We don’t track new ideas or feature requests in GitHub Issues.
4141
- Start a discussion in [Mozilla Connect – Ideas](https://connect.mozilla.org/t5/ideas/idb-p/ideas/label-name/thunderbird%20android)
4242
- Once a feature is accepted and work is planned, maintainers will create the corresponding GitHub issue(s).
4343

44+
**GitHub Work:**
45+
46+
GitHub Bug Issues track confirmed defects. GitHub Feature Issues and GitHub Task Issues track work that maintainers have
47+
accepted and planned. New feature proposals still start in Mozilla Connect; maintainers create GitHub issues after a
48+
proposal is accepted and scheduled.
49+
50+
- External contributors should start from an existing GitHub Bug Issue, GitHub Feature Issue, or GitHub Task Issue.
51+
- Bug issues labeled `unconfirmed` are not ready for contributions.
52+
- Issues labeled `tb-team` are reserved for maintainers.
53+
- If you are unsure whether an existing issue is ready for your contribution, follow
54+
[Working From GitHub Issues](contributing/contribution-workflow.md#working-from-github-issues).
55+
4456
## 🌐 Translations
4557

4658
If you'd like to help to translate Thunderbird for Android, please visit:

docs/contributing/contribution-workflow.md

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,52 @@ finding an issue to getting your pull request merged.
2626
Before starting work, find an appropriate issue to work on:
2727

2828
- Browse the [GitHub Issues](https://github.com/thunderbird/thunderbird-android/issues) for open issues
29-
- Look for issues labeled [good first issue](https://github.com/thunderbird/thunderbird-android/labels/good%20first%20issue) if you're new to the project
29+
- Prefer issues labeled [status: help wanted](https://github.com/thunderbird/thunderbird-android/labels/status%3A%20help%20wanted)
30+
or [good first issue](https://github.com/thunderbird/thunderbird-android/labels/good%20first%20issue) if you're new
31+
to the project
32+
- Do not take issues labeled [tb-team](https://github.com/thunderbird/thunderbird-android/labels/tb-team); they are reserved
33+
for maintainers
3034
- Avoid issues labeled [unconfirmed](https://github.com/thunderbird/thunderbird-android/labels/unconfirmed) as they are not yet ready for contributions
3135

3236
### Requesting New Features / Ideas
3337

34-
We don’t track new ideas or feature requests in GitHub Issues. Mozilla connect is where feature proposals, product
38+
We don’t track new ideas or feature requests in GitHub Issues. Mozilla Connect is where feature proposals, product
3539
decisions, and larger design conversations happen.
3640

3741
- Start a discussion in [Mozilla Connect - Ideas](https://connect.mozilla.org/t5/ideas/idb-p/ideas/label-name/thunderbird%20android)
3842
- Once a feature is accepted and work is planned, maintainers will create the corresponding GitHub issue(s).
3943

44+
### Working From GitHub Issues
45+
46+
GitHub Bug Issues track confirmed defects. GitHub Feature Issues and GitHub Task Issues track work that maintainers have
47+
accepted and planned. New feature proposals still start in Mozilla Connect; maintainers create GitHub issues after a
48+
proposal is accepted and scheduled.
49+
50+
External contributors should start from existing confirmed or planned issues:
51+
52+
- Use GitHub Bug Issues for confirmed defects.
53+
- Use GitHub Feature Issues for accepted user-visible work.
54+
- Use GitHub Task Issues for accepted supporting engineering work, such as refactoring, test infrastructure,
55+
documentation, investigation, or technical planning.
56+
- Prefer issues labeled `status: help wanted` or `good first issue`.
57+
- Do not work on bug issues labeled `unconfirmed`; they still need maintainer triage.
58+
- Do not take issues labeled `tb-team`; they are reserved for maintainers.
59+
- Comment on the issue before coding and explain the part you want to work on.
60+
- Wait until a maintainer assigns the issue to you before starting work.
61+
- Do not open pull requests for large, cross-cutting, or unclear work without maintainer assignment and alignment in the
62+
relevant issue.
63+
64+
If there is no matching issue:
65+
66+
- New feature ideas belong in [Mozilla Connect - Ideas](https://connect.mozilla.org/t5/ideas/idb-p/ideas/label-name/thunderbird%20android), not GitHub Issues.
67+
- Bugs should be reported with the GitHub bug template.
68+
- For technical work related to an existing issue, ask in that issue whether the contribution fits the current scope.
69+
- If there is no related issue and the work is not a bug or Mozilla Connect feature idea, use the
70+
[Matrix development channel](https://matrix.to/#/#tb-mobile-dev:mozilla.org) to ask where the work belongs before
71+
starting.
72+
73+
Maintainers decide whether new GitHub Feature Issues, GitHub Task Issues, or GitHub Milestone Issues are needed.
74+
4075
### Reporting Bugs
4176

4277
If you’ve found a bug that’s not yet tracked:
@@ -50,15 +85,7 @@ Before coding:
5085
1. Comment on the GitHub issue you want to work on.
5186
2. Explain your intended approach.
5287
3. For non-trivial changes, you may be asked to create a **[User Journey](../engineering/user-journeys/README.md)**, **[RFC](../engineering/rfcs/README.md)**, **[ADR](../engineering/adr/README.md)**, or **[Technical Design](../engineering/technical-designs/README.md)** to reach consensus before implementation.
53-
4. Wait for maintainer feedback to ensure alignment and avoid duplicate work.
54-
55-
If the work appears larger than a single issue or pull request, or needs coordination across multiple features, tasks,
56-
or contributors, ask maintainers whether it should be organized as a GitHub Milestone Issue. GitHub Milestone Issues are
57-
created by core maintainers. See the [Engineering Delivery Planning guide](../engineering/delivery-planning.md) for
58-
GitHub Milestone Issue, GitHub Feature Issue, and GitHub Task Issue structure.
59-
60-
If the work does not match a dedicated GitHub Milestone Issue, maintainers may link it to a quarterly catch-all GitHub
61-
Milestone Issue for community contributions or Android foundations work.
88+
4. Wait for a maintainer to assign the issue to you before starting work.
6289

6390
## 🍴 Forking and Cloning
6491

docs/engineering/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,8 @@ coordination. See [Delivery Planning](delivery-planning.md) for the GitHub Miles
125125
milestones into GitHub Feature Issues and GitHub Task Issues.
126126

127127
External contributors usually start from existing GitHub Feature Issues or GitHub Task Issues. If work appears large
128-
enough to need a GitHub Milestone Issue, ask maintainers to create one.
128+
enough to need a GitHub Milestone Issue, discuss scope with maintainers before starting. Follow the
129+
[Contributor Path](delivery-planning.md#contributor-path) when existing issues do not clearly cover the work.
129130

130131
#### GitHub Feature or Task Issue
131132

docs/engineering/delivery-planning.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,18 @@ If you are not a core maintainer:
5656

5757
1. Follow the [Contribution Workflow](../contributing/contribution-workflow.md) for finding an issue and
5858
discussing your plan before coding.
59-
2. If the work is already planned, contribute through the relevant GitHub Feature Issue or GitHub Task Issue.
59+
2. If the work is already tracked, contribute through the relevant GitHub Bug Issue, GitHub Feature Issue, or GitHub
60+
Task Issue. Prefer issues labeled `status: help wanted` or `good first issue`. Do not take issues labeled `tb-team`;
61+
they are reserved for maintainers. Do not work on bug issues labeled `unconfirmed`; they still need maintainer
62+
triage. For other GitHub Bug Issues, GitHub Feature Issues, or GitHub Task Issues, discuss the scope in the issue
63+
and wait for a maintainer to assign the issue to you before starting.
6064
3. If you want to propose a **new feature**, start a discussion in [Mozilla Connect](https://connect.mozilla.org/t5/ideas/idb-p/ideas/label-name/thunderbird%20android). Once accepted and planned, maintainers will create the corresponding GitHub issues.
61-
4. If the work is a **technical task** (not a feature) that needs public tracking but is not milestone-sized, discuss your plan in an existing issue. If approved, ask maintainers to create the GitHub Task Issue for you. If there is no direct GitHub Milestone Issue match, mention the likely quarterly catch-all milestone in the issue or pull request. Maintainers link the issue to the milestone.
62-
5. If the work proposes a broad technical direction, discuss your plan in an existing issue. If approved, ask maintainers to create a GitHub Task Issue proposing an RFC. That GitHub Task Issue is delivered by opening the pull request that adds the RFC.
63-
6. If the work appears milestone-sized, ask maintainers to create a GitHub Milestone Issue instead of creating one yourself.
64-
Use the [Matrix development channel](https://matrix.to/#/#tb-mobile-dev:mozilla.org) when you are unsure where to ask.
65+
4. If you found a **bug** that is not tracked, open a GitHub issue using the bug template.
66+
5. If technical work relates to an existing issue, discuss the scope in that issue before starting. Maintainers decide
67+
whether a new GitHub Task Issue, RFC, ADR, Technical Design, or GitHub Milestone Issue is needed.
68+
6. If there is no related issue and the work is not a bug or Mozilla Connect feature idea, use the
69+
[Matrix development channel](https://matrix.to/#/#tb-mobile-dev:mozilla.org) to ask where the work belongs before
70+
starting.
6571

6672
GitHub Milestone Issues are maintainer-owned. GitHub Feature Issues, GitHub Task Issues, RFC pull requests, and
6773
implementation pull requests are the usual entry points for external contributors.

0 commit comments

Comments
 (0)