Skip to content

Commit

Permalink
Merge pull request #24 from esciencecenter-digital-skills/licensing-m…
Browse files Browse the repository at this point in the history
…odule

Licensing module
  • Loading branch information
JaroCamphuijsen authored Apr 9, 2024
2 parents 76e602a + 7417fae commit 21e9dcd
Show file tree
Hide file tree
Showing 8 changed files with 138 additions and 274 deletions.
162 changes: 1 addition & 161 deletions modules/licenses.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,165 +8,5 @@ thumbnail: "nlesc-dummy-1.png"
visibility: visible
---


:::Chapter{headline="Intro slides" presentation="slides-licenses.md"}

:::


:::Chapter{headline="Introduction" widemd=1}
## Software licenses: introduction

Creative works, like books, paintings and music, but also scientific articles and software, are covered by copyright. Copyright is a legal construct that gives the owner of the copyright on a work the exclusive right to reproduce, modify, publicly perform and distribute the work. As a result, anyone who is not the copyright holder needs to have permission from the copyright holder to also be able to do so. One way a copyright holder can give such permission is to publicly license the work.

Newly created works are automatically covered by copyright. This copyright is owner by the creator of the work, unless they were employed and created the work as part of their employment, in which case their employer owns the work. If multiple persons or organisations contribute to a work, then they each own a share of the copyright, and all need to give permission for others to be able to do any of the things protected by copyright.

Ownership can be transferred by contract. Employment contracts often state explicitly that the copyright of any created works will be owned by the employer. In Europe, certain rights, such as the right to be recognised as the author of the work (if you want to), are inalienable: they cannot be transferred away from the author.

Research scientists are generally employed by universities, so that legally speaking their works are owned by the university they work for. In practice, for example when submitting a paper to a journal, it is often assumed that scientists can transfer copyright ownership or otherwise give permission to the publisher to publish the paper on behalf of the university, but strictly speaking there is usually no legal basis for this. Likewise, if scientists produce software as part of their scientific work, then that software is owned by the university, and publishing it as Open Source software, while often done, does not sit on solid legal footing.

Sharing scientific software offers great possibilities for collaboration, sharing of resources, and increased impact of the scientific work as well as of the software itself. This module gives an overview of the different kinds of Open Source licenses typically used to share and collaboratively develop software, and discusses which policies universities could enact to make it easier for their employees to properly license the software they create.

:::


:::Chapter{headline="License types" widemd=1}
## License types

### Free and Open Source Software

According to the Free Software Foundation:

- The freedom to run the program as you wish, for any purpose.
- The freedom to study how the program works, and change it, so it does your computing as you wish. Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help others.
- The freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes. Access to the source code a precondition for this.

### Changing and combining software

- Software can be modified, by making small or larger changes to it
- Software can be used as a component in a larger program
- Those can be combined
- Copyright law sees this as creating a derived work
- Mechanical translations are not derived works

### License categories

<table>
<tr align="center">
<th colspan="3">Free and Open Source</th>
<th rowspan="3" valign="top">Proprietary</th>
</tr>
<tr align="center">
<th colspan="2">Copyleft</th>
<th rowspan="2">Permissive</th>
</tr>
<tr align="center">
<th>Strong</th>
<th>Weak</th>
</tr>
<tr align="center">
<td>GPL<sup>1</sup> AGPL<sup>2</sup></td>
<td>LGPL<sup>3</sup> MPL<sup>4</sup></td>
<td>BSD<sup>5</sup> MIT<sup>6</sup> Apache</td>
<td>Research Only: No&nbsp;copying, No&nbsp;modification</td>
</tr>
</table>
<div class="footnote">
<sup>1</sup>GPL: GNU General Public License <sup>2</sup>AGPL: Affero General Public License <sup>3</sup>LGPL: GNU Lesser General Public License <sup>4</sup> MPL: Mozilla Public License <sup>5</sup> BSD: Berkeley Software Distribution <sup>6</sup> MIT: Massachusetts Institute of Technology
</div>

:::

:::Chapter{headline="Exercise 1" widemd=1}
## Exercise 1: Choose a license for or using your policy (10 minutes)

One of the concerns typically addressed in a software policy is licensing of software developed at the institution. Policies can choose a single license, or offer a range of options.

Try to find out whether your university has a license policy. What does it say about which license(s) to use? If you don't have a policy yet, which license(s) would you choose for your policy? Why?

