Contributing to Open Source

by | Jun 23, 2021

If you’re here you probably know the essence of open source already. To us, open source means more than just open source code – it’s also the ethics and the community feeling that goes along with that.
For us it means that the people working on Icinga are more than just who we see in our office – Icinga lives from your ideas and contributions.
And we want to invite you to join in on the fun!

This blogpost serves as a short summary of my talk that I gave over at stackconf, the video can be found on YouTube or in the stackconf archive with the slides on slideshare.

The talk and this post are motivated by the knowledge that a lot of potential new contributors, like I used to be, don’t know how and where to get started or because they don’t know that you don’t have to be a programmer to help out!

 

Where to start?

So if you want to get into contributing, you might want to look into different ways you can contribute to find the right entry point for you.

The first thing that comes to mind is obviously writing code. But that’s just one of the many ways to help out!

 

Making changes to the repositories

Most projects have a rather long issue list on GitHub, and a lot of those will offer tags on their issues like “good first issue” that you could look into.

But even when you want to contribute to the codebase of a project, you don’t necessarily know any programming languages. The documentation of a project is usually written in an easily readable format like markdown and you can absolutely help out by suggesting corrections and improvements.

Image of commit message: Fix problem with notifications in HA cluster There was a race condition when restarting. refs #4567

A good commit message includes a short topic, additional body and a reference to the issue you are working on, if there is one.

If you want to make changes to the repositories, you will most likely have to use git. Check out this workflow on how to get your changes into the codebase. 

 

Making a difference for other users

Helping out other users of the project is just as much of a valid contribution as working on the repository.
Most projects have a forum you can visit and see if you can help resolve issues that people might be facing. Or share questions and thoughts you have for discussion! Every question you ask publicly might help out someone else who is facing a similar challenge get to the bottom of the problem.

Or, if you feel like you have found a good workflow for yourself, do write a blogpost about it and share how you are using a tool with the world. Even if you don’t feel like it is the most efficient way, it might spark an interesting discussion about it!

 

Helping the developers

We already went over coding as a way to help out the devs, but there are even more ways to positively impact the development of your favourite projects.

For example simply using it and reporting any bugs or weird behaviours you notice. As much as everyone is trying to test their software as well as possible, there will always be things that slip through. So feel free to open an issue with your findings – and even better: open a good issue with too many details rather than too few!

Image of an Icinga2 bug report template

A good issue includes a detailed description of your findings, how to reproduce the behaviour, how you expected the software to behave, if possible any screenshots you can take, information about your environment and any additional context you can give!

 

And lastly, strat discussions! Talk about the software, generate information about the usage of the project and help spread the word. It might not be possible for a developer to know all of the possible use cases and their challenges of their software – we’re all humans after all – so feel free to just start talking about your favourite projects and put them in the spotlight!

So, to get some more info on the topic, feel free to watch my talk on YouTube and thank you for coming to my TED talk.

I’ll see you in the forum 🙂

You May Also Like…

Releasing Icinga DB v1.2.1

Releasing Icinga DB v1.2.1

Today we are releasing a new version of Icinga DB, version 1.2.1, a maintenance release that addresses HA issues and...

Subscribe to our Newsletter

A monthly digest of the latest Icinga news, releases, articles and community topics.