Why would I give my time for free to Google?
Because my entire career- well before I started working here- has been dependent on things that Google has given to me for free.
Like Google Search. Search helped me learn to run linux clusters effectively (it was far better than AltaVista for searching for specific error messages) which ensured I had a job, even in the dotcom busts. It helped me learn python, which also played a huge role in my future employment.
Like Gmail. Although I've run my own highly available mail services in the past, free Gmail with its initial large quotas hooked me early on. I have never regretted handing the responsibility for email over to Gmail.
Like Exacycle (my project): http://googleresearch.blogspot.com/2012/12/millions-of-core-...
in which Google donated 1B CPU hours to 5 visiting faculty (who got to keep the intellectual property they generated).
I would like to repay Google for their extreme generosity. Spending my "Free" time doing things I enjoy (building large, complex distributed computing systems that manage insane amounts of resources) so that Google can make products that it profits from seems perfectly reasonable to me.
If I had continued to work in academia, I'd spend most of my time applying for grants, writing papers, and working 150% time just to maintain basic status and get tenure. Anybody working in the highly competitive sciences, or in the tech industry, who wants to be successful, has to put in more than what most people consider a 9-5 job.
As for open sourcing: Google has a nice program to ensure that Googlers can write open source code. I haven't taken advantage of it, because most of my codes are internally facing and don't need to be open sourced. But I would certainly consider using my time to do that; I just think my time is best spent working on Google products because I believe their impact will be much higher.