Licenses: Difference between revisions
Created page with " See [https://choosealicense.com/ https://choosealicense.com/] for help choosing a license for your project.<br> They have a high-level comparison between licenses at [https:/..." |
No edit summary |
||
(8 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
See [https://choosealicense.com/ https://choosealicense.com/] for help choosing a license for your project.<br> | See [https://choosealicense.com/ https://choosealicense.com/] for help choosing a license for your project.<br> | ||
They have a high-level comparison between licenses at [https://choosealicense.com/licenses/ https://choosealicense.com/licenses/].<br> | They have a high-level comparison between licenses at [https://choosealicense.com/licenses/ https://choosealicense.com/licenses/].<br> | ||
In general, you should use one of the MIT, Apache, or BSD licenses. | |||
Larger projects, such as tensorflow, tend to go Apache since it has some patent clauses. | |||
If you choose a variant of GPL, it heavily decreases the likelihood of others, especially companies, using your code since GPL forces derivatives of the work to be opensource. | |||
This is typically known as a ''copyleft'' license. | |||
If you are writing closed-source software, only use other software which are MIT, Apache, or BSD licensed. | |||
Do not use or link to any AGPL software such as MongoDB, especially if you want your startup to get bought out. | |||
Interacting with GPL programs such as MariaDB through an interface layer is fine though. | |||
Licensing your own software as AGPL will prevent it from ever being bought out or used at many tech companies. | |||
This is because tech companies, in particular Google, have an AGPL ban<ref name="googleagpl">Google AGPL Policy: https://opensource.google/docs/using/agpl-policy/</ref>. | |||
==MIT License== | ==MIT License== | ||
Line 25: | Line 38: | ||
==BSD Licenses== | ==BSD Licenses== | ||
See [[Wikipedia: BSD licenses] | See [[Wikipedia: BSD licenses]] | ||
The BSD Licenses are the 0, 2, 3, and 4 clause licenses. Each licenses contains some of the following clauses (in order). | The BSD Licenses are the 0, 2, 3, and 4 clause licenses. Each licenses contains some of the following clauses (in order). | ||
Line 49: | Line 62: | ||
==General Public License (GPL)== | ==General Public License (GPL)== | ||
This is referred to as a copy-left license.<br> | This is referred to as a ''copy-left'' license.<br> | ||
All derivatives and extensions of this program must use the same license. | All derivatives and extensions of this program must use the same license. | ||
===GPLv2=== | ===GPLv2=== | ||
Basically any derivatives of the program must be open-source to whoever can obtain the binaries. | |||
E.g. if you sell a device running your custom linux kernel, you must open-source your custom linux kernel. | |||
===GPLv3=== | ===GPLv3=== | ||
Line 66: | Line 80: | ||
Same as GPL but you can dynamically link to it from proprietary software.<br> | Same as GPL but you can dynamically link to it from proprietary software.<br> | ||
However, you must provide source for the version of the library you are using. | However, you must provide source for the version of the library you are using. | ||
===AGPL=== | |||
[https://www.gnu.org/licenses/agpl-3.0.en.html APL 3.0] | |||
The GNU Affero General Public License is basically GPL but where interaction over the network counts as distribution. | |||
So if people can interact with your AGPL program over the internet, then you must open-source it. | |||
==Creative Commons Licenses== | |||
==Resources== | ==Resources== | ||
* [https://opensource.stackexchange.com/questions/217/what-are-the-essential-differences-between-the-bsd-and-mit-licences BSD vs MIT License stackexchange] | * [https://opensource.stackexchange.com/questions/217/what-are-the-essential-differences-between-the-bsd-and-mit-licences BSD vs MIT License stackexchange] | ||
==References== |