How I started contributing to the Grafana open source project
Grafana Labs is an open source company around open source projects. We believe in open source and in giving back to the community. This is why we participate in Hacktoberfest, encouraging open source contributions by working with developers submitting their first pull requests on GitHub. This guest blog comes from a new contributor to the Grafana project.
My name is Karine. I’m a Software Engineer working with a team that provides monitoring solutions to our clients. A good part of my daily work is creating dashboards in Grafana. Since I started working with this tool, I have been so impressed by the quality and ease of use. I became even more impressed when I discovered it was an open source tool.
I decided to contribute to Grafana after the company I work with created an initiative to help its employees become active in open source. One interesting thing about this initiative was that it provides a checklist to help you figure out if the open source project is a good one to contribute to: Is the repository active? Is the community friendly? Is the project open to receive pull requests from new contributors? Also, it encourages you to contribute to an open source project that you use in your daily life.
I was checking some projects that I use in my daily life, but none of them looked good to contribute to. Sometimes the repository was messy, and it was difficult to find issues needing help. Other times, the maintainers weren’t looking friendly with external contributors. They didn’t respond to issues opened by users, or they didn’t accept PRs from external contributors. Even worse, sometimes they didn’t thank the people who contributed to the project.
As I mentioned before, I use Grafana in my daily work, so I thought it would be a good idea to check its repository and see if there is something that I could contribute. When I looked at the issues in the repository, I was really impressed by the organization of the repository. The maintainers are actively responding to issues open by the community. Also, they use a lot of labels to classify the issues according to the area (backend, frontend, alerting, etc.), the type (bug, docs, discussion, etc.), the priority, and a lot more.
One particular kind of label drew my attention. It was the effort label. There are four levels of effort: small, medium, large, and x-large. These labels helped me to find my first issue to contribute. Since it was my first time contributing to Grafana, I thought it would be a good idea to find an issue with a small effort. Then, I applied the filter using the label “effort/small” and looked at the available ones. I found one issue to help with the documentation of some react components of grafana-ui. Then, I picked one component, studied it, and finally wrote the documentation. I opened the pull request, and some maintainers made some suggestions to improve the quality of the documentation. I applied the suggestions, and then they accepted my first PR!
During Hacktoberfest, I decided to contribute again. It would be my first time participating in the event, and I was really excited. I found my second issue to contribute to Grafana also by using the labels, but this time using the labels “beginner friendly” and “Hacktoberfest.” The issue was to add a new index to the migration tables of the database. The contribution process was the same: I studied the code and wrote the code to fix the issue. Then I opened the PR, the maintainers reviewed it, and made some suggestions. After I applied the suggestions, they accepted my PR.
If you are interested in getting started contributing to Grafana, here are some useful labels to help you find a first issue to work on:
- beginner friendly
- good first issue
- help wanted
Other projects may have similar labels that you can look for.
I had a great experience contributing to Grafana. The community is very friendly, and they are willing to help new contributors. I’m looking forward to contributing more!