This this this. If you provide a service for free, the vast majority of your user base will never care about giving you money, and will just stop using your service and find another one if you try to start charging them for it instead of keeping it free. One of my side-projects has ended up here and it's been a huge pain to deal with.
My data point would be Borg Backup, which, if you were to consider Bountysource to be payment for development, is under-financed by perhaps a factor of 40. 80+ % of funding came from three organizations.
And what I've heard from other maintainers is that Borg seems to do comparatively well.
So no, if you think in terms of payment, donations do not work in the open source ecosystem.