Getting into the world of open source
My contributions to open source so far have been both small and at the same time, as a beginner, pretty frustrating. I’m not completely familiar with the development world, and even less so with coding. Although coding has been something that I’ve been taught since I was younger, I wasn’t ever inspired enough by it to participate in projects.
A few months ago, I decided to get into Open Source. To start, I simply wanted make a few pull requests. So, I went to the Experts on Twitter to ask them what I should do. Ted Gould ended up suggesting that I gain some experience by getting involved in an Ubuntu project. (I do love Linux, so why not?).
Leo Arias also has been a huge help in my progress. There were quite a few times he could’ve easily given up on me, but he stuck around and also did a lot to make my contributions useful.
Mentoring opportunity at Ohio LinuxFest
After seeing a post by Lauren Kinsey requesting mentor volunteers for the Get Your Feet Wet In Open Source workshop at Ohio LinuxFest, I knew I wanted to go and learn from either the side as a mentor OR as a student. Lauren assured me that despite the little experience I already had, I would be a great mentor.
Lauren is a fellow Information Security professional, and the Chair of Diversity and Inclusion for Ohio LinuxFest. She created the “Get Your Feet Wet in Open Source” workshop with the help of a team of volunteers. Her goal was to create a welcoming space where people from groups that are underrepresented in open source could learn to make their first contribution.
Even though I had just started my position at Hurricane Labs, they were happy to send me to Ohio Linuxfest for the workshop. I chose to work with Snapcraft, a packaging tool, which is what Leo had been helping me with for a few months already. It would’ve been awesome if Leo could have been there too, but his guidance inspired me to be as helpful as possible to others.
Ubuntu was kind enough to send t-shirts and USB sticks too, which arrived just in time!
Focus on diversity and working together
The workshop took most of the day Saturday during Ohio LinuxFest. Several weeks before, Lauren set the tone by publishing a Code Of Conduct. The purpose of this was to establish that the workshop would be focused on diversity and inclusion, meaning that certain behaviors would not be tolerated.
In the months leading up to the workshop, Lauren and her team of volunteers did extensive outreach into diverse communities. There were about 50 people in the workshop and it was great to see so much racial and gender diversity at a tech event.
The workshop started off with two speakers. Dr. Nikol Bowen spoke about bias and how even the smallest microaggressions can add up. Another community guide then spoke about gendered pronouns, and how using someone’s preferred pronoun is important.
If you want to learn more about inclusivity in messaging and public speaking, you can take a free course from The Linux Foundation.
Enter my chosen project: Snapcraft
After the community guides spoke, we began working on our projects. My chosen project, Snapcraft, was flexible because anyone at any level could contribute.
Snapcraft is a packaging tool that helps pull in all the packages needed to run the application, and sets up the environment then installs the application for the user with very minimal effort. Installing an application via snapcraft on Ubuntu is as easy as typing “Sudo snap install bitcoin --candidate.” The code behind the snap will supply where to download the bitcoin application, what the programming language is, and what packages to install with it.
Packaging free software is a good way to start contributing. There are many things to do for Snapcraft: Create snaps, test snaps, write documentation, edit documentation, work on bugs, or any other product improvement ideas you might come up with.
David and Monty decided to join me at my table. They were both very nice guys to work with and it made the trip from Texas worth it just to be able to work with them. We got started with getting all set up on github, the snapcraft forums, chatroom, and launchpad.
Most of our time was used to explain how to use Snapcraft and how to run snaps. We benefited from the loaner laptops provided by CAS. Although a lot of my thinking skills were hindered by the terrible cold I was fighting, we eventually got Snapcraft going and were able to run a simple password generator snap. The best advice I can give about contributing to open source is do not be afraid to ask for help. Whenever we had a question there was the Snapcraft chatroom available.
Toward the end, we decided to try and create a snap. During our attempt to make Monty’s Fortune Teller program into a snap, we ended up running into some issues. Because I was not familiar with Java, or what would be required to run the program, it was difficult to turn it into a snap. Although we ran out of the time necessary to successfully create the snap, it was a great challenge and learning opportunity.
My goal was to share Snapcraft and also show a cool thing that could be done with Linux, and I’m pleased with what was accomplished. David and Monty both expressed interest in continuing to contribute to Snapcraft, and I hope to see them in the chatrooms and will look forward to seeing their contributions.
Now it’s your turn to get involved!
The theme of the workshop was found in the title itself: Get Your Feet Wet. The biggest step is just dipping your feet into the water. There are plenty of people that will help you from there. You may not know how to code, or how to even contribute, but the world of open source is filled with many interesting projects all with unique ways to contribute. You can find your first issue to tackle at Your First Pull Request. If you want to find a project to join, Up For Grabs is a directory of projects requesting new contributors. If you want to be involved in a project but may not be the most technically savvy, there are also citizen science projects that you can even do as a family.
I would like to encourage you to at least try to make one open source contribution. It’s a great way to learn something new, potentially find a delightful new hobby, and build connections with others. Still not sure how to start? You can sign up to hear about upcoming opportunities with “Get Your Feet Wet in Open Source.” Also, I’m available at firstname.lastname@example.org if you want to talk about how you can get more involved in the open source world. I’m always looking for fun projects to get involved in and ready to dive into the next challenge!