How do I choose a license for my github project?
You decide whether you want:
- A copyleft license, meaning that anyone using your software must also release their code under an open source license.
- A permissive license, meaning that your software can be used in non-open source software.
While a vast number of open source licenses exist, unless you have very specialised needs you would generally be recommended to use one of:
- Copyleft: GNU General Public License (GPL) or GNU Affero General Public License (AGPL). The difference between the two is in whether accessing the software over a network allows the user access to the source code.
- Permissive: one of Apache 2.0, MIT or BSD (2 clause or 3 clause) licenses. These are effectively very similar; Apache 2.0 is much wordier and may potentially cover some edge cases that the other licenses don't.
Does it depend on the licenses of the used software/libraries I use for my library/software?
Yes. If any of your dependencies are under a copyleft license, your software must be as well.