The pain of having a patch rejected is because of the asymmetry. No is _easy_, the submitter often put hours of work into understanding the codebase, the architecture the style of the code, figure out how to fix a bug or add a feature and then to have the response be, "No", feels like a pretty harsh rejection. How we structure work on these projects needs to be rethought so that the majority of these don't happen. Th…
That said, like most tribal knowledge, it's the people who already do a lot of this kind of thing that know this kind of thing, and it's getting new people in that's the tough part.