IBM Developer Blog

Follow the latest happenings with IBM Developer and stay in the know.

Start contributing to open source projects today

Jumping into the open source world can be intimidating for the uninitiated. Don’t let fear of the unknown stop you from getting involved in open source. In this blog post, we cover some of the basics you need to know before contributing your first line of code.

Let’s start with the basics. What is open source? Open source software is code that is published publicly and anyone can see, use, or modify the code for their needs. Developers put their code in public repositories like the ones on GitLab or GitHub, so that more people can see and interact with the code.

Ideally, if a person or group of people change the open source code to enhance it or make it better, they can contribute their changes back to a project to make the core technology stronger.

People who contribute code are called contributors, and the people who approve changes to a code’s core are called committers or maintainers, depending on the project you’re working on.

Collaborative development practices

Now that you understand that basic gist of open source, let’s go a little deeper.

While some open source projects are small developer tools that help you accomplish a single task, other open source projects are large, complicated pieces of software that have interconnected parts. In these larger projects, different teams or working groups focus on developing specific parts of the technology, collaborating on the technology, peer reviewing and testing the code, and contributing their changes to the core tech.

Tools and practices to know

Before you can start contributing, there are a few different tools that you need to know and understand, including GitHub and Git.


For GitHub basics, the best place to start is, unsurprisingly, GitHub. Their Hello World docs are a great first step in building learning GitHub by practice:

These tutorials show you how to:

  • Create and use a repository
  • Start and manage a new branch
  • Make changes to a file and push them to GitHub as commits
  • Open and merge a pull request


Git is a version-control system that enables you to see the changes that are made to your files and programs over time (and undo them, if necessary) and also collaborate with other people on your code. GitHub, GitLab, and BitBucket all use a Git server program for hosting code.

This Step-by-step guide to Git covers the basics of what you need to know.

Expand your open source skills

Want to learn more? Our “Call for Code: Introduction to Open Source” online course is available at no cost and will take you through the key concepts, tools, and processes you need to contribute to any open source project. Earn a badge by completing this course.

Working towards your first commit

Find the right project for you. How do you find a project to contribute to? A good place to start is to think about your interests and your skills, browse some of the projects of open source foundations like the Linux Foundation, Apache Foundation, and CNCF and see if you can find a project that aligns with your interests and skills. One way to make sure the community is welcoming and friendly is to send an email or chat and tell them you’d like to get involved. Do you get a friendly reply? That’s a good sign! Deafening silence? Move right along.

Start small. For your first commit, start small. You can simply try a solution out and report a bug you find, or look for a “help wanted” issue in a project’s board. Listen to this Command Line Heroes podcast for inspiration on how to push through the “terror” of your first commit.

Be a good community member. Once you do find the right project and make your first commit, be a good community member. Work hard. Meet your deadlines. Be kind. Essentially, treat others how you want to be treated. Here are a few more tips for how to be a good community member.

Contribute to Tech for Good open source projects

Ready to make your first commit? Get involved with some of our Call for Code open source projects around topics like racial justice, climate change and more. We have a friendly community of developers who are eager to collaborate with more people to build innovative solutions that fight back against the most pressing issues of our time.

Racial justice projects

Take a stand against racism. Explore multiple open source Call for Code for Racial Justice projects with solution starters that cover a range of topics such as Police & Judicial Reform and Accountability, Diverse Representation, and Policy & Legislation Reform. Learn about the projects and how you can start building, evolving, and leveraging the technology to directly benefit local organizations and communities.

Climate change and disaster response projects

Here are some example projects you can contribute to today to help make a difference:

  • Pyrrha from Prometeo monitors the levels of toxin exposure for firefighters and to alert them before they are in danger of longterm respiratory problems.
  • ISAC-SIMO from Build Change uses AI and computer vision to help detect construction issues that could become life-threatening during a major incident like a hurricane or earthquake.
  • Liquid Prep helps farmers understand water usage and optimize their crop yields.
  • Project Owl’s ClusterDuck Protocol helps communities reeling from extreme weather events and other disasters by connecting first responders with residents when the power fails.

Find more Call for Code open source projects supported by the Linux Foundation.