If you join my mailing list and ask good questions that demonstrate knowledge that you have gained from your own research, I will gladly answer your questions.
If you submit a concise patch out of the blue to address a specific problem, I'll probably accept it.
The patches you submit should concisely tell a story that I can quickly read to understand both the problem and the solution. The biggest piece of advice I can give you, is to study and understand your source control tools. If we are communicating through email & patches, we need a common language.
But if you're still learning, it's probably going to take a number of iterations to get any patch right. You need to be prepared to throw away everything you've done and start over. You need to be persistent, you need to ask the right questions.
If you were employed as my subordinate, I would invest a considerable amount of my time in training you in the hope that your future productivity would pay back my investment with interest. If you want to work on an open source project, convince the maintainers that you have a similar commitment.