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.
If you really want a one step start: go fix typos in other people's READMEs.
Here's such a PR: https://github.com/intridea/grape/pull/741
Feedback is very welcome.
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.
Also read the source of tools/libraries you use. Often, gaps or modifications jump out readily.
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.
"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."
Often enough it's just edge cases the author didn't think about or small programming errors and is quite easy to fix.
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.
"OpenHatch is a non-profit dedicated to matching prospective free software contributors with communities, tools, and education."