I'd recommend you donate money to those who host open infrastructure. That stuff is expensive and critical to the free and open internet.
As for free software projects I suggest donating your time with contributions. That's what they need the most. Helping with bug reports and writing documentation are easy starters and worth much more than money. That's hard to sell as a gift though.. One gift card for confirming and investigating a bug in free software of choice. Merry Christmas Uncle Bob!
Going from being a cool hacker who does things for fun and share it with his peers to being a poor cyberbeggar does no good to a persons selfworth. Help out by contributing and let Mr. Cool Hacker have time for his day job on the side. We get better software and fewer burnouts.