Getting Started with Open Source Banner

Getting started with an open source project can seem daunting.
However, contributing to an existing open source project is a great first step. The open source community depends on interest in and contributions to existing projects. Also, contributing to an existing project or creating your own project is a great way to build a presence in the community.

What does it mean for a project to be open source?

Open source means that anyone can view the code used to create a project.
For a project to be considered open source, it must generally be freely modifiable and distributable. If you are not sure if a project is open source, you can check the license for the project. The license defines just how open the project is.

How can you contribute to open source projects?

Step 1. Create an account with a Git-hosting service
There are many Git-hosting services to choose from. Git is an open source version control system widely used for software development. Familiarizing yourself with Git is helpful to get the most out of any Git-hosting service.
A popular Git-hosting service for open source project contributions is GitHub. Through GitHub, you can access pertinent information and guidelines specific to a project. Once you create your account, you can update your profile and start to explore projects of interest.
Step 2. Find a project that interests you
Finding projects that you are enthusiastic or passionate about is a great way to join the open source community. By looking at the number of stars and contributors a project has, you can see how involved the community is with a project.
Remember that every project that has lots of stars at one point had only a few stars. If you find a project you are passionate about that is newer and has a lower star count, getting involved early can be an excellent way to establish yourself as a leader once the project grows.
Make sure you read through the contributor-focused resources. Projects usually provide contributor guidelines, developer documentation, codes of conduct, Slack channels for collaboration, etc.
Step 3. Explore tasks related to the project
Every project on Github has something called issues, but the specific term varies by platform. Issues are tasks that contributors can work on. Getting familiar issues for a project is a great way to identify a place to start contributing.

xarray-spatial github issues

Step 4. Reach out to project contributors and find a mentor
It is important to connect with other people in the community. You can share ideas with other contributors, learn more about current goals for a project, and build a presence and name in the wider open source community.
By far the best way to get other people interested in working with you is to make meaningful contributions to important issues on a project.
Do not be afraid to ask for advice or start a conversation with other project participants. Keep in mind that contributors are oftentimes volunteers, so their time and availability may be limited.
Step 5. Start contributing
To start contributing, fork the repository — this creates a copy of a project for you to work on.

fork on github pull request

You can contribute anything from code, ideas, documentation, social media or marketing expertise, etc.
To do so, you can create/open a pull request. A pull request allows you to update other contributors on proposed ideas or changes and review and discuss them as needed before they are integrated.
You have to specify the “base branch” your contribution is for, the “head fork” you copied and made changes to, and the specific branch you worked on in the fork, known as the “compare branch”.
xarray-spatial pull request across forks
It is important to note that you do not have to know how to code to contribute to a project!
You can contribute to existing documentation, help with translations into other languages, graphic design, answer user questions, support promotion efforts through outreach, conference talks or presentations, social media marketing, make monetary donations, etc.

Some projects you can start with

Some of the projects the makepath team currently contributes to are the Xarray-Spatial, Bokeh, Datashader and mapshader libraries.
Xarray-Spatial
The Xarray-Spatial library is a geospatial analysis project. If you are interested in studying topography or spatial statistics, this library is a good project to look into.

xarray-spatial open source library

Bokeh
Bokeh is a great library for creating interactive visualizations that work well on web pages. It has an extensive community with lots of opportunities for contributions.

bokeh logo

Datashader
Datshader is an exceptional library for turning massive datasets into insightful and beautiful visualizations. It scales wells and is known for its accuracy and precision.

datashader logo

mapshader
mapshader is an experimental library for simple Python GIS Web Services. Objects created with mapshader can be rendered as GeoJSON, tiles, or images.

mapshader logo

How can I contribute to these projects?

Contributing to the projects highlighted above is as easy as exploring the Github repositories for each project and looking out for new issues and developments.
Have any questions or want to learn more? Let’s connect at contact@makepath.com!