Choose and generate the right license for your project.
Selecting an open source license is an important decision that affects how others can use, modify, and distribute your code. Here's a guide to help you choose.
| License | Best For | Key Feature | Used By |
|---|---|---|---|
| MIT | Maximum freedom | Very permissive, minimal restrictions | React, Rails, jQuery |
| Apache 2.0 | Patent protection | Includes express patent grant | Android, Swift, Kubernetes |
| GPL 3.0 | Keeping code open | Requires derivative works to be open source | Linux, WordPress, Bash |
| BSD 3-Clause | Academic projects | Protects project name from endorsements | FreeBSD, Django, Flask |
| ISC | Simplicity | Functionally equivalent to MIT, simpler language | Node.js core, npm packages |
| Unlicense | Public domain | No conditions whatsoever | Small utilities, examples |
Without a license, your code is under exclusive copyright by default. Nobody else can use, copy, distribute, or modify your work without being at risk of lawsuits. Always include a license!
When using third-party code, ensure licenses are compatible:
| Your License | Compatible With | Not Compatible With |
|---|---|---|
| MIT | Almost everything | Proprietary without attribution |
| Apache 2.0 | Most licenses | GPL 2.0 (but GPL 3.0 is okay) |
| GPL 3.0 | GPL, LGPL, permissive licenses | Proprietary, some commercial |
I want...