Contributing to open source isn't about writing perfect code on the first try. It's about showing up, being helpful, and learning in public. Every merged PR started as a draft. Every maintainer was once a first-time contributor.
The golden rule
Communicate early and often. If you're stuck, ask. If you need more time, say so. If you realize the approach is wrong, update the PR description. Maintainers value communication over perfection.