tags:

views:

96

answers:

4

Disclaimer: I did check other questions that seemed related, but this one is much broader and less specific, its goals are completely different, too (so, please do read first before deleting!):

Now, while there's "How To Ask Questions The Smart Way", and also "How to Report Bugs Effectively" (both of which are extremely helpful when interacting with users), there doesn't yet seem to be a similarly comprehensive guide about "how to get successfully involved in an open source project", specifically written for new aspiring contributors.

So, what do you think, are the most important factors, items and challenges that need to be pointed out in such a guide?

The goal would be to come up with a preferably comprehensive list of general guidelines about contributing to open source projects in general, written for new users/contributors who are eager to get involved.

Ideally, open source projects could simply point new contributors to the stackoverflow link of this question.

Some things for starters:

  • determine the nature of your contributions (source code, documentation, support/help)
  • determine the project's demands
  • determine the technical requirements when contributing (i.e. build environment)
  • determine the process of properly contributing patches
  • point out the social challenges, limiting factors - need for patience ...
+1  A: 

I think a guide could be done pretty easily, and not even be too long. In fact, I'll take a stab at it right now:

So you've decided that you want to participate in an open source project, but don't know where to begin. You are not alone! You are what's known as a wannabe. Really. The code is available. For free. Use the program. Read the code. Fix things. Write new code. Scratch your own itch. If you aren't already doing that then honestly answer silently to yourself why you aren't. If you've used the program and nothing jumps up and screams to be fixed then you're either out of your league or you're not a coder at heart. The end.

dwc
+1  A: 

Have a look to Producing Open Source Software (http://producingoss.com/)

Fabian Vilers
+3  A: 
  1. Learn about Version Control
  2. Documentation can be a good way to get started. It helps you get to know the existing stuffs from the usability side, atleast
  3. Learn about the community around the project. Will they give new feature development to newbies? If not, then you will have to look at fixing at some or more of the existing bugs

I haven't mentioned about the project's technical requirements, since you want to contribute to the project means, if you have already read and understood them.

Amit
+1  A: 
  1. Make sure you like the subject, the tech used, etc.
  2. Make sure you can hack it. Joining a project that's extremely domain-specific or just technically challenging can be demotivating.
  3. Make sure you have the time to actually contribute. I ritually boot (and get booted) off open-source projects when very little activity is evident.
Dmitri Nesteruk