I'm not an open-source maintainer or a regular contributor (would like to be, just have not gotten into it) so as an outsider, it looks like a mess of a problem to solve. You want to be open-minded and allow everyone to contribute to having the best possible product, but there seems to be so much crap to deal with. If you go to any somewhat popular repo and look at the pending issues and pending pull requests you can see this.
Open-source maintainers are putting their project out there to benefit others. Contributors want to help get involved or fix a problem they are having. It can be disheartening if the maintainer does not acknowledge any of it.
Users with good intentions could post an issue requesting something that falls outside of the vision that the maintainer had for the project. The maintainer may not want it in their project and it could spark some negative attitude in saying that.
Pull requests can just show up for features. If it wasn't discussed or asked for and the maintainer does not want it, what happens to it?
There are also the "contributors" that post issues and follow up comments that sound like they are demanding work be done without actually contributing to it. It could be in a negative or positive tone. In both cases, some person is adding stuff to your to-do list for your personal time. The negative versions are especially bad like those comments that say something along the lines of "wow it has been X months and we still don't have this." I can see how a maintainer might feel having to see that fairly regularly.
GitHub issues look like the primary form of communication but it looks like a mess to me. Anyone can create an issue with any content. It could have good content in it or it could not. It could spark a long discussion with no resolution. It could be a personal insult. There does not seem to be great built-in features on GitHub to place restrictions on these or to help gain some control over it.
If I were a maintainer, I feel like I would have some fairly strict ground rules (and make them very clear on the repo) to maintain my sanity. That likely would not go over well with a community, AKA I'd be an open-source "dictator". I would likely put restrictions on who gets to create issues (past contributors only, those who have helped others with their replies, or something along those lines), the content of those issues (needs a minimum set of information/template filled out), all PRs would be tied to an issue with an approved label, feature requests would be assigned to the user that requested it with a due date, etc. Everything else would be closed.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.