This lesson introduces participants to the world of open source. Contributing to Open Source projects offers many benefits:
- Learn new things
- Contribute to a project you are interested in
- Work with and meet new people
- Offers a new perspective on working on code outside of your usual place (like through work)
Which companies uses open source?
- Adobe: Link here describes how open source is supported by Adobe.
- Automattic: Link here describes how open source is supported by Automattic.
Participants will be able to
- Understand what an open source project is
- How to find an Open Source project to contribute to
- What is Open Source
- What is an Open Source project
- History of Open Source and common projects
- Why people love Open Source
- Types of Open Source licenses
- How to find an Open Source project to contribute to
- https://www.firsttimersonly.com/
- https://roshanjossey.github.io/first-contributions/#project-list
- https://publiclab.github.io/community-toolbox/#r=all
- https://github.com/MunGell/awesome-for-beginners
- https://up-for-grabs.net/#/tags/javascript
- GitHub Explore
- opensource.com
- Free Software Foundation
- opensource.org
- Beginner-friendly open source JavaScript projects you can contribute to
- Practicing using GitHub to contribute to an Open Source project
- Up for Grabs: Explore Open Source Projects and Jump In
- Women Who Code (See 'Featured Repos' and 'How do we contribute to a project?' Sections)
Open Source Projects slide deck
"Open source is hard" / "Open source is time-consuming" / "I don't know how to get started" / "I don't have time"
Getting started on an Open Source project can be intimidating, but it doesn't have to be. A good way to get started is to reference the slides on how to get started. Another way is to find something that interests you and see if there is an Open Source project related to it.
Maybe you are interested in helping to create a website for food gardeners? Or maybe that now you know how to code, you want to give back in helping others learn to code? Or maybe you want to be more specific and help vets learn how to code?
There are tons of projects out there! Once you find one you're interested in, go to the Issues
section of the repo and look for a first-timers-only
label. Not every project will have this label, but if you find an issue with that label, grab it and start working on it!
"I don't want to code outside of work!"
If you find an interesting project, your only contribution doesn't have to be just code. You could contribute to documentation, write blog posts, or even answer questions on Stack Overflow.
Operation Code could be an interesting place to start with enough set up instructions to get started. The goal of this exercise is to go through the steps of setting up an Open Source project on your computer and get it ready to run locally to be able to start fixing bugs.
Go through the resources in this lesson to pick an Open Source project that would be interesting to you. Follow the set-up instructions to get the repo on your machine and see if you can get things running locally.
Try picking a bug and see if you can start tackling it! Don't worry too much about actually trying to fix the issue (although that is a bonus). The goal here is to get used to working in an existing codebase.