Ask HN: How do I start contributing to open source projects?
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.
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!
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.
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. :)
Hope to see you on #moarvm. :)
looks interesting... thanks for the link :)
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