For some it is the fear of delivering ugly/subpar code.
For the benefit of both the maintainers and the contributors, projects should really have advanced, comprehensive, automated code linting/style-checking/safety/etc. It should be possible to run it locally, and it should also integrate with GitHub's Pull Requests with automated comments (e.g. Travis CI).
This should instil confidence in the contributor, they know they have at least passed the basic checks.
Well, in this day and age, that kind of thing gets called out pretty quickly.