As a software engineer in 2017, I rely on a lot of open-source software to do my daily job. GitLab, NPM, NodeJs, Visual Studio Code, Docker, etc. There are a lot of really fantastic tools and applications out there for no money! What a wonderful world we live in.
Of course, all these applications come from somewhere. Somebody writes the code on his or her own time and then puts it out on the internet for anyone to use. Even better, the code’s in the open for anyone to look at, modify, do what you want with it. What a fantastic concept! All for the love of code!
How to pay back these good people giving away their time and effort for the things we rely on everyday? Contribute!
No better way to show your gratitude than to help out and offer up your time and skills in helping make these projects even better! The wonderful open-source community is very welcoming to new people that are willing to help.
This month, October, is the perfect time to get your feet wet and give back to the community. Digital Ocean hosts Hacktoberfest, “a month-long celebration of open source software”. This is when a bunch of projects label issues to indicate that they are good for first-time contributors. Digital Ocean gives out a t-shirt to anyone who makes 4 pull requests (request to merge your code changes with the original project) during the month.
On to my story of my first merged pull request!
I’ve been eyeing a project as something to use at work for some time. OpenFaaS. “Functions as a service for Docker and Kubernetes”. An excellent concept! Run serverless, auto-scaling functions, in any language as Docker containers on your own infrastructure.
I commented on the issue mentioning I would like to take care of it. This way the maintainers and other potential contributors know that this issue is in progress. Then, I read the Contributing guide so I understand the rules and processes for making changes to the project. This project required that every commit to be signed off. Signing-off commits is a process that protects open-source projects. You can read more about it in the OpenFaas contributing guide.
I joined the Slack channel where fans and contributors collaborate on the project. There, I openly asked if someone could help me work through some issues I was having. Several people quickly jumped in and offered suggestions on how to work through my troubles and help make the next time much easier. I was eventually pointed to an excellent article about how to set up a workflow for contributing to open-source projects: https://blog.scottlowe.org/2015/01/27/using-fork-branch-git-workflow/
After reading the article, and some more discussions with the OpenFaaS team. I made my code change, did some testing to make sure it worked the way it should, and also didn’t break any existing tests! I did have to make a small update that the project lead, Alex Ellis, suggested.
My pull request was approved and merged!
It feels great knowing that the project’s continuous integration now pushes images to Docker Hub automatically because of a change that I made. This one change has really lit a fire and I’m already on my way to making another contribution knowing that I have the support of the team at OpenFaaS.
Everyone on the OpenFaas project is so open, friendly, and helpful. I really appreciate all the help I received when trying to become part of the project. Since I’ve made my changes, I am a part of the contributor slide that is shown during presentations and I’ve been invited to join the contributor round-table meetings. Exciting!
Now, it’s your turn:
- Find out more about OpenFaaS here
- Want to join the Slack channel? Email firstname.lastname@example.org
- See if there’s an open issue you can work on.
If you get confused, or stuck, ask for help. Everyone is on the same team here! If you can’t find an open issue that you can handle, ask the project lead if there’s any way you can help out. I’m sure they have a list of little things that could use some attention, and they would love your help.
So get out there and contribute and get a free t-shirt! #Hacktoberfest