Skip to content

Commit

Permalink
Apply suggestions from code review
Browse files Browse the repository at this point in the history
thanks to @InessaPawson

Co-authored-by: Inessa Pawson <inessapawson@gmail.com>
  • Loading branch information
sneakers-the-rat and InessaPawson authored Mar 2, 2024
1 parent 1f70aee commit ac866d7
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions documentation/repository-files/license-files.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ In other words, copyleft licenses prohibit someone taking your work, making a pr
Copyleft licenses are "sticky" in that they are designed to ensure that more free software is created.

The difference between copyleft vs. permissive licenses is an important cultural divide in free and open source software (e.g., see {footcite}`hunterReclaimingComputingCommons2016`, {footcite}`gnuprojectWhatFreeSoftware2019`, {footcite}`gnuprojectWhatCopyleft2022`),
that you should be aware of when choosing your license - the lineage of copyleft represents the "free" part of "free and open source software."
that you should be aware of when choosing your license - the lineage of copyleft represents the "free" part of "free and open source software".
Free and open source software is intrinsically political, and it is important to be aware of power dynamics in computing as well as the practical problems of license compatibility (discussed below).
:::

Expand All @@ -68,7 +68,7 @@ in some cases the license that you want is not available through that online
process.

:::{admonition} License recommendations from the SciPy package
[The SciPy documentation has an excellent overview of licenses.](https://docs.scipy.org/doc/scipy/dev/core-dev/index.html#licensing). Once of the key elements
[The SciPy documentation has an excellent overview of licenses.](https://docs.scipy.org/doc/scipy/dev/core-dev/index.html#licensing). One of the key elements
that these docs recommend is ensuring that the license that you select is
compatible with licenses used in many parts of the scientific Python ecosystem.
Below is a highlight of this text which outlines license that are compatible
Expand All @@ -95,9 +95,9 @@ A useful way to think about license compatibility is the distinction between **"
Your package is protected by an "outbound" license.

**Permissive licenses** like BSD and MIT have few **outbound** restrictions - they can be used in any way by downstream consumers, including making them proprietary.
This is why they are favored by many businesses and large packages that want to be able to be used by businesses.
Permissive licenses have more **inbound** restrictions - they can't use software that requires more freedoms to be preserved than they do, like copyleft licenses.
A package licensed with MIT needs to take care when including or modifying a package licensed under the GPL-3.
This is why they are favored by many businesses and large packages that want to be adopted by businesses.
Permissive licenses have more **inbound** restrictions - they can't use software that requires more freedoms to be preserved than they do, like copyleft licenses.
A package licensed under MIT needs to take special care when including or modifying a package licensed under the GPL-3.

**Copyleft licenses** like GPL-3 have more **outbound** restrictions - they require more of packages that include, use, modify, and reproduce them.
This is the purpose of copyleft licenses, to ensure that derivative works remain free and open source.
Expand All @@ -120,9 +120,9 @@ They have fewer **inbound** restrictions - a GPL-3 licensed package can include

Let's use stackOverflow as an example that highlights how a license determines how code can or can not be used.

[Stack overflow uses a Creative Commons Share Alike license.](https://stackoverflow.com/help/licensing). The sharealike license requires you to use the same sharealike license when you reuse any code from stackoverflow.
[Stack Overflow uses a Creative Commons Share Alike license.](https://stackoverflow.com/help/licensing). The sharealike license requires you to use the same sharealike license when you reuse any code from Stack Overflow.

This means that technically, if you copy code from the Stack Overflow website, and use it in your package. And your packages uses a different license such as a MIT license, you are violating Stack Overflow's license requirements!
This means that from a legal perspective, if you copy code from the Stack Overflow website and use it in your package that is licensed differently, say with a MIT license, you are violating Stack Overflow's license requirements!
This would not be true with a GPL licensed package - `GPL-3` packages can include code licensed by `CC-BY-SA` {footcite}`creativecommonsShareAlikeCompatibilityGPLv32015`.

🚨 Proceed with caution! 🚨
Expand Down

0 comments on commit ac866d7

Please sign in to comment.