The main hurdle I encountered is simply lack of response from the project maintainers. This happened to me several times already: I would encounter a bug or limitation, investigate the cause, fix it, and open a pull request with as many details as I could about the issue and how I fixed it. This requires several hours of work - understanding the project structure, testing the fix, adding unit tests, and so on. You could say I did my homework. Then I waited, and waited, and waited…
The last time this happened was the most representative. I don't want to call out any specific projects - that would seem unfair - it's a well-known open source project that originates from a FAANG-level company, popular enough to appear on CVs. It's one of those libraries that is used everywhere. I encountered a bug in that library, and opened the most detailed issue I could, even pointed to specific lines of code and what needs to be changed there. Due to my previous experience, I didn't open a PR yet. I wanted to get confirmation on my observation first, and I mentioned in the issue that after getting confirmation that my direction is correct I would open a PR. The result? Complete silence. This was 2 weeks ago - should I expect to wait more for a response?
I understand that these are open source projects, and that the maintainers don't owe me anything, and so on. I'm just wondering if I'm doing something wrong. Do others here have similar experiences? How would someone get seriously involved in such a project, if just making the first steps is met with such roadblocks? This reminds me of xkcd #2347, where all modern digital infrastructure depends on "a project some random person in Nebraska has been thanklessly maintaining since 2003". It's like I want to help that person, but they aren't answering my calls.
I have a few open PRs to a small-ish project for about a year now. The maintainers haven't even looked at it. The PRs in question replace broken CI, fix bugs etc.
On the other hand, I have merged PRs to a large project that took the maintainers a few hours to review and merge. The PRs here are minor improvements.
My take is: do not give up. There is a random person in Nebraska that would appreciate your help, you just didn't find them yet.
That's your goal.
No project is obligated to help you meet it.
I mean you found and fixed some bugs.
Whether or not they get incorporated into the code base only makes a difference on your resume.
This requires several hours of work
If you're not into it, don't do it.
Expecting a reward is a friction point for a community of volunteers.
originates from a FAANG-level company
FAANG-level companies have business considerations that you cannot possibly be aware of because they are confidential and proprietary. They manage open source projects for their own benefit primarily and the benefit of others only incidentally.
Complete silence.
Move on to something else. Good luck.