So, you're saying that for an end-user developer, it's "appropriate and beneficial" for their infrastructural components to be GPL. But, it's not for components that directly link to their end-user product, because it forces their product to be GPL?
What about web servers and databases that are sold as products? Why does that same argument not apply for them?
And, what about the users themselves? The GPL guarantees that everyone downstream (not just the next developer) gains the advantages of having the source be open. The hypothetical library project that licensed under the GPL does gain an advantage because they have access to the source for software that uses their code.
I definitely agree that MIT/BSD/Apache/etc. licenses give developers more options wrt. licensing and distribution. But, I don't see how that necessarily encourages innovation. Nor, do I see how that innovation is encouraged only in the case of end-user software vs. more infrastructural software.
I don't see a problem with people selling infrastructure software commercially. It's well within their rights to make money off of their work. Just as developers who release open source code under a non-GPL license are asserting that they don't mind if someone expands on their work and makes a few bucks off of it. To me, that seems much more "free" and egalitarian. I mean, if I was really concerned about it I'd just require attribution. Fair enough.
I think that GPL vs. non-GPL in end-user software is just a difference in philosophy. I feel that it should be up to developers whether they want to open source their modifications or not. It seems that the majority of developers do publish and contribute back any modifications that are beneficial to the original project, but I don't think they should be forced to also publish the modifications that are only of any benefit to the modifier.
1. A developer writes an end-user application, but doesn't want to free their software. Clearly, this person isn't going to use GPL libraries.
2. A developer modifies an end-user application licensed under the GPL. If a developer makes a modification and then distributes that modification, then clearly it was of use to someone outside of that developer. The GPL guarantees that every person who uses that modified software gets the source.
But why is it good for an infrastructure product to be free, where it's bad for the end-user product?
Or, is this as simple as the fact that most free infrastructural products don't require the end-user product to be free. So, it's "appropriate and beneficial" for them to be free. But, most free libraries do require the end-user product to be free, so it's bad for the developer who may or may not want to make their product free. If I've accurately summarized, then at what point where does that "appropriate and beneficial" aspect disappear?
What about web servers and databases that are sold as products? Why does that same argument not apply for them?
And, what about the users themselves? The GPL guarantees that everyone downstream (not just the next developer) gains the advantages of having the source be open. The hypothetical library project that licensed under the GPL does gain an advantage because they have access to the source for software that uses their code.
I definitely agree that MIT/BSD/Apache/etc. licenses give developers more options wrt. licensing and distribution. But, I don't see how that necessarily encourages innovation. Nor, do I see how that innovation is encouraged only in the case of end-user software vs. more infrastructural software.