What does the GPL prevent you from doing?
As a user, nothing. As far as I (a user) is concerned, Mozilla's MPL/GPL, bash's GPL3 and VSCode MIT licenses are all equally free (I can use them and distribute them).
So what problem do programmers have with GPL?
You can't make a derivative closed source work.
So you want to make a non-free work, fine. I'm not a GPL-or-bust guy.
But are _your_ programs free?
Sometimes I suspect the main programmers for Apache2/BSD/MIT licensed works actually hope their works get used by the big guys so they can get employment there.
That's why I've never heard any BSD guys getting upset at MS for ripping off their work, while getting upset at Linux for doing the same.
That's not it. Your license has to be GPL in order to use any GPL code. I try to make the stuff I do on my personal time under the MIT license, which means I can't use GPL code, but GPL code can incorporate my code. Tell me which license is more free now.
Also, it completely disregards the scope of things. If I incorporate a GPL library into my software for say JSON parsing, then it means my entire program must be GPL. Thankfully most libraries aren't GPL but LGPL.
The other thing is that you can't use proprietary libraries in your own code that has been infected with GPL. If you want to develop your own software that incorporates GPL code and even release it to your users, it's impossible to link against proprietary libraries.
That's not how the GPL works. The GPL requires that you release the entire work under the GPL, but it does not forbid you from additionally releasing the parts you wrote under other licenses. So you can release the parts of the code you own under the MIT, as long as you also release the whole work under the GPL. [0]
> The other thing is that you can't use proprietary libraries in your own code that has been infected with GPL. If you want to develop your own software that incorporates GPL code and even release it to your users, it's impossible to link against proprietary libraries.
This is exactly the point of the GPL, and what, in my opinion, makes it more free than permissive licenses: GPL code will never restrict the user's freedom. Software that uses proprietary libraries is not free software, and so it is perfectly reasonable for it to be GPL-incompatible.
[0] https://www.gnu.org/licenses/gpl-faq.html#GPLModuleLicense
I think there's a widespread misconception that you have to relicense code in order to combine it with the GPL. You don't. The code can retain its license, because its license allows it to be used with the GPL.
Saying that you have to relicense MIT-licensed code under the GPL is like saying that you have to grant a special proprietary license for Apple if they want to use your code in macOS.
That's a pretty big exception, which reverses your conclusion. It's like saying "not true not everyone can buy Lamborghini Aventador - everybody can, as long as they have half a million dollars to spend!" That's kind of the point that turns your "not true" into false.
> Pretty much all of the popular free licenses are compatible with the GPL.
https://en.wikipedia.org/wiki/Comparison_of_free_and_open-so...
Just look at the "GPL compatibility columns". Even GPL2 is not compatible with GPL3 without a special "or later" clause, which is all too easy to miss.
> The code can retain its license, because its license allows it to be used with the GPL.
But if you want to distribute the mix, you'd have to abide by GPL conditions.
It's not. Most of the anti-GPL free software advocates are using compatible licenses, such as the MIT or BSD licenses, and they are already following all of the conditions of the GPL, since they are distributing source code.
> But if you want to distribute the mix, you'd have to abide by GPL conditions.
Almost everyone is already abiding by the GPL conditions when they are distributing MIT-licensed code. The only real concern about violating these conditions is to not distribute source code. If you have no intention to distribute non-free software, you should have no concern with the GPL.
I just cannot understand, try as I might, why anyone would have a problem with the GPL while at the same time eschewing non-free software. If you are already doing as a matter of course what the GPL is asking you to do, why do you object to being told to do it?