It&#x27;s hard for experienced people, too. The issue is more about the lack of structure in some open source projects and the time availability to teach &quot;noobs&quot; a codebase. One thing that has worked for me in t he past is to join the development mailing list, try and understand what they are talking about and go look at the code to try and figure out the issue. Then trace back all the discussion to try and find if any of my questions&#x2F;suggestions have been proposed. If not then I make a very simple case for the solution. If yes then I keep quiet and only comment when things need clarification. Slowly you will pick up the project and be able to contribute.<p>If the project lacks any kind of communication channels and is hosted on some online repo then by all means open an issue and ask about contributing.  Make sure to ask about what are the most important issues ton fix and which are the smaller ones but most annoying ones. Offer yourself to document the project too.<p>It&#x27;s not easy but it is fulfilling once you get underway.