> leads them to think that the best course in life is to give away their best work for free.
As much as I like and use Open-source software, as someone who is trying to bootstrap is own "thing", I think I can now understand the two sides of the coin.
For one, if we didn't have open-source languages, or open-source frameworks, we couldn't have built what we have built in the last years. Lots of startups and small businesses out there rely on open source frameworks, open source libraries, etc., and some of them could have never reached profitability or growth if it wasn't for the reduce costs that open source allow for.
On the other hand, if you give away too much things for free, you won't have anything to sell, unless you are being sponsored somehow. For instance, most linux kernel developers are being sponsored to work on the kernel, the author is being sponsored to work on his constraint solver, etc. By the way, this is one of the cases where I think something like the Universal Basic Income would be making a huge difference..
Personally, as a single developer trying to make a living, I've given enough thought if I should open source my own software. The way I see things now is, if you are working on "infrastructure" software (software that others can build upon, such as protocols, servers, browsers, OSs, etc.), it may make sense to open source it, either because it is a massive task for a singe developer or because you need mindshare and free marketing for it. If it gets to be widely used, you can eventually build a consulting business around it, or get sponsored to work on it.
But if you are working on small projects that are hardly going to be used as infrastructure, the chances that you are ever going to be sponsored to work on it are quite slim. So, if you think that you will ever be able to sell something based on that kind of software, maybe it does not make much commercial sense to open source it and give it away for free. On the other hand, it may make sense to open source it if you think you'll benefit from the exposure (such as getting a job because recruiters can check your code).
Please note that I'm mainly talking about open source making commercial sense or not, and not if it is the right (as moral) thing to do. If I was being sponsored by someone, or didn't have the need to participate in the market economy, I would give all my work for free. Unfortunately, I live in _this_ world..