Picking a License
Largely copied from: Drew DeVault - How I choose a license
Similarly: "This is how I choose a license for a new project. It is a reflection of my values and priorities and may not work for your needs."
matters
Does it matters at all? Is it even copyrightable? (ie. simple observations without originality)
- Yes
- Go to: software
- No
- Use CC0
Note: CC0 is one of the rare licences that trully waives as much copyrights as possible, even in jurisdictions where Public Domain cannot simply be assigned to (like in Europe).
software
Is it software?
- Yes
- Go to: ubiquitous
- No
- Go to: creative
creative
See Creative Commons - Choose a License, incomplete version below
Do you want it to become ubiquitous, where anyone, including corporations, governments, literally anyone, would have no reservations about using it for any use-case, including making proprietary derivatives and selling them, or reusing the code in another project, proprietary or not?
- Yes
- Use CC-BY-4.0
- No, libre-only
- Use CC-BY-SA-4.0
- No, non-commercial
- Use CC-BY-NC-SA-4.0
ubiquitous
Do you want it to become ubiquitous, where anyone, including corporations, governments, literally anyone, would have no reservations about using it for any use-case, including making proprietary derivatives and selling them, or reusing the code in another project, proprietary or not?
- Yes
- Go to: patents
- No
- Go to: service
patents
Is the copyright owned by a company who might have trademarks and patents and other such garbage?
- Yes
- Use Apache 2.0
- No
- Use MIT or BSD
service
Is it a networked service or similar software not entirely running directly on the user's machine?
- Yes
- Use AGPLv3
- No
- Go to: library
library
Is it a library?
- Yes
- Go to: vendoring
- No
- Use
GPL-2.0-only OR GPL-3.0-only
(because of incompatibilities between both…)
vendoring
Do you want users to be able to vendor it (copy it into their code), or should they be required to install it and link to it to use it without the viral obligation?
- Yes
- Use MPL 2.0
- No
- Use LGPLv3