

Ask HN: Want to work on open-source, don't know where to start. Advice? - dblock


======
orta
I'm a pretty prominent Cocoa OSS guy:

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.

~~~
dblock
The typos advice is really, really good.

Here's such a PR:
[https://github.com/intridea/grape/pull/741](https://github.com/intridea/grape/pull/741)

~~~
orta
Agree, I merged one today:
[https://github.com/paulsamuels/SBConstants/pull/3](https://github.com/paulsamuels/SBConstants/pull/3)

~~~
dblock
I just can't believe you misspelled `storybaords` :)

------
K0nserv
I am actually writing a blog post about my own experience starting out with
open source contributions. Here's
([https://gist.github.com/k0nserv/2d24d54c9d9a2c648833](https://gist.github.com/k0nserv/2d24d54c9d9a2c648833))
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.

Feedback is very welcome.

------
joeya
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.

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.

------
sarciszewski
Well, what do you already know or use? That's where I started.

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.

~~~
dblock
That's a great and a pretty unique story, thanks for sharing!

------
steve_g
If python is your thing, you might want to check out
[http://pythonmentors.com/](http://pythonmentors.com/)

"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."

------
loumf
Whenever I use OSS and run into a bug, I try to fix it. If I can't, I open an
issue and try to be as helpful as I can in reproducing it.

~~~
joshschreuder
Same for me. If you use OSS stuff quite often, especially in production
projects, you'll generally run into bugs or unexpected behaviour.

Often enough it's just edge cases the author didn't think about or small
programming errors and is quite easy to fix.

------
dblock
Blogged: [http://code.dblock.org/i-want-to-contribute-to-open-
source-w...](http://code.dblock.org/i-want-to-contribute-to-open-source-where-
do-i-begin)

------
creichert
Do you use any open source software on a daily basis?

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.

~~~
dblock
I think the initial question is very important. A lot of people aren't
actually using open-source software on a daily basis, so maybe that's where
they need to start.

------
dllthomas
You might want to check out OpenHatch:
[https://openhatch.org](https://openhatch.org)

"OpenHatch is a non-profit dedicated to matching prospective free software
contributors with communities, tools, and education."

------
AshFurrow
I think one of the best ways to start is by just _using_ 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.

