How do Open source developers make money?

I have been curious for some time. People who develop Open Source Software don’t charge for those programs. Now even Google is providing some Open Source Software… My question is … how? What is the incentive? If its just volunteer work for the betterment of the world, I would be very happy and proud of the trajectory humanity is starting to follow.