Licenses: Difference between revisions
No edit summary |
|||
| (6 intermediate revisions by the same user not shown) | |||
| Line 4: | Line 4: | ||
In general, you should use one of the MIT, Apache, or BSD 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. | Larger projects, such as tensorflow, tend to go Apache since it has some patent clauses. | ||
If writing closed-source software, only use other software which are MIT, Apache, or BSD licensed. | |||
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 53: | 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 70: | 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== | |||