To be clear; I don't consider GPL to be completely free software.
I also don't think all software needs to be free. I also don't think all software needs to be a gift. (But then I just said the same thing twice.) The part that I care about is which direction the default [default definition?] shifts.
In my perfect world, more code would be MIT not GPL. But in my perfect world, the GPL wouldn't be useful in practice. The world is far from perfect.
> To be clear; I don't consider GPL to be completely free software.
Well, yeah. I think we agree. That's why I said it is transactional - you get software in exchange for any future potential improvement you make to it.
It's a transaction.
MIT is not transactional, it's charity - you get software without having to trade anything for it.
If people make their software MIT or GPL, they should not complain when it is used in a way that they are unhappy with. With MIT, it can be used in almost any way the user wants, including closing it off, and depriving the community of improvements.
GPL is transactional; that's the whole point. What you are calling OSS includes GPL, true, but it also includes BSD/MIT, which are not transactional.