Go to [Choosealicense.com](https://choosealicense.com) and play around with the options to help you choose.

:::

:::Chapter{headline="University Policy" widemd=1}
## University software policies

### Why?

- Ensure scientific software is properly licensed
- Including the software your employees use!
- Increase collaboration
- Increase impact

### How?

- Still in development
- TU Delft
- Astron
- NLeSC

### What?

- Software quality
- Software development processes and tooling
- Adhering to others' licenses
- How to publish as Open Source
- Acceptable licenses
- Registering output
- Education of researchers in software development
- Acknowledge funding

:::

:::Chapter{headline="Exercise 2" widemd=1}
## Exercise 2: Does your university have a software licensing policy?
Try and find out whether your university has a software (licensing) policy. If you can find it, compare it with the ones from [TU Delft](https://zenodo.org/record/4629662), [ASTRON](https://zenodo.org/records/7307162) and [the Netherlands eScience Center](https://www.esciencecenter.nl/wp-content/uploads/2020/05/nlesc_ip_policy_2017.pdf). What elements are commonly found? Which differences do you see, and what is their respective motivation?

:::

:::Chapter{headline="Exercise 3" widemd=1}
## Exercise 3: What licenses do researchers at your university use?
Search on [GitHub](https://github.com/) or other software repositories for software created by researchers at your university. What licenses do they use? Do they adhere to a policy (if there is one?)
:::

:::Chapter{headline="Further reading" widemd=1}
## Software licenses
Follow the links below to read about different open licenses.

### The Turing Way (20 minutes)
Read in the Turing Way about [Software licenses](https://the-turing-way.netlify.app/reproducible-research/licensing/licensing-software.html) , as well as [Data licenses](https://the-turing-way.netlify.app/reproducible-research/licensing/licensing-data.html) and [Machine Learning Model licenses](https://the-turing-way.netlify.app/reproducible-research/licensing/licensing-ml.html). It is good to realize that these are different in ways that are relevant for re-use, that need to be covered specifically in a license.

### Choose a license (10 minutes)
By now you will have a good idea of what Open Source licenses are available. [Choosealicense.com](https://choosealicense.com/) tries to simplify the choice between them, and is an excellent resource to be aware of and recommend to others.

#### You should now be able to...
- Understand the difference between open and proprietary licenses
- Understand the difference between permissive and viral (or copyleft) free licenses
- Know the main Creative Commons permission marks (BY/SA/NC/ND)
- Understand what it means for something to be "in the public domain"
- Know that ML models, software, and data place different requirements on their respective licenses.

## License compatibility

Follow the links below to read about the compatibility of different open licenses.

### License compatibility (15 minutes)
What happens when software licenses meet? To start understanding the concept of license compatibility, [this blog post on mend.io is a good start](https://www.mend.io/resources/blog/license-compatibility/).

### License compatibility in-depth case study (optional; 20 minutes)
The Turing Way also discusses license compatibility with [an excellent in-depth analysis of a case study](https://the-turing-way.netlify.app/reproducible-research/licensing/licensing-compatibility.html). While this chapter is very informative, it goes quite deep into a specific case study, so it should be seen as illustrative rather than necessary background reading.

#### You should now be able to...
- Explain what license compatibility means
- Roughly know which open source licenses mix, and which do not.

## University software policy (30 minutes)
It is important that the copyright holder (the university!) has a policy on software licensing, to allow their researchers to share software with an open license. [TU Delft has such a policy](https://zenodo.org/record/4629662), as does [the Netherlands eScience Center](https://guide.esciencecenter.nl/#/best_practices/licensing). Does your university or institution have a software policy?

#### You should now be able to...
- Know what factors motivate the creation of a software policy
- Know some licenses that are recommended by research institutions, and their motivation.

:::
This is the module about licensing.

12 changes: 12 additions & 0 deletions modules/licenses/copyright.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## Copyright and software

Creative works, like books, paintings and music, but also scientific articles and software, are covered by copyright. Copyright is a legal construct that gives the owner of the copyright on a work the exclusive right to reproduce, modify, publicly perform and distribute the work. As a result, anyone who is not the copyright holder needs to have permission from the copyright holder to also be able to do so.

Newly created works are automatically covered by copyright. This copyright is owned by the creator of the work, unless they were employed and created the work as part of their employment, in which case their employer owns the work. If multiple persons or organisations contribute to a work, then they each own a share of the copyright, and all need to give permission for others to be able to do any of the things protected by copyright. This permission is called a *license*.

Creative works can depend on each other. Books for example can be translated, or turned into a stage play or a TV series. This creates a new work, which is known as a derivative work. A derivative work has its own copyright, because creating a translation or adaptation is itself a creative process. Like in a collaborative work, both the owner of the original copyright and the owner of the copyright on the derived adaptation need to give permission to reproduce and distribute the derived work.

Software is a bit different from books or films or even databases because software is not only a collection of words and symbols, but also a machine that is used for something. As a result, working processes around software are quite different from those around books or films. Although it's bad practice, researchers quite often take a script from a colleague and modify it a bit so that it does what they want. A film director would be surprised indeed if you suggested they take a script from an existing film, change the dialog in the third act a bit, and then shoot it, but in software that's common. No novelist downloads ready-made paragraphs and chapters from the Internet and glues them together into a novel, but this is essentially how all modern software is developed.

As a result, software and copyright is a bit of a specialist topic, but one that cannot be avoided because of the automatic nature of copyright and the fact that science is a collaborative enterprise. Universities therefore need a policy to govern what their employees should do and can't do with respect to the software they develop and use, and that policy needs to include something specifically about licensing software.

3 changes: 3 additions & 0 deletions modules/licenses/ex_have_licensing_policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Exercise 2: Does your university have a software licensing policy?
Try and find out whether your university has a software (licensing) policy. If you can find it, compare it with the ones from [TU Delft](https://zenodo.org/record/4629662), [ASTRON](https://zenodo.org/records/7307162) and [the Netherlands eScience Center](https://www.esciencecenter.nl/wp-content/uploads/2020/05/nlesc_ip_policy_2017.pdf). What elements are commonly found? Which differences do you see, and what is their respective motivation?

3 changes: 3 additions & 0 deletions modules/licenses/ex_licenses_in_use.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Exercise 3: What licenses do researchers at your university use?
Search on [GitHub](https://github.com/) or other software repositories for software created by researchers at your university. What licenses do they use? Do they adhere to a policy (if there is one?)

9 changes: 9 additions & 0 deletions modules/licenses/index.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
copyright.md

university_policy.md
ex_have_licensing_policy.md
ex_licenses_in_use.md

licenses.md
ex_choose_a_license.md

Loading

0 comments on commit 21e9dcd

Please sign in to comment.