I don't agree with buying them for people
I think if you want to give money to charity that should be your own responsibility and you should buy yourself a charity goat
but giving charity goats to people as presents seems a bit 'ooh aren't I good and beyond reproach and you can't complain that you have no gift because that will make you look grasping and mean'
I give money to charity at Christmas myself
but I buy my friends and family presents out of love hoping that they will bring them joy