Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Open Source Projects

Open Source

One of the best ways to deepen your understanding of code is to get involved with open source projects: reading open source, using open source, contributing to open source.

The nice thing about contributing to an open source project is that it not only provides a meaningful opportunity for you to build your skills, it is also something that is measured and can be shown to potential employers on a portfolio. When I hire software developers into my lab, one of the first things we examine is their GitHub profile to look at patterns of contribution.

Resources for Finding Open Source Repositories

GitHub

GitHub is the largest global collection of open source projects. It can be…intense…when you are new, but it is worth time invested in getting to know how to use it to find projects, get access to code, and contribute to projects.

You can explore the repositories on GitHub in several ways. I think browsing the collections is best. There are also some nice resources there on linters (programs that clean your code to comply to style guides).

One collection that might be particularly useful if you are brand new to open source is this collection for newcomers to open source coding.

PyPI

The Python Package Index is a collection of open source, Python packages. You can browse them here.

When you find a package that you think is useful or cool, you can engage with it in a few ways. First, you may want to install it and play with it following some of the quick start tutorials and documentation. Then, you may want to find the GitHub repo associated with the package and fork it so that you can take a look and read the code. If you want to contribute to the project, you should look at the Issues associated with the repository and see if any are tagged as good for newcomers.