Making your first open source contribution

Making your first open source contribution

Puppet Labs software engineer shares how to become a contributor to open source projects.

Making your first open source contribution
Image by : 

opensource.com

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.

3 Comments

JeffMacharyas

Thanks for the article. I am trying to contribute more. I have written for opensource.com 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 openhatch.com 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.

Vote up!
0
Vote down!
0
nengard

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.

Vote up!
0
Vote down!
0
Greg P

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.

Vote up!
1
Vote down!
0

Comment now