Getting involved in Open Source Software

Contributing to open source is something I am improving at, along with finding enjoyable ways to get involved. I’m not where I want to be yet, but here are some things that have made the process easier.

Finding New Projects

Chances are, at least some of the software you use is open source. That will be the easiest place to get started. Look around on GitHub. Check issue trackers. Look for common questions in Stack Overflow, or questions you’ve had, and consider adding documentation to help the next person.

But okay, maybe the tools you use most often are 100% proprietary, or otherwise lame. Now what? Several websites help with finding ways to contribute, whether you’re a developer, designer, or just getting started.

  1. Up For Grabs: A curated list of projects looking for help, specifically designed for new contributors. The list has a tag system, so you can filter for projects in whichever programming language you prefer.
  2. Civic Tech Issue Finder: Code for America organizes open source projects aiming to (1) make government services more effective and (2) give people more input and insight within their cities.
  3. CodeTriage: Less of an exploratory tool than a motivational helper, CodeTriage will send you an email a day about open issues on projects you choose. The site features more large frameworks than small projects, which may or may not be what you want.

Projects can vary from an hour to several days, depending on the scope and your experience. Start small.

Code for America’s issue finder is an especially good option, for two reasons: First, even as a new visitor to a project, it’s usually obvious what they’re trying to achieve and why it’s important. Second, Code for America does a Brigade program that runs events across the U.S. (and, recently, internationally). Both make it much easier to find motivating projects.

Things to Remember

Don’t jump into a project without at least checking that it’s alive. Look for recent commits, the number of stars on GitHub, and whether there are other pull requests that have been ignored without comments.

Owners will frequently ask you to make a couple changes before they merge your code. It’s also normal that they will have strong opinions about what is within the scope of their project. If you’re going to try a new feature, ask the owner for input before you start.

If you’ve looked around and nothing catches your interest, that’s fine. Cast a wider net by following more developers on Twitter or attending a Meetup group. Or subscribe to a mailing list: WDRL is a great summary of things happening in web development, mailed out once a week. Find something that interests you and start learning.