This has been bothering me a lot for quite some time now, whenever I use open source products I can't help but feel bad for not doing anything to help improve the product I use or any other open-source projects which are alive thanks to people spending their time for free.<p>I want to contribute in code, but I always feel like I am not good enough, or that it would take a long time before I submit my first piece of code to a project.<p>How did you get in to contributing to open source? Is it possible to contribute to a project that's been there for a long time? if so, what does it take for someone to contribute in code?
Don't feel bad. At least you're using their code which validates them open-sourcing it.<p>There is plenty that anyone can do to help. Probably the easiest is to update documentation and fix any spelling mistakes. Those are typically easy for maintainers to merge in. Other things I've contributed were bug fixes, smaller feature enhancements.<p>I'd focus on small to mid-size projects since they are always looking for contributors. With more mature projects like Rails, Zend, Linux there may be a higher bar to get your merges integrated and therefore it can take longer for your PR to get merged in (I believe my PR to enhance an exception message in Zend took about a month including adding a new test and signing their license) That's definitely on the longer side. The nice part about those projects is that the devs there will offer guidance on what you need to do and you'll pick up on some best practices
I send lots of patches to lots of open source projects (it's sort of my hobby) with a pretty significant focus on application security. What follows is strictly my opinion, but this may be one of the few topics I actually know what I'm talking about and feel confident answering questions about.<p>> I want to contribute in code, but I always feel like I am not good enough<p>Most of the open source projects you know and love are crap. They were hacked together by people who are chasing results, not excellence, many years ago and only manage to truck along because of people at or below your skill level who take the time to polish up one of the rough edges.<p>I don't care how unskilled you think you are; you are skilled enough. Just watch the issue tracker for a few weeks and see what kind of issues pop up. Or see what has been a longstanding issue for weeks/months. You'll find something you can fix and the maintainers will appreciate it that you took the time to fix it for them.<p>(Unless it's opencart, then they'll flame you no matter how valuable your contribution is. But they're the exception.)