Years ago, I spent a lot of time providing free Mac support on IRC, back when Dalnet was busy. Occasionally there were issues that took a huge amount of effort to resolve; in one of the few cases I still remember, I learned enough Cocoa to answer a newbie programmer's question. There was a small but dedicated group that all did the same thing, and other channels on other networks full of volunteers doing the same.
StackExchange is a huge network of volunteers helping to answer other people's questions, for no (real) compensation.
They might not be fun for you, but I think there are plenty of people that just like to help other people.
It's fun, and adding/fixing a feature for everyone means they might add or fix a feature for me.
What I can't answer is: Why would someone agree to [do data entry/handle customer support/agree to be legally liable] without any compensation?
Those activities aren't fun, and if I handle customer support for you there's nothing in it for me.
Further, a lot of open-source programmers are getting paid. See [1] for Linux, the Mozilla Foundation for their applications, Joyent for Node.js, &c.
[1] http://apcmag.com/linux-now-75-corporate.htm