“‘kill the cop inside your head’ probably includes software licensing”
I am not a lawyer or whatever.
Just me trying to understand license wars.
There's basically three of them:
- Public domain
- MIT
- GPL
There's some other ones that are considered “non-free”. Also, keep in mind that software licenses are a popularity contest, so, apart from the ones mentioned, every other license is pretty much not enforceable in a court setting because it's not popular enough. Also, copyright only matters if you matter, specifically, “you matter” by the definition: you can afford better lawyers than the other side.
In short:
- With public domain you're releasing all the rights to the public. Anyone can do anything with it, no strings attached.
- MIT is basically BSD is basically Apache, and there's a bunch of variants. By releasing your work under one of these, you're basically saying “You can do whatever you want with this code, but if you want to distribute it (for example by making it public or selling it), you can do it only if you keep this license somewhere visible so everyone knows I originally made this”. There's a million little implications arising from this.
- GPL is basically AGPL is basically LGPL, and there's a bunch of variants. By releasing your work under one of these, you're basically saying “You can do whatever you want with this code, but if you want to distribute it (for example by making it public or selling it), you can do it only if you release all of your source code to the public and also license your entire project under the same license as me”. There's a million little implications arising from this.
1. Public domain
Public domain is a chill place full of cool people.
2. MIT vs GPL
GPL license family originates from the “free as in speech” copyright concept of the 1960s and 1970s and is designed to prevent exploitation and corporate use (but only in some ways, more on this later). Permissive licenses (MIT/BSD/Apache), on the other hand, are very capitalism-friendly; although it feels like the primary beneficiaries of open source code are the workers (in this context — people who program for a living), it's actually the owners and “investors” (the people who are already rich) of the companies employing us. Other programmers’ efforts should not save our employers money (on our labor costs). If a program you're writing needs a particular functionality, write it yourself on their dime. If those assholes want programs, they need to pay for the programming. GPL-style licenses create an entirely separate ecosystem of software, free from at-work hands.
“free software without progressive politics is just free labor”
— @diegoe
In reality, GPL does very little to prevent corporate use. Corporations can still use software licensed under GPL — they're free to have internal forks that are never contributed back, and the GPL allows this. Anduril can still profit from genocide by using Linux to analyze the best way of killing children with missiles; Palantir can still use R to do mass surveillance for fascists and continue its business as usual. If you're writing FOSS code, it’s crucial that that code doesn’t further the harms being done by computers and the internet. Step one is making absolutely sure that Big Business can’t benefit from your work, and the GPL won't necessarily solve that.