Read this guide in other languages
Welcome Newbie Open Source Contributors!
This is a list of resources for people who are new to contributing to Open Source.
If you find additional resources, please create a pull request.
If you have questions or comments, please create an issue.
Table of Contents
Contributing to Open Source in general
Articles and resources that discuss the world and culture of Open Source.
- The Definitive Guide to Contributing to Open Source by @DoomHammerNG.
- An Intro to Open Source - Tutorials by DigitalOcean to guide you on your way to contribution success here on GitHub.
- Complete Guide on Open Source Contributions - YouTube tutorials playlist by "Dev Sense".
- Code Triage - A tool for finding popular repositories and issues filtered by language.
- Forge Your Future with Open Source ($) - Book devoted to explaining open source, how to find a project, and how to start contributing. Inclusive of all roles in software development, not just programmers.
- Awesome-for-beginners - a GitHub repo that amasses projects with good bugs for new contributors, and applies labels to describe them.
- Open Source Guides - Collection of resources for individuals, communities, and companies who want to learn how to run and contribute to an Open Source project.
- 45 Github Issues Dos and Don’ts - Do's and Don'ts on GitHub.
- GitHub Guides - basic guides on how to use GitHub effectively.
- Contribute to Open Source - Learn the GitHub workflow by contributing code to a simulation project.
- Linux Foundation's Open Source Guides for the Enterprise - The Linux Foundation's guides to Open Source projects.
- CSS Tricks An Open Source Etiquette Guidebook - An Open Source Etiquette Guidebook, written by Kent C. Dodds And Sarah Drasner.
- A to Z Resources for Students - Curated list of resources and opportunities for college students to learn a new coding language.
- "How to Contribute to an Open Source Project on GitHub" by Egghead.io - A step-by-step video guide of how to start contributing to Open Source projects on GitHub.
- Contributing to Open Source: A Live Walkthrough from Beginning to End - This walkthrough of an open source contribution covers everything from picking a suitable project, working on an issue, to getting the PR merged in.
- "How to Contribute to Open Source Project" by Sarah Drasner - They are focusing on the nitty-gritty of contributing a pull request (PR) to someone else’s project on GitHub.
- "How to get started with Open Source" by Sayan Chowdhury - This article covers the resources for contributing to open source for beginners based on their favorite language interest.
- "Browse good first issues to start contributing to open source" - GitHub now helps you find good first issues to start contributing to open source.
- "How to Contribute to Open Source Project" by Maryna Z - This comprehensive article is directed towards businesses (but still useful for individual contributors) where it talks about why, how, and what open-source projects to contribute to.
- "start-here-guidelines" by Andrei - Lets Git started in the world of opensource, starting in the opensource playground. Especially designed for education and practical experience purposes.
- "Getting Started with Open Source" by NumFocus - a GitHub repo that helps contributors overcome barriers to entry in open-source.
- "Opensource-4-everyone" by Chryz-hub - A repository on everything related to open source. This is a project to help with GitHub membership visibility, practice with basic and advance git commands, getting started with open source, and more.
- "Open Advice" - Knowledge collection from a wide variety of Free Software projects. It answers the question what 42 prominent contributors would have liked to know when they started so you can get a head-start no matter how and where you contribute.
- "GitHub Skills" - Level up your skills with GitHub Skills. Our friendly bot will take you through a series of fun, practical projects to learn the skills you need in no time—and share helpful feedback along the way.
- "Ten simple rules for helping newcomers become contributors to open projects" - This article covers rules based on studies of many communities and experiences of members, leaders, and observers.
- "Step-by-Step guide to contributing on GitHub" - a step-by-step guide with supporting visuals and links regarding the whole process of contributing to an open source project.
- Open Source with Pradumna - This repo contains resources and materials to learn and get yourself started with Open Source, Git, and GitHub.
- "FOSS Community Acronyms" - This repo contains a list of abbreviations used within the FOSS (Free and Open Source) community, along with their definitions and usages.
- "Open Source Fiesta - Open Source Fiesta" - Step-by-step instruction on how to contribute to GitHub repositories, and includes a git command line cheatsheet.
- "6 Best Practices to Manage Pull Request Creation and Feedback" from Jenna Kiyasu, software engineer at DoorDash Engineering.
- "Contribute to the Open-Source Community" - Advantages of open-source software, how to understand the inner workings of an open-source project and make the first contribution.
- "Complete Guide to Open Source - How to Contribute" (41:52) - Learn why and how to contribute to open source software with Eddie Jaoude.
Direct GitHub searches
Search links that point directly to suitable issues to contribute to on GitHub.
Mozilla's contributor ecosystem
Mozilla pledges for a healthy internet and with it, has opportunities to contribute to its open-source projects.
- Good First Bugs - bugs that developers have identified as a good introduction to the project.
- MDN Web Docs - help the MDN Web Docs team in documenting the web platform by fixing content issues and platform bugs.
- Mentored Bugs - bugs that have a mentor assigned who will be there on IRC to help you when you get stuck while working on a fix.
- Bugs Ahoy - a site dedicated to finding bugs on Bugzilla.
- Firefox DevTools - a site dedicated to bugs filed for the developer tools in the Firefox browser.
- Start Mozilla - a Twitter account that tweets about issues fit for contributors new to the Mozilla ecosystem.
Useful articles for new Open Source contributors
Helpful articles and blogs directed at new contributors on how to get started.
Using Version Control
Tutorials and resources of varying levels on using version control, typically Git and GitHub.
- Video tutorial for Git and Github by Harvard University - Tutorial by Harvard University, part of their CS50 Web Development course on understanding Git and GitHub and working with Git commands.
- Think Like (a) Git - Git introduction for "advanced beginners", but are still struggling, in order to give you a simple strategy to safely experiment with git.
- Quickstart - Set up Git - Learn how to set up Git locally and set up authentication, along with next steps on your learning journey.
- Everyday Git - A useful minimum set of commands for Everyday Git.
- Oh shit, git! - how to get out of common
git
mistakes described in plain English; also see Dangit, git! for the page without swears.
- Atlassian Git Tutorials - various tutorials on using
git
.
- GitHub Git Cheat Sheet (PDF)
- freeCodeCamp's Wiki on Git Resources
- GitHub Flow (42:06) - GitHub talk on how to make a pull request.
- Quickstart - GitHub Learning Resources - Git and GitHub learning resources.
- Pro Git - The entire Pro Git book, written by Scott Chacon and Ben Straub and published by Apress.
- Git-it - Step by step Git tutorial desktop app.
- Flight Rules for Git - A guide about what to do when things go wrong.
- Git Guide for Beginners in Spanish - A complete guide of slides about git and GitHub explained in Spanish. Una guía completa de diapositivas sobre git y GitHub explicadas en Español.
- Git Kraken - Visual, cross-platform, and interactive
git
desktop application for version control.
- Git Tips - Collection of most commonly used git tips and tricks.
- Git Best Practices - Commit Often, Perfect Later, Publish Once: Git Best Practices.
- Git Interactive Tutorial - Learn Git in the most visual and interactive way.
- Git Cheat Sheets - A set of graphical cheat sheets on git.
- Complete Git and GitHub Tutorial (1:12:39) - Full Git and GitHub walkthrough by Kunal Kushwaha.
- A Tutorial Introduction to Git - A Tutorial for Beginners by Git.
- First Aid Git - A searchable collection of the most frequently asked Git questions. Answers for these questions were collected from personal experience, Stackoverflow, and the official Git documentation.
- Git by Susan Potter - Show how various technical aspects of Git work under the covers to enable distributed workflows, and how it differs from other version control systems (VCSs).
- Git Tutorial for Beginners: Learn Git in 1 Hour - A beginner friendly git video by Mosh that explain the fundmental commands and also uses intelligible illustration to aid comprehension.
Open Source books
Books on all things Open Source: The Culture, History, Best Practices, etc.
- Producing Open Source Software - Producing Open Source Software is a book about the human side of Open Source development. It describes how successful projects operate, the expectations of users and developers, and the culture of free software.
- The Architecture of Open Source Applications - The authors of twenty-four open source applications explain how their software is structured, and why. From web servers and compilers to health record management systems, they are covered here to help you become a better developer.
- Open Source Book Series - Learn more about Open Source and the growing Open Source movement with a comprehensive list of free eBooks from https://opensource.com.
- Software Release Practice HOWTO - This HOWTO describes good release practices for Linux and other Open-Source projects. By following these practices, you will make it as easy as possible for users to build your code and use it, and for other developers to understand your code and cooperate with you to improve it.
- Open Sources 2.0 : The Continuing Evolution (2005) - Open Sources 2.0 is a collection of insightful and thought-provoking essays from today's technology leaders that continues painting the evolutionary picture that developed in the 1999 book, Open Sources: Voices from the Revolution.
- Open Sources: Voices from the Open Source Revolution - Essays from open-source pioneers such as Linus Torvalds (Linux), Larry Wall (Perl), and Richard Stallman (GNU).
- Code Review Anxiety Workbook - Code Review Anxiety Workbook is for New contributors and seasoned contributor programmers. It describes more about managing anxiety when making pull requests and contributions to repositories.
Open Source contribution initiatives
List of initiatives that aggregate beginner friendly issues to work on or seasonal events.
- Up For Grabs - Contains projects with beginner-friendly issues.
- First Contributions - Make your first Open Source contribution in 5 minutes. A tool and tutorial to help beginners get started with contributions. Here is the GitHub source code for the site and opportunity to make a contribution to the repository itself.
- First Timers Only - A list of bugs that are labelled "first-timers-only".
- Hacktoberfest - A program to encourage Open Source contributions. Earn gifts like t-shirts and stickers by making at least 4 pull requests in the month of October.
- 24 Pull Requests - 24 Pull Requests is a project to promote Open Source collaboration during the month of December.
- Ovio - A platform with a curated selection of contributor-friendly projects. It has a powerful issue search tool and let's you save projects and issues for later.
- Contribute-To-This-Project - This is a tutorial to help first-time contributors to participate in a simple and easy project and get comfortable in using GitHub.
- Open Source Welcome Committee - The Open Source Welcome Committee (OSWC) helps newcomers join the extraordinary world of Open Source. Come submit your open-source projects with us!
Open Source programs to participate in
A program, internship, or fellowship hosted by a community to help match beginning contributors with mentors and resources to contribute to open source software projects.
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.