Actually, that's pretty much its only source.
As so aptly described by Congressman Crockett, if it's not one's own money, it's not charity. Further, if it's not by choice, it's not charity either.
Americans are as generous a people as has ever existed, and I believe that's why we've tolerated the kleptocracy which has taken our money for what would otherwise have been charitable purposes. Still, when someone takes my money without my express consent, for whatever noble end, it's still theft.
If I take your money to give to a deserving charity, you certainly can't take any credit for that act of generosity, nor can I claim any such, having no skin in the game, so to speak.
Were we to move back to our constitutionally limited government, the citizenry as a whole would have vastly more of its own resources to use for the charitable purposes to which the individual owners of that money wished to put it.
In all likelihood (and I really do mean all), the distribution of those resources would be done more efficiently and more effectively as each of us could think globally and act locally (to coin a phrase).