This right here. When you open source something, you are basically volunteering to write code. By the very definition, volunteering to do something does not entitle you to anything. Imagine how weird it would sound if people started asking money to volunteer in soup kitchens.
If you think you are entitled to something for your work, don't volunteer. Make it a service and charge. If you think writing some code used by someone entitles you to some money, make it proprietary code and start charging like Microsoft does. No one is going to stop you.