If you’re among PHP developers whose PHP experience is just enough to edit PHP files and briefly recognize what a function is responsible for, you can participate in different manners based on the community standards for the corresponding project, i.e.:
- Inline comments across the codebase (ultimately important for ongoing maintenance)
- Additional comment rework for deprecated functions, new code introduced in a certain version, describing function arguments, etc.
- User-based support in forums
- Submitting bug reports
- Testing bug reports once a patch is released (a heavy work that’s really noble)
If you can program in PHP but don’t feel confident, don’t worry.
There are plenty of low-profile bugs you can still try to fix. Lots of my WordPress core patches are escaping arguments or confirming the types of incoming parameters (and just protecting the code execution from notices and warnings).
Keep an eye on the bug tracking system and browse the codebase for possible caveats.
All open source projects expect you to submit a patch or a pull request with your changes. Your fix won’t be merged into master right away.
Even if you pinpoint the problem (file, function, possible problem) and your solution isn’t great, your contribution would be valuable. Sometimes maintainers may even give you some tips on refining your patches toward a final fix that gets merged at the end.