Context:
Permissive licenses (commonly referred to as “cuck licenses”) like the MIT license allow others to modify your software and release it under an unfree license. Copyleft licenses (like the Gnu General Public License) mandate that all derivative works remain free.
Andrew Tanenbaum developed MINIX, a modular operating system kernel. Intel went ahead and used it to build Management Engine, arguably one of the most widespread and invasive pieces of malware in the world, without even as much as telling him. There’s nothing Tanenbaum could do, since the MIT license allows this.
Erik Andersen is one of the developers of Busybox, a minimal implementation of that’s suited for embedded systems. Many companies tried to steal his code and distribute it with their unfree products, but since it’s protected under the GPL, Busybox developers were able to sue them and gain some money in the process.
Interestingly enough, Tanenbaum doesn’t seem to mind what intel did. But there are some examples out there of people regretting releasing their work under a permissive license.
My project is MIT because the upstream project is MIT, could I slap a GPL on there? How would I do that? What would that change?
Yes you can. You just change the license that lives with the code.
What it changes depends on the project, how it’s used, who uses it, etc. It’s really a social question of how people might interact with your project differently.
You can use the gpl license in newer versions of your software, but keep in mind, in order to avoid future misunderstandings, that you can only do that because the upstream project uses the mit license. If the project used a reciprocal license like the gpl, you’d need to stick to it or use a compatible one. You can’t, for example, take a upstream gpl project and use a mit license
From what I understand, I can’t replace the license, but I can add on top of it. So it will kinda have both the upstrean’s mit license and my gpl license. I remember looking this up a while back and it was a little confusing.
You can replace in the sense of making new releases on the gpl license. The mit license only requires to keep the original copyright notice. I changed the original comment to avoid this confusion, thanks for pointing that out.