Open Source

Projected Time

1 hour

Prerequisites

Motivation

This lesson introduces participants to the world of open source. Contributing to Open Source projects offers many benefits:

Which companies uses open source?

Objectives

Participants will be able to

Specific Things to Learn

Supplemental Materials

Suggested Projects:

Lesson

Open Source Projects slide deck

Common Mistakes / Misconceptions

“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!

Guided Practice

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.

Independent Practice

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.

Challenge

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.