BSD / MIT are about freedom for developers. GPL is about freedom for users. They’re different and sometimes conflicting freedom goals.
I feel very strong parallels here with individualism vs collectivism.
For instance, I’d say BSD / MIT are about allowing individuals to take their freedoms (e.g. you are free get any job/rate you can).
I associate the GPL with collectivism (e.g. if you come on strike with us, we’ll all get better working conditions).
I think this underlying philosophical difference explains a tremendous amount about the licence wars.
GPLv3 really seems to be about freedom for developers too sometimes. Did you follow the link about how Jeff Atwood couldn’t patch his TiVO because of the GPLv2 loophole? Really, this seems to be the sort of thing that only developers really care about, being able to tinker with their installed software on any device.
The GPLv3 anti-tivoisation is fairly mild and wildly misunderstood. In GPLv2, you are required to provide install scripts as part of the programs source code. In GPLv3, if you are distributing the software along with a device (GPLv3 calls it a “User Product), then cryptographic signing keys are part of these installation scripts (GPLv3 calls the scripts plus keys collections "Installation Information”).
In the case of TiVO, Jeff Atwood would be a user. Sure, his day job is programming, but in that context, he was just a TiVO user who wanted to load some software on it or whatever he was trying to do.
The problem I have with the GPL is that it just imposes things I don’t want on my software.
I either slap a BSD or WTFPL on it.
In my opinion, the only really free licenses are ISC and BSD-0 (and equivalent ones).
The GPLv2 is okayish, but the GPLv3 is just insane. If I link against a GPLv3 library, I am forced to publish my own work as GPLv3 as well. That really sucks.
Copyleft can work, but it doesn’t have to be a huge bloody tumor in your face.
If I link against a GPLv3 library, I am forced to publish my own work as GPLv3 as well.
That’s also the case with GPLv2. It needs to be the LGPL for you to be able to link without having to change your license.
Curious, do you avoid touching git or Linux because they’re GPLv2? Or bash and gcc because they’re GPLv3? Personally, I’m happy that they’re there, that they’re free, and that their derivatives will always be free.
No, but I prefer OpenBSD and alternatives to gcc. In general, non-libraries are fine tbh.