GitHub & Open Source Presence
Contributing to Open Source Projects
5 min read
Why Contribute?
Recruiters Notice:
- Shows collaboration skills
- Proves you can read and understand others' code
- Demonstrates Git workflow knowledge
- Builds network in ML community
Career Benefits:
- Get code reviewed by experienced engineers
- Learn production code patterns
- Gain references from maintainers
- Stand out from candidates with only personal projects
Finding Good First Issues
ML/AI Projects to Contribute To:
- HuggingFace Transformers - Label:
good first issue - scikit-learn - Label:
easy,good first issue - LangChain - Label:
good first issue - FastAPI - Label:
good-first-issue - Streamlit - Label:
feature,good first issue
Where to Find Issues:
1. GitHub search: "label:good-first-issue language:python ml"
2. goodfirstissue.dev
3. up-for-grabs.net
4. Project's CONTRIBUTING.md file
Types of Contributions
Start Small:
-
Documentation (easiest entry)
- Fix typos
- Improve examples
- Add missing docstrings
-
Bug Fixes
- Reproduce reported bugs
- Write test cases
- Fix and submit PR
-
Feature Additions
- Add small utilities
- Improve error messages
- Add type hints
Avoid:
- Major refactors (too risky for first PR)
- Breaking changes
- Large feature additions
Contribution Workflow
# 1. Fork and clone
git clone https://github.com/YOUR_USERNAME/project.git
cd project
# 2. Create branch
git checkout -b fix-typo-in-readme
# 3. Make changes, commit
git add .
git commit -m "docs: fix typo in quickstart guide"
# 4. Push and create PR
git push origin fix-typo-in-readme
Writing a Good PR
PR Title Format:
type: brief description
Examples:
docs: add example for fine-tuning BERT
fix: resolve memory leak in data loader
feat: add support for custom tokenizers
PR Description Template:
## What does this PR do?
Fixes #123 - Adds example for fine-tuning BERT on custom dataset
## Why is this needed?
Current documentation doesn't show how to fine-tune models
## Testing
- [ ] Added unit tests
- [ ] Tested locally with example dataset
- [ ] Documentation builds without errors
Etiquette Rules
Before Contributing:
- Read CONTRIBUTING.md
- Check if issue is already assigned
- Comment: "I'd like to work on this"
- Wait for maintainer approval
During PR:
- Respond to reviews within 24-48 hours
- Be open to feedback
- Keep discussions professional
- Don't take rejections personally
Red Flags to Avoid:
- Submitting PR without issue discussion
- Ignoring code style guidelines
- Arguing with maintainers
- Spamming multiple PRs
:::