Introduction to GitHub and Open Source Collaboration#

GitHub is a social coding platform that allows individuals and teams to manage, track, and collaborate on software projects. It plays a key role in open source development, enabling contributors worldwide to work on, improve and maintain code and documentation together.

This guide covers:
What GitHub is and how it supports open source communities
How GitHub is used for both solo work and collaborative projects
The difference between personal vs. team workflows

GitHub and open source#

Open source software (OSS) is code that is publicly accessible—anyone can view, modify, and distribute it. GitHub provides the tools needed for open source projects to store code publically, manage contributions, track and address issues, and collaborate efficiently.

Specifically, in the Python language, the software is often associated with packaging, where you package up code and make it easier for a user to install on their computer. Reusable sofware allow developers and scientists to share common workflows rather than needing to recreate the code needed for each workflow themselves from scratch.

Why open source communities use GitHub#

  • Global collaboration: Developers from around the world can contribute.

  • Version control: Track every change made to the project.

  • Transparent discussions: Use issues and pull requests to propose and review changes.

  • Permission control: Maintainers decide what contributions get merged.

Social cue:
Contributing to open source is more than just writing code.
GitHub allows you to collaborate, discuss ideas, and learn from others.

Why contribute to open source?#

Contributing to open source is a way to build skills, expand your network, and give back to projects you care about.

  • Improve your skills: Gain hands-on experience with real-world projects.

  • Grow your network: Connect with developers, maintainers, and potential collaborators.

  • Showcase your work: Contributions become part of your public portfolio.

  • Support tools you use: Many contributors improve projects they rely on for work or hobbies.

  • Learn from others: See how experienced developers write and manage code.

Social cue:
Open source is collaborative—every contribution, big or small, helps the community.

Using GitHub for personal projects#

Many people start using GitHub as a personal version control tool.
This means tracking changes to your own work without collaborating with others.

Solo workflow#

  1. Clone a repository: Copy the project to your local computer.

  2. Work locally: Edit files and make changes.

  3. Commit changes: Save changes with a description of what was modified.

  4. Push changes: Upload updates to GitHub as a backup.

Visual representation of using GitHub for personal projects.

Social cue:
GitHub is useful even when working alone. It creates a backup of your work and
allows you to track changes over time—helpful for research, coding, or writing.

Using GitHub collaboratively#

GitHub is widely used in open source and team-based projects where multiple people work on the same codebase.

Collaborative workflow#

  1. Fork a repository: Create your own copy of the project on GitHub.

  2. Clone locally: Download your fork to work on it.

  3. Make and commit changes: Edit files and save your changes.

  4. Push to your fork: Upload updates to your GitHub copy.

  5. Open a pull request: Suggest changes to the main project.

  6. Collaborate and merge: Review and integrate updates.

Key difference: Instead of pushing changes directly to the project, you first fork it and work within your own copy before submitting a pull request to propose changes.

Diagram of how GitHub enables collaborative work through forking and pull requests.

Social cue:
Working on GitHub is more than writing code—it’s about communication, teamwork, and reviewing each other’s work.

Summary#

Feature

Solo Use

Collaborative Use

Main goal

Personal version control

Team-based development

Repository type

Single personal repo

Forked repositories linked together

Workflow steps

Clone, edit, commit, push

Fork, branch, pull request, merge

Review process

Self-review changes

Maintainers review contributions

What’s next?

Now that you understand GitHub’s role in open source and collaboration,
you’re ready to dive into contributing to a project!


Get started with activities to guide you through your first contribution →
Learn how to identify an issue →
Learn how to fork a repository →