Licenses: Difference between revisions
No edit summary |
|
(No difference)
|
Revision as of 15:00, 15 June 2020
See https://choosealicense.com/ for help choosing a license for your project.
They have a high-level comparison between licenses at https://choosealicense.com/licenses/.
In general, you should use one of the MIT, Apache, or BSD licenses.
If you choose a variant of GPL, it heavily decreases the likelihood of others, especially companies, using your code.
If writing closed-source software, only use other software which are MIT, Apache, or BSD licensed.
MIT License
- Permissions
- Private and commercial use
- Permits redistribution with or without modifications
- Permits copy, modify, merge, publish, distribute, sublicense, sell
- Conditions
- Requires license and copyright notice
BSD Licenses
The BSD Licenses are the 0, 2, 3, and 4 clause licenses. Each licenses contains some of the following clauses (in order).
- Redistribution of source must contain the license
- Redistribution of binary must reproduce this license
- Names of contributors may not be used for promotion
- Advertising must display attribution: developed by ...
Apache License
- Permits
- Commercial use
- Distribution with or without modification
- Patent use
- Private use
- Conditions
- License and copyright notice
- State changes
General Public License (GPL)
This is referred to as a copy-left license.
All derivatives and extensions of this program must use the same license.
GPLv2
GPLv3
You cannot link your proprietary program to any GPL v3 program.
Linus does not like GPLv3 due to blocking Tivolization, restricting hardware from running modified versions of GPL software.
See Tivoization
LGPL
Same as GPL but you can dynamically link to it from proprietary software.
However, you must provide source for the version of the library you are using.