I have mixed feelings about corporations making charitable donations. Don't investors put their money in the hands of a company's management in order to realize a good return? If you bought shares of a mutual fund, how would you like to hear that the fund managers donated some of it to their favorite charity? Is that why you put the money there? How is a corporation any different?
When a corporation gives money to charity, they are buying good publicity for themselves. And upper management is buying itself dinner and drinks and hugs with the charity's celebrity spokesperson. Yes, it would be tempting, if I managed a billion dollars of other people's money, just to give away a few million to get a peck on the cheek and a little chest-to-chest from Cindy Crawford. That conflict of interest makes me even more uncomfortable with corporate donations. The CEO does it to enhance his own image, with my money.
I do think people should give to charity. I think they should do it anonymously, so that not even their left hand knows what their right hand is doing. They shouldn't a) do it at a grand banquet with a ceremony showing what a bigshot they are nor b) do it with other people's money.