> I prefer the MPLv2, it lets commercial users actually use the code, but they still have to contribute back any changes they make.
Sure, but how is this verifiable? Not verifiable = not happening.
Anyway, the idea of using a 20 line function in a 20M line codebase is a total strawman. Think of it from the 20 line function author's point of view - free money for corporate? They lack the expertise internally to write this function?? It's crypto code and getting it 100% right is extremely valuable? Then they need to be licensing it from the author.
It sounds like the idea you have here is that someone has licensed their code under the GPL but "didn't really mean it"? I think you should flesh out that side of your argument... why should corporate be permitted to use this code? Authors who are worried can release their stuff as MIT or CC0.