Skip to content

Instantly share code, notes, and snippets.

@kborchers
Created January 18, 2013 05:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kborchers/4562486 to your computer and use it in GitHub Desktop.
Save kborchers/4562486 to your computer and use it in GitHub Desktop.
title
Getting Started Contributing to Open Source

Contributing to the jQuery project, and to any FOSS project for that matter, can be a rewarding experience both in terms of the way you can help yourself and projects you are working on, as well as the countless number of others you may help with your contribution. Taking that first step though, can be intimidating. From learning new technologies, to interacting with people you have never met, to putting yourself and your code out for the world to see, there are many factors that may act as barriers to entry. Hopefully, this document will give you that push you need to get past those reservations and get involved.

Dive In

Usually, someone has an idea of what they want to contribute to an open source project before they even think about how they would do it. But even if you have no idea what you want to contribute, there is probably some way that you can make your mark.

The obvious way is to contribute to the code base. Perhaps you have been fixing bugs in a particular piece of software that you use in your projects. Maybe you have created a new addition to a library that you think will be helpful to others as part of the larger project. These and many other types of every day tasks that programmers do are perfect examples of ways to give back to the open source community.

But you don't necessarily have to write code to contribute. Projects are almost always looking for help with creating or updating documentation and the web sites and other items that accompany them. If someone doesn't know why a project exists or how to use it, what reason would they have to give it a try? Telling someone in an effective way what a project is for and how to use it is just as important as providing the code for them to use. And it doesn't end there. From helping to maintain infrastructure to event planning, projects need help in many areas beyond the code.

Join the Conversation

So now you know what you want to contribute but you're not sure where to start. Most projects provide a number of ways for you to discuss features, express concerns or just chat about the project with other people just like you.

Reporting and Fixing Bugs

At least you think you found a bug. The best thing to do is to first try to narrow that issue down to as minimal of a test case as you can to make sure it's an issue with the project. You wouldn't want someone to tell you that you did something wrong if they didn't have proof that it's your fault, right? Once you know it's the projects issue, make sure they don't already know about it by checking their system for bug tracking. There may already be a discussion in progress that you can contribute to or at least follow for a resolution. If the project doesn't know about this bug, then it's time to tell them about it. Projects usually have a preferred method for reporting bugs so try to follow that method and let them know about it. And better yet, provide the fix too!

Contributing Something New

  • Adding features and how they may not be appropriate for everyone

Being a Good Citizen

  • Positive contribution and handling not-so-positive "contributions"

Add to Your Toolbelt

  • Command line tools
  • Local Development
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment