Read this guide in other languages
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
- Direct GitHub searches
- Mozilla's contributor ecosystem
- Useful articles for new Open Source contributors
- Using Version Control
- Open Source books
- Open Source contribution initiatives
- Open Source programs to participate in
- License
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.
- "Opensoure-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.
Search links that point directly to suitable issues to contribute to on GitHub.
- is:issue is:open label:beginner
- is:issue is:open label:easy
- is:issue is:open label:first-timers-only
- is:issue is:open label:good-first-bug
- is:issue is:open label:"good first issue"
- is:issue is:open label:starter
- is:issue is:open label:up-for-grabs
- is:issue is:open label:easy-fix
- is:issue is:open label:"beginner friendly"
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.
Helpful articles and blogs directed at new contributors on how to get started.
- Finding ways to contribute to open source on GitHub by @GitHub
- How to choose (and contribute to) your first Open Source project by @GitHub
- How to find your first Open Source bug to fix by @Shubheksha
- First Timers Only by @kentcdodds
- Bring Kindness Back to Open Source by @shanselman
- Getting into Open Source for the First Time by @mcdonnelldean
- How to Contribute to Open Source by @GitHub
- How to Find a Bug in Your Code by @dougbradbury
- Mastering Markdown by @GitHub
- First mission: Contributors page by @forCrowd
- How to make your first Open Source contribution in just 5 minutes by @roshanjossey
- I just got my free Hacktoberfest shirt. Here’s a quick way you can get yours. by @quincylarson
- A Bitter Guide To Open Source by @ken_wheeler
- A junior developer’s step-by-step guide to contributing to Open Source for the first time by @LetaKeane
- Learn Git and GitHub Step By Step (on Windows) by @ows-ali
- Why Open Source and How? by @james-gallagher
- How to get started with Open Source - By Sayan Chowdhury
- What open-source should I contribute to by @kentcdodds
- An immersive introductory guide to Open-source by Franklin Okolie
- Getting started with contributing to open source by Zara Cooper
- Beginner's guide to open-source contribution by Sudipto Ghosh
- 8 non-code ways to contribute to open source by OpenSource
- What is Open Source Software? OSS Explained in Plain English by Jessica Wilkins
- How to Start an Open Source Project on GitHub – Tips from Building My Trending Repo by @Rishit-dagli
- Finding Good First Issues by Brian Douglas
- How can I become an Open Source contributor? (The ultimate guide) by Julia Furst Morgado
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.
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).
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!
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.
- All Linux Foundation (LF) Mentorships
- Beginner friendly Open Source programs with their timelines
- Cloud Native Computing Foundation
- FossAsia
- Free Software Foundation (FSF) Internship
- Google Summer of Code - An annually run paid program by Google focused on bringing more student developers into open-source software development.
- Girlscript Summer of Code - A three-month-long Open-Source Program conducted every summer by the Girlscript Foundation. With constant efforts, participants contribute to numerous projects under the extreme guidance of skilled mentors over these months. With such exposure, students begin to contribute to real-world projects from the comfort of their homes.
- Hacktoberfest - An annual event hosted every October to encourage people to contribute to open source!
- Hyperledger Mentorship Program - If you’re into the blockchain, this is for you. You can contribute to Hyperledger. This mentorship program allows you to get practical exposure to Hyperledger open source development.You will be allotted mentors who are quite active in the Hyperledger developers community.
- LF Networking Mentorship
- Microsoft Reinforcement Learning
- Major League Hacking (MLH) Fellowship - A remote internship alternative for aspiring technologists where they build, or contribute to open-source projects.
- Open Summer of Code
- Open Mainframe - Open Mainframe Project also has its own open-source program and the mentees will be able to expand their knowledge on the mainframe technology
- Outreachy
- Processing Foundation Internship
- Rails Girls Summer of Code - A global fellowship program for women and non-binary coders where they work on existing open-source projects and expand their skillset.
- Redox OS Summer of Code - The Redox OS Summer of Code is the primary use of donations to the Redox OS project. Students are selected who have already demonstrated a desire and ability to contribute to Redox OS
- Social Summer of Code - Social foundation offers this two-month long summer program for students to learn about the open-source culture and get involved in the community. Participants contribute to real-life projects under the guidance of experienced mentors.
- Season of KDE - The Season of KDE, hosted by the KDE community, is an outreach program for all individuals across the world. KDE is an international free software community that develops free and open-source software and you can contribute to KDE through the Season of KDE program
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.