Ask HN: How do I start contributing to open source projects?
How do I start contributing to open source projects? I have been pondering over this for quite some time and do not quite know how/where to begin. I have a fair coding experience in C/C++, python and perl but probably am too confused right now.
How do I select a project to begin with?
What if I commit to something but not able to deliver?
If you are already working on something interesting, please post the link/contact, I would be happy to join. I am looking for something with C/C++ or python code base
Thanks in advance, PS
12 comments
[ 2.4 ms ] story [ 33.9 ms ] threadAnother good thing to do is to write documentation for code before you contribute to it. Plenty of code lacks clear documentation, and having to read the code and understand it will help you contribute later.
I defined this for someone else who had the same question a few days ago. There are 4 ways to contribute:
- bugs (find and report them)
- code (the part everyone wants to do)
- docs (the part that everyone should do, but has been given second-class status due to everyone thinking writing code is the only way to feel like you're contributing)
- tests (ever clicked on "button" and everything broke, well if someone wrote a test for the functionality there, it likely wouldn't have)
I urge you to start with the things the pure-coders hate, and that is well-defined, noob-friendly documentation.
You'll never be given the high status of "genius programmer living in basement, changing world", but your documentation and "dumbing that shit down" way of explaining things will sometimes make the project more successful and will carry more weight as far as bringing more users of the code-base.
Hope to see you on #moarvm. :)
As far as I know, no one will be standing over you expecting you to finish anything, unless you made some kind of agreement to start.
I would suggest finding something you enjoy and just start. When you are ready to submit your changes be ready for great feedback and a ton of learning. You will be working with some really passionate, skilled guys so there will undoubtedly be a big, but rewarding, learning curve.
Our project is .Net based, so not really a fit for your skills, but feel free to check it out or share with your friends: https://github.com/Warewolf-ESB/Warewolf-ESB
Good luck, and most of all, have fun!