
Ask HN: How did you find projects to contribute to that were not your own? - samiula
It is well-known that contributing to other people&#x27;s projects (e.g. open source) is a great way to get some experience. How have you found projects to contribute to in the past?
======
detaro
I primarily contribute to projects I use myself (or sometimes, have used in
the past). Most of the time I get started with a bug impacting me or a feature
I want, and when I have some experience with the code base through that it's
easier to contribute on other parts.

~~~
samiula
Do you use many (and mostly) open source projects? I am starting to wonder if
I am not exploring enough of this type of projects to find one I could add
something to.

~~~
detaro
While programming I use a lot of libraries, most of them are open-source. A
lot of developer tools are also open-source. I use a few open-source "desktop
applications", although I haven't really contributed to any of them (I tried
hacking on one or two of them, but not to the point that it lead to a
contribution). I use a bunch of web sites that are open-source (forum of a
community I'm involved with, stuff like that). A few browser plugins I've
actually contributed to as well.

------
fundamental
Look for a project that holds your interest and that has bugs which seem
within your reach to fix or it has missing functionality which you would use
(and be willing to implement). If you're not looking for a coding role try to
lend a hand with what skills you currently are trying to build.

One project that I'm currently maintaining first caught my interest when I
tried to connect a MIDI piano up to a Linux system and I found several of the
open source options had issues compiling. At that point I submitted fixes to
get it working to my satisfaction and I have continued to help improve upon it
since then.

~~~
samiula
Thanks! Do you usually try to solve it yourself first or do you look around
for existing solutions before trying to implement your fix?

~~~
fundamental
Audio processing programs tend to have relatively unusual constraints, so in
many cases there isn't an existing solution that fits the application. In
those cases a new lib needs to be written. When there is an existing solution
fits though it's generally preferred as it can be much faster to build off the
work of others. When there's something that isn't quite a match other
libraries can be used as a point of reference for which designs work well and
which ones introduce headaches.

------
nnn1234
Crowdraising.co

