Interesting discussion here.
But many FOSS-based transactions are not commercial in the foregoing sense. Instead, software subject to a FOSS license may come into a product without the producer knowing that this has happened or, in any realistic way, assenting to the terms. Also, the software often comes from a non-commercial party. An engineer downloads software from an academic’s site and uses part or all of it in the company’s newest product. This is fine if one of the truly free, non-restrictive licenses is involved, but it creates potential havoc where one of the falsely labeled free but more restrictive licenses purportedly governs.
I’m certainly not an advocate of free software, but if you are going to take other people’s work and put it into your product, you should try to get permission. No?
Once I got a very angry email from an engineer who was an advocate of free software. Well I got a lot of those, but while this particular one contained the usual explanation that our use of patents and copyright – for our own work – was grossly immoral and unethical and so on, it came from a company that I had noticed in the USPTO web pages. I wrote back, noting that his employer was a significant filer of software patents. “Yes” he replied, “but we’re a commercial company”.
Sam Johnson, once said “No man but a blockhead ever wrote except for money“. To me, a lot of the complexity of software licensing is due to a kind of falseness about who gets what. The engineer who downloads someone else’s code should see what limits are placed on his or her use of the code. Just because software was written by an amateur or a student or a teacher (or a small business ), doesn’t mean it belongs to whoever wants it. In our world, everyone is commercial to some extent.