Skip to main content
CF

How to Contribute to an Open Source Project on GitHub

38m 20s
English
Paid

“Feel free to submit a PR!” These are words often found in GitHub issues but are commonly met with confusion and fear by many. Starting with open source contributions isn't always straightforward and can indeed be tricky. Through this series, you'll be equipped with the tools, knowledge, and understanding you need to confidently contribute to the vibrant world of open source projects. While much of this series focuses on GitHub, most concepts are broadly applicable to contributing to any open source project, no matter where it is hosted.

Understanding Open Source Contributions

Contributing to open source projects can be a rewarding experience, both in terms of personal growth and professional development. It offers opportunities to collaborate with other developers, improve software skills, and make an impact in the software community.

What is a PR?

PR, or Pull Request, is a method of submitting contributions to an open source project. It allows project maintainers to review your work before integrating it into the main project codebase.

Why Contribute to Open Source?

There are several reasons to contribute to open source:

  • Learning: Develop new skills and improve your coding expertise.
  • Collaboration: Work with talented developers from around the world.
  • Community: Be part of a community and contribute to projects you care about.
  • Impact: Your contributions can be used by thousands, if not millions, of users globally.

Getting Started on GitHub

GitHub is a platform that hosts millions of open source projects. To start contributing, you'll need to understand some basic concepts and workflows.

Setting Up Your GitHub Account

Begin by creating a GitHub account if you don't already have one. Customize your profile to reflect your skills and experiences.

Finding Projects to Contribute To

Search for projects that align with your interests and skill set. Look for labels like 'good first issue' or 'help wanted' to find beginner-friendly contributions.

Submitting Your First PR

Once you've identified a project and issue to work on, it's time to submit your first Pull Request (PR). Follow these steps to ensure your contributions are successful:

Fork the Repository

Fork the project repository to create a copy under your GitHub account.

Clone Your Fork Locally

Use Git to clone the forked repository to your local machine for work.

Create a Branch

Make a new branch where you'll implement your changes, ensuring the main project branches remain clean.

Implement and Test Changes

Make your changes, and thoroughly test them to confirm everything works as expected.

Open the Pull Request

Go back to GitHub and open a Pull Request from your branch. Clearly describe the changes you've made and reference any relevant issue numbers.

Becoming an Effective Contributor

Beyond the technical aspects, effective contributors understand the importance of communication and collaboration. Ask questions, seek feedback, and respect the open source community’s etiquette and guidelines.

Engage with the Community

Participate in discussions and offer assistance where possible. Engaging with the community can enrich your open source journey and open doors to advanced opportunities.

Start your open source journey today, and transform confusion and fear into knowledge and confidence with every contribution you make!

About the Author: egghead.io

egghead.io thumbnail

egghead.io is a US-based subscription video platform focused on short, focused screencasts on JavaScript ecosystem topics. Founded in 2012 by John Lindquist (a Google Developer Expert) and run by Joel Hooks, egghead pioneered the short-screencast format that most modern developer-education platforms now use — courses are typically broken into 2-5 minute lessons that each cover one specific concept or API.

The instructor roster includes many of the most cited names in the JavaScript ecosystem — Kent C. Dodds (whose Testing JavaScript launched on egghead before EpicWeb.dev), Andrew Del Prete, Hannah Davis, Lukas Ruebbelke, Tomasz Łakomy, Andy Van Slaars, and many others. Course material covers React, Next.js, TypeScript, Node.js, GraphQL, Vue, the testing tracks, RxJS / observables, and a long list of smaller libraries and tools.

The CourseFlix listing under this source carries over 20 egghead courses spanning that range. Material is paid; egghead itself runs on a monthly / annual subscription on the original platform. The bite-sized format suits developers learning incrementally during work hours rather than committing to multi-hour video sessions.

Watch Online 14 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 14 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Introduction to GitHub
All Course Lessons (14)
#Lesson TitleDurationAccess
1
Introduction to GitHub Demo
00:48
2
Exploring GitHub
01:48
3
Exploring a Repository
04:08
4
How to install Git SCM
02:16
5
How to authenticate with GitHub using SSH
03:35
6
Identifying How to Contribute to an Open Source Project on GitHub
02:16
7
How to Fork and Clone a GitHub Repository
02:42
8
Setting up the project locally
01:19
9
How to create a Pull Request on GitHub
06:20
10
How to Collaborate on a Pull Request on GitHub
02:22
11
How to update a Pull Request on GitHub
02:58
12
How to rebase a git Pull Request branch
03:40
13
How to squash multiple git commits
02:54
14
Getting a Pull Request Merged and Wrapping up
01:14
Unlock unlimited learning

Get instant access to all 13 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

  • Master Git & GitHub thumbnailUpdated 7mo ago

    Master Git & GitHub

    By: Beto Moedano
    Master Git & GitHub is a practical course that will teach you to work confidently with the Git version control system and the GitHub platform. The course is str
    2h 57m
  • Git & GitHub Full Course thumbnailUpdated 2y ago

    Git & GitHub Full Course

    By: Fireship
    The Git & GitHub Full Course teaches you how to use Git and GitHub to manage your code like a professional software engineer.
    1h3/5
  • GitHub Actions & Git Hooks thumbnailUpdated 4mo ago

    GitHub Actions & Git Hooks

    By: Michael Guay
    In this comprehensive lesson, you will discover how to set up an efficient CI/CD pipeline using GitHub Actions .
    18m

Frequently asked questions

What prerequisites are needed before taking this course?
Before taking this course, you should have a basic understanding of version control systems and programming concepts. Familiarity with Git is helpful but not mandatory, as the course includes lessons on installing Git SCM and using GitHub.
What will I be able to build or achieve by the end of the course?
By the end of the course, you will be able to confidently contribute to open source projects on GitHub. You will learn how to fork and clone repositories, set up projects locally, create and manage Pull Requests, collaborate with other contributors, and understand how to get your contributions merged.
Who is the target audience for this course?
The course is designed for developers interested in contributing to open source projects, whether they are beginners in open source or experienced programmers looking to refine their GitHub contribution skills. It's suitable for those who want to learn how to collaborate on large projects and make meaningful contributions to the open source community.
What GitHub-specific tools or practices does the course cover?
The course covers a range of GitHub-specific tools and practices, including how to authenticate with GitHub using SSH, create and manage Pull Requests, collaborate on Pull Requests, update them, and perform actions like rebasing and squashing commits. These skills are essential for effective project contributions on GitHub.
What topics are not covered in this course?
The course does not cover advanced Git topics or GitHub administration features, such as setting up CI/CD pipelines, managing GitHub Actions, or detailed project management tasks beyond basic collaboration and contribution processes.
How much time should I expect to commit to this course?
As the course consists of 14 lessons, the time commitment will depend on your pace. However, you should allocate sufficient time to practice each topic, especially hands-on activities like forking repositories, creating Pull Requests, and collaborating with others on GitHub.
How can the skills learned in this course benefit my career?
The skills learned in this course can enhance your career by improving your ability to contribute to open source projects, collaborate effectively with global development teams, and showcase your work publicly. These capabilities are valuable in many software development roles and can lead to better job opportunities and professional networking.