← Workflows

阅读中文版本

Open Source Contribution Workflow

Review the project license and CLA, follow contribution guidelines, keep commits scoped, sign off where required, and coordinate on the issue before writing large changes.

intermediate~90 minopensourcecollaborationlicensing

Objective

Contribute to an external open source project without license, process, or coordination surprises.

Environment

  • The target project contribution guidelines
  • The project issue tracker

Steps

1. Read the license and contribution guide

Read the license and contribution guide and any CLA requirements.

Expected state: Legal and process obligations are known.

2. Discuss the change in an issue

Discuss the change in an issue before large work.

Expected state: Maintainers agree on the approach.

3. Keep changes scoped and follow

Keep changes scoped and follow the project testing and style rules.

Expected state: The change is reviewable and consistent.

4. Sign off or sign the CLA

Sign off or sign the CLA as required and address review feedback promptly.

Expected state: The contribution completes smoothly.

Decision points

Sign a CLA or avoid contributing?

  • Review then sign if acceptable
  • Avoid if terms are problematic

Read the CLA; if it assigns rights beyond the contribution, escalate rather than signing blind.

Large refactor or minimal fix?

  • Minimal fix first
  • Refactor as part of the fix

Minimal fix first; large refactors without prior agreement are often rejected.

Expected outcome

A contribution that matches the project process, is scoped and tested, and is accepted without legal or coordination issues.

Verification

Confirm the change passes the project CI, follows its commit and sign-off conventions, and has maintainer agreement recorded in the issue.

Cleanup

Update the internal dependency list if the contribution changes what you depend on.

Overview

Contribute to an external open source project without license, process, or coordination surprises. Confirm the change passes the project CI, follows its commit and sign-off conventions, and has maintainer agreement recorded in the issue.

Steps

  1. Read the license and contribution guide and any CLA requirements. Expected state: Legal and process obligations are known.
  2. Discuss the change in an issue before large work. Expected state: Maintainers agree on the approach.
  3. Keep changes scoped and follow the project testing and style rules. Expected state: The change is reviewable and consistent.
  4. Sign off or sign the CLA as required and address review feedback promptly. Expected state: The contribution completes smoothly.
git commit -s -m "fix: handle empty payload"
# -s adds the DCO Signed-off-by line when required

Verification

  • A contribution that matches the project process, is scoped and tested, and is accepted without legal or coordination issues.

Decision points

  • Sign a CLA or avoid contributing? Options: Review then sign if acceptable; Avoid if terms are problematic. Recommended: Read the CLA; if it assigns rights beyond the contribution, escalate rather than signing blind.
  • Large refactor or minimal fix? Options: Minimal fix first; Refactor as part of the fix. Recommended: Minimal fix first; large refactors without prior agreement are often rejected.