Making your first open source contribution

Puppet Labs software engineer shares how to become a contributor to open source projects.
Register or Login to like
Get started with open source, orange flames

Lucy Wyman, a software engineer in test from Puppet Labs, gave a talk at OSCON in early May on a topic that's near and dear to my heart: "How Can I Contribute?"

The first question you might be asking if you're new to open source is: Why should I contribute? Here are several answers:

  • A practical reason is to avoid reinventing the wheel. Why develop your very special operating system from the ground up when you can use the Linux kernel as your base?
  • A more touchy-feely reason is to give back to a project you love. This is certainly what got me into contributing to open source in the early days and kept me contributing for many, many years. If you're using something every day, why not give back? When you contribute to something you already know and love, it can have so much more meaning, because you know how the tool is used and the good it does for you.
  • Being part of an open source community opens you up to a broader range of people to interact with. You can learn from people with similar skills, but different backgrounds.
  • If for no other reason, it's a great way to learn something new.

If you feel you can't contribute because you're scared, or you feel like you have nothing to contribute, or you don't write code, or you're just a "fill in the blank here," don't let this stop you! There are lots of ways you can contribute; you probably have at least one of the skills open source projects need.

5 ways to contribute

  1. Filing bugs: Remember that bugs are not just something wrong with the code; they are also suggestions for improvements in code and user experience.
  2. Writing documentation: This doesn't mean writing long guides—it could be as simple as adding a README to a project that doesn't have one. Adding comments to code is also a way you can help document the product and make it easier for others to contribute in the future.
  3. Answering questions: Be on IRC and help people who pop in. You can also help on GitHub, StackOverflow, and Reddit.
  4. Educating others: Give a talk about your favorite project at a conference or meetup.
  5. Designing: So many open source projects need help creating a clear design or logo.

Are you ready to find a project that's looking for contributors? Try one of these sites:

If you're an open source contributor and have other suggestions for new contributors, or are just getting started and have questions I haven't answered, please share your thoughts in the comments.

Nicole C. Baratta (Engard) is a Senior Content Strategist at Red Hat. She received her MLIS from Drexel University and her BA from Juniata College. Nicole volunteers as the Director of ChickTech Austin. Nicole is known for many different publications including her books “Library Mashups", "More Library Mashups", and "Practical Open Source Software for Libraries".


Thanks for the article. I am trying to contribute more. I have written for and coming this fall I am teaching Graphic Design Using Open Source Tools at the St. Lawrence University Scholars Enrichment Program. It will be my first teaching attempt, so I am looking for resources to help build my class. I went to as suggested, but it seems their info, esp. events, are quite outdated. If you have any other resources or advice I would certainly appreciate it. Also, as a graphic designer for a thousand years I am open to helping any organization with logos, branding, etc. Thank you.

That's a shame to hear (about OpenHatch). I'd ask around at the university to see if anyone is using a specific open source tool that they have suggestions for. That would make a great project because then you're helping your colleagues and/or students and you have in-person access to the users. For example, my undergraduate institution uses Moodle and I talked to the students about their opinions of it and how they'd like to improve it. They were so excited to find out that they had the power to fix something they used every day and that makes their contributions all the more meaningful.

In reply to by Jeff Macharyas

Although the hierarchy of an open source project can be hard to grasp, it's worth getting a sense of who the main contributors are, and what their "roles" (sometimes self-assigned) are. This adds to the decision about to which group or individual to ask various questions. It also can be helpful when going on IRC to know what time zone these people live in.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.