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:

  1. Documentation (easiest entry)

    • Fix typos
    • Improve examples
    • Add missing docstrings
  2. Bug Fixes

    • Reproduce reported bugs
    • Write test cases
    • Fix and submit PR
  3. 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:

  1. Read CONTRIBUTING.md
  2. Check if issue is already assigned
  3. Comment: "I'd like to work on this"
  4. 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

:::

Quiz

Module 4: GitHub & Open Source Presence

Take Quiz