All posts

How to Contribute to Open Source on GitHub: A Complete Workflow

Learn the full GitHub contribution workflow—fork, branch, commit, pull request, and review—plus practical tips for first-time open source contributors.

ossium
ossium3 min read

Contributing to open source on GitHub follows a predictable workflow. Once you learn it once, you can reuse it on almost every project.

The mental model

You don’t edit the original project directly. You:

  1. Fork a copy under your account
  2. Clone it to your machine
  3. Create a branch for your change
  4. Commit and push
  5. Open a pull request (PR) back to the original repo

Maintainers review, request changes if needed, and merge.

Before you write any code

  1. Read README.md and CONTRIBUTING.md
  2. Check the license (MIT, Apache-2.0, etc.)
  3. Search existing issues/PRs so you don’t duplicate work
  4. Run the project locally following their docs

If something in the docs is wrong, that can be your first PR.

Step-by-step workflow

1. Fork and clone

On GitHub, click Fork, then:

git clone https://github.com/YOUR_USERNAME/REPO.git
cd REPO
git remote add upstream https://github.com/ORIGINAL_OWNER/REPO.git

upstream points at the original project so you can pull updates later.

2. Create a branch

git checkout -b fix/typo-in-readme

Use short, descriptive branch names: fix/…, feat/…, docs/….

3. Make a focused change

Keep scope tight. One problem per PR is easier to review and more likely to merge.

4. Commit clearly

git add .
git commit -m "docs: fix installation typo in README"

Good commit messages explain why, not only what.

5. Push and open a PR

git push -u origin fix/typo-in-readme

On GitHub, open a pull request into the original repo’s default branch. Fill the template, link the issue, and describe how you tested.

6. Respond to review

Review is normal—not a failure. Update your branch, push again, and the PR updates automatically.

Etiquette that gets PRs merged faster

  • Keep diffs small
  • Match the project’s code style
  • Don’t force push to shared branches unless asked
  • Be patient; many maintainers are volunteers
  • Say thank you when they merge or give feedback

Tracking multiple contributions

Once you contribute to several repos, context gets messy: different issues, review comments, and org notifications.

ossium helps you:

  • Discover work on ossium, then track PRs and issues on GitHub

  • Discover new work via issues and trending

  • Stay organized while you grow from first PR to regular contributor

What to contribute beyond features

TypeExamples
DocsTypos, clearer setup, better examples
TestsMissing unit tests, flaky test fixes
DXScripts, better error messages
BugsSmall reproducible fixes
CommunityAnswer questions, triage issues

Next steps

  1. Pick a project using How to find open source projects
  2. Open your first PR this week
  3. Track it on GitHub (notifications + PR list)

The workflow stays the same whether you’re fixing a typo or shipping a feature—only the size of the change grows.

githubpull-requestworkflowopen-source

Related posts