Contributing to GitHub Projects
I once read “GitHub brings more than open source—it reshapes how you think.” The gist: don’t just copy frameworks; build something yourself. Struggling through a tool or library forces you to grow. GitHub isn’t just a free buffet—it’s a platform to contribute.
For years I barely contributed—laziness was the main reason. Over the last year I started submitting PRs (ADR, awesome-mac, IDEA plugins, v2ray-docker, Alfred workflows). It cost time but paid off: sharper skills, new friends, better English. Open source gives back.
Contribution Flow
Standard projects usually have a CONTRIBUTING
doc (see awesome-mac). Follow that first. For a typical contributor (not a maintainer), the flow looks like this:
- Fork the repo.
- Clone your fork locally (GitHub CLI or IDE integration works well).
- Commit and push changes to your fork.
- Open a pull request from your fork to the upstream repo.
- Wait for maintainer review.
- Once merged, your code lands in the main project.
Keep Your Fork in Sync
After a PR lands, your fork doesn’t update automatically. Options:
- Delete and re-fork (simple but heavy-handed).
- Rebase your local fork:
git fetch upstream git checkout master git rebase upstream/master git push -f origin master
Most IDEs (e.g., IntelliJ IDEA) provide GUI support for this.
Closing Thoughts
Contribute when you can—it pays dividends while keeping you connected to the community.