Lesson 20: Contributing to Open Source

Homepage Content Slides Video


This lesson is under construction. Learn from it at your own risk. If you have any feedback, please fill out our General Feedback Survey.


Open Source

Community Benefit

Share the Love (and the Code)

Personal Benefit


Free Software:
[Free Software] means that the users have the freedom to run, copy, distribute, study, change and improve the software.


The Four Freedoms:
  1. The freedom to run the program as you wish, for any purpose.
  2. The freedom to study how the program works, and change it so it does your computing as you wish. Access to the source code is a precondition for this.
  3. The freedom to redistribute copies so you can help your neighbor.
  4. The freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

Assessing a New Community

Things to consider when looking for a project.

Elitism vs Nice-ism

Is the project welcoming?

Communication style

Documentation and Guides

Things to Look for

How to Get Involved

Finding a Project

In order of perceived usefulness:

I Can't Find a Project I Like!

That's okay.

First Steps

Baby penguin stumbling.
  1. Find a project

  2. Read Contributing and Getting Started docs

  3. Look at list of issues

  4. Do a thing!

    • Write a test
    • Fix a typo
    • Deploy and update the installation docs

Know your Licenses

Software Licensing

Know your Licenses

Licenses to use:

Licenses to *not* use:

TODO: Find an Open Source Project

Further Reading

Choose A License