The Microsoft case doesn't apply here since it seems to be some personal Gates foundation doing the donating and not Microsoft (although one can argue that they are the same since it deals with Microsoft technology: if you are truly charitable you should only donate to things you are not affliated with). In any case, let's look at corporations only (not personal non-profit organizations and foundations). Do you think corporations should be donating money in the first place? We all know that they only do it for one reason: image and PR. If it didn't help their image they wouldn't be doing much (after all, they are profit-maximizing enterprises). I don't know if you take what I said to be true (That corporations mainly do it for PR). If you do, then should they even be donating anything?