In early days of open source many people treated the idea sceptically. The reasons look obvious: firstly - who will do the serious work for free, secondly - who will do the serious business on the solutions with no-warranties or reliablility?
Now we know that open source software for web often has higher quality code, is more reliable, flexible and faster then the commercial alternatives. But why?
I don't know for sure, but I will make one strange assumption based on my own experience.
When I prepare and publish (say, give away for free) some interesting solution, I always get back more. I get emotions, feedbacks, attention, recognition.
It feels like the world gives me back what I need - or maybe I become ready and open to get it?
And I always get new interesting projects. And always want to do and publish more!
I don't know why, or how, but world does not obey the laws of the capitalism. As a professional economist (bank officer in the past), I disagree with many laws of the classical Smith's economics.
The world lives on it's own, and if you ever try to publish some good open source code - you'll never regret and only think of how to publish more.