(In answer to the question: In the extreme case, if it was just you doing all the code, and the rest of the world quietly used it, would it make sense to give it away free? Unless you're particularly grateful for other free things you've got off the Net, would the answer be No?":)
I don't necessarily think so. It might be true in certain niche areas, but almost any project will give a developer that "feel good" feeling when he has users and he feels he is doing something worthwhile. I really don't think you need all that much "quid pro quo" in programming - most of the good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.