Hacker News new | ask | show | jobs
Ask HN: How do I start contributing to open source projects?
4 points by pratiksaha 4227 days ago
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

7 comments

Repost (because this gets asked too often):

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.

Good open source projects should have documentation for you to help you get started. Like the other posts, there are many ways you can contribute, and every little bit does help.

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!

will check it out...thanks., i did work as VB.Net developer in my first job :)
Pick something you use regularly that's open source, and check out that. Something you have familiarity with is going to be a lot easier to contribute to, because you will notice bugs, or think up a feature. Like I added an option to a vim plugin I was using that was open source, and then sent a pull request because I thought someone else might like it, and it got accepted.

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

Thank you, that helps a lot
Just start reading the source of projects you use and see how they work. When you see something wrong or need a new feature you create a fork on GitHub and work on that. You then create a pull request when it is ready! If you're unable to 'deliver', just don't create the pull request. Start small with tests or docs, then bugs and small improvements, then new features, then big refactors ;-)
Thanks, surely will try :-)
Start contributing from Apache projects https://projects.apache.org/indexes/alpha.html Try to develop plugin, component for some open source project.
http://moarvm.com/contributing.html

Hope to see you on #moarvm. :)

looks interesting... thanks for the link :)
Start on a small project on Github then work your way up.
:)