I'm a pretty prominent Cocoa OSS guy:<p>I've always figured that you "just start", but that's a bit like the draw an owl image. So I'll say how I got started. I started by dealing with issues on a large project (CocoaPods). I read all documentation then started dealing with issues that were user errors rather than code. It gave me exposure to the devs in a large project, gave a sense of where common problems lay. Instead of directly working on the product I started to expand the tooling around the project, building websites / logos. Eventually it just gets to a point where writing a PR to anyone on any project is no-effort at all.<p>If you really want a one step start: go fix typos in other people's READMEs.
I am actually writing a blog post about my own experience starting out with open source contributions. Here's (<a href="https://gist.github.com/k0nserv/2d24d54c9d9a2c648833" rel="nofollow">https://gist.github.com/k0nserv/2d24d54c9d9a2c648833</a>) the current draft. I am focusing on why some people have the mentality of Orta, e.g "Just start" while I had a lot of doubts.<p>Feedback is very welcome.
I suggest: (1) choose a tool/language/library you want to learn, (2) work through a use case and write a blog post about it to help the next person do the same, (3) consider how the README or docs should be updated accordingly.<p>Writing up your experience is often a useful trigger to create an open-source tool/library or modify an existing one. It forces you to consider how your own experience can be made useful for others.<p>Also <i>read the source</i> of tools/libraries you use. Often, gaps or modifications jump out readily.
Well, what do you already know or use? That's where I started.<p>My story: I'm a PHP programmer who got tired of being ridiculed for by security people for using PHP as my main language, so I decided to go around to popular PHP projects, review their code, and submit vulnerability fixes. This transformed into a dozen or so pull requests and a BSides talk, and is an ongoing effort to clean up their libraries.
If python is your thing, you might want to check out <a href="http://pythonmentors.com/" rel="nofollow">http://pythonmentors.com/</a><p>"The mission of the Python Core Mentor Program is to provide an open and welcoming place to connect students, programmers – and anyone interested in contributing to the Python Core development."
Do you use any open source software on a daily basis?<p>I enjoy contributing to the tools I personally use. Start with small contributions that are not too high commitment. Engage authors on their issue trackers and ask questions. Read the source code for the tools you use and depend on. Always ask yourself how you could make it better.
You might want to check out OpenHatch: <a href="https://openhatch.org" rel="nofollow">https://openhatch.org</a><p>"OpenHatch is a non-profit dedicated to matching prospective free software contributors with communities, tools, and education."
I think one of the best ways to start is by just <i>using</i> open source software. Many developers don't realize that they're already part of the community, and can begin contributing by submitting feature requests and bug reports.