it's a mix of things. I think many spread themselves too thin. creating a bunch of projects to give back to the community is great, but if you can't maintain them, long-term you're doing a disservice. so I think it's beneficial to pass off a project if you can and are willing or deprecate a project loudly and point to an alternative if one pops up.
next, we should be supporting open source devs however we can. if there aren't tests, write them. review PRs. tip them. automate a task in the repo. every little bit helps. and as you get trusted more, maybe you become the maintainer.
the ultimate solution is just to have full-time open source devs that are paid to maintain these projects. the issue is what company is going to do that. some do, for sure. I think the spiral model is great! and there are others out there trying out different models to monitoze their open source contributions. however, I also think there is a huge potential for community-driven funding. organizations like opensats seem to be leading the charge in this and I love to see it.
at the end of the day, there are lots of opportunities to help out open source development, especially for new engineers looking for real-world experience. all help is appreciated.
also, don't be a dick to the maintainers. for most, it's a side gig and they don't need your shit.