

Thanks for the thorough explanation, that was really helpful! So AGPL means it MUST be open-source and GPL means it only needs to be open-source for people you are “distributing” to (but not necessarily everyone). And if you make, for example, something like a webapp or website, then there is a clearer distinction between AGPL and GPL while it doesn’t really matter for standard binary apps.
Interesting that the LGPL licensed parts of a project have to be “replaceable” (meaning updatable with a new version or fork? or does it mean something else?), even if the project in question is closed-source.
And projects that include GPL code must be GPL licensed themselves or have a compatible license (like AGPL?). But what if you want to both use this set of GPL code but with a different license (either a permissive license like MIT or a different, non-GPL copyleft license), that would mean that you wouldn’t be able to use the code. I guess that’s the tradeoff between copyleft and permissive licenses.
Ah okay, that makes sense. So “replacing” parts of a project would mean switching dependencies from something that’s GPL to something else (e.g. one that is MIT licensed).