Agreed. For what it's worth: when contributing to FOSS projects without financial compensation, I generally don't feel exploited.
Perhaps I would feel exploited if I learned that the systems I was contributing to were being used for purposes that I disagree with -- but to counteract that, I think that I can choose to select to contribute to systems that are more likely to be used, on aggregate, for good, thanks to the (perceived?) nature of the projects themselves (and the fact that there are usually at least a few projects that fulfil the dependency gap for any given problem).
Most of the value I derive is selfish in terms of solving my own problems, building my profile (ego, essentially), and a kind of satisfaction (smug even, sometimes, perhaps) at helping solve future problems for a larger audience than myself.
But at the same time I'm very aware that this is a privileged position to be in, to have learned software skills and to be able to pay the bills using those. I think a lot of experienced developers want to provide something back to the next generation: the question is whether the same compensation models are going to apply, or whether the industry is going through a strange topological change that could make for different social contracts for developers.