I do think it is difficult to reconcile giving away your time for free with maximizing your own long term well being. You need to be careful you really are getting back benefits that to you are worth the cost.
Those benefits may be money, learning, reputation, a feeling of accomplishment - but make sure it is worth the price you are paying for it in terms of time.
A good solution is to freely give out commit access to contributors.
I think that’s an ok solution, but is probably also how you end up with features everywhere with not that much cohesive design.
I have found that not to be the case in my experience; when I give people commit access they are still respectful of the overall vision of the project and hesitant to do make changes without getting feedback. Of course, it also means that providing advice re: their ideas still takes a good chunk of maintainer time.