People, especially highly successful people, view charity as giving money away. Musk's inspirational projects seems much more appealing by comparison. There is a lot of truth in the idea that doing something like colonizing mars could do more good for humanity than giving people enough money to eat for a day or a week. Even what Bill Gates is doing has little impact on people's daily lives here. Eradicating polio is the most noble of goals, but it takes place far away and the benefits are difficult to see.
I think the best solution is to make charity cool again. FDR turned giving money away into something that was literally awesome, using the Tennessee Valley Authority to reshape the landscape with bridges and dams. 21st century technology allows us to have a much larger impact on the lives of many more people, regardless of where they live. Elon Mush doesn't have a monopoly on big ideas. As a technology community it's up to us to come up with projects that help people in need while still capturing our imaginations.
It doesn't matter if big problems are solved for profit or solved for charity. What matters is that they get solved. The danger is that fiduciary responsibilities will get in the way of doing good, working families will take a backseat to boards of directors and the rich will get richer [1] while everyone else struggles to keep even. This is why it would be better to make charity more interesting as opposed to giving money to dynamic and inspirational profiteers. It's always been difficult to combine making money with being of benefit to the world, but we need to raise the entrepreneurial and creative bar now more than ever. When one of the authors of "Don't Be Evil" decides that his money is better off in the hands of private corporations it should be a warning to all of us.