tl;dr open source licenses
not a lawyer, just some notes on open source licensing
My understanding is that there are essentially 2 types of philosophies:
- BSD - permissive
- FSF - copyleft
permissive
The BSD philosophy is basically, [my summarization] “we want the best software out there. we don’t care who owns it, how it’s made, or how much it costs.”
You don’t have to disclose the source code if you fork/modify the code.
Permissive licenses therefore allows for somebody to fork and make proprietary (or copyleft).
Common Examples include
- BSD - west coast
- MIT - east coast
- Apache - explicitly grants the ability for companies/forkers to be able to patent it.
copyleft
The FSF philosophy is basically, “we want software to be free to use AND modify. if you release/distribute/publish it, then the source and your modifications need to be released/distributed/published as well.”
Prevents people from using/forking your code and never contributing their changes back.
Cannot be made permissive once licensed as copyleft.
Common Examples include
- GPLv2 - “i give you code, you give me changes” –Linus
- GPLv3 - created to combat Tivoization, the creation of hardware/use of DRM to prevent users from using own software/firmware/builds on devices they’ve purchased.
- AGPL - created to combat the SaaS loophole in GPL. requires source code to be published when used over a network.
compatibility
In general, can only go one way: least permissible (e.g. public domain) -> most reciprocal (e.g. AGPLv3)
Some licenses are just incompatible [with the GPL], e.g. BSD 4-clause due to the advertising clause.