diff --git a/modules/licenses/copyright.md b/modules/licenses/copyright.md index 2ff9787f..d064456d 100644 --- a/modules/licenses/copyright.md +++ b/modules/licenses/copyright.md @@ -4,7 +4,7 @@ type: reading order: 2 --- -## Copyright and software +## Copyright and software (2 minutes) 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. diff --git a/modules/licenses/ex_choose_a_license.md b/modules/licenses/ex_choose_a_license.md index 424cbc35..2df14680 100644 --- a/modules/licenses/ex_choose_a_license.md +++ b/modules/licenses/ex_choose_a_license.md @@ -1,10 +1,10 @@ --- title: Choose a license type: exercise -order: 7 +order: 6 --- -## Exercise 3: Choose a license for or using your policy (10 minutes) +## Exercise 2: 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. diff --git a/modules/licenses/ex_finding_the_license.md b/modules/licenses/ex_finding_the_license.md new file mode 100644 index 00000000..1e847291 --- /dev/null +++ b/modules/licenses/ex_finding_the_license.md @@ -0,0 +1,25 @@ +--- +title: Finding the license +type: exercise +order: 3 +--- + +## Exercise 1: Find the license for a software package (10 minutes) + +Imagine that a researcher comes to you and asks whether they can use a particular software package that they found online. One aspect to consider would be its license, if there is one. + +Pick a software package from the following list, and try to find out whether it has a license and if so which. The idea is to cover the list together, so let's not all start at the top! + +- Kernel Tuner +- nodal-dg +- OpenFOAM +- MATLAB +- COPASI +- Glotaran +- LinkAhead + +A few hints: + +- The researcher only gave you the name. You'll have to find the code on the Internet first. +- Licenses are not always advertised on a code's website. Try looking somewhere more technical if you can't find it in the documentation. + diff --git a/modules/licenses/ex_have_licensing_policy.md b/modules/licenses/ex_have_licensing_policy.md deleted file mode 100644 index 7a1dfbf0..00000000 --- a/modules/licenses/ex_have_licensing_policy.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Your policy -type: exercise -order: 4 ---- - -## Exercise 1: 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? - diff --git a/modules/licenses/ex_licenses_in_use.md b/modules/licenses/ex_licenses_in_use.md deleted file mode 100644 index 8b586444..00000000 --- a/modules/licenses/ex_licenses_in_use.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Licenses in use -type: exercise -order: 5 ---- - -## Exercise 2: 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?) - diff --git a/modules/licenses/how_to_share.md b/modules/licenses/how_to_share.md new file mode 100644 index 00000000..51314768 --- /dev/null +++ b/modules/licenses/how_to_share.md @@ -0,0 +1,44 @@ +--- +title: How to share software +type: reading +order: 5 +--- + +## How to share software (6 minutes) + +Sharing software is done these days by making it available through the Internet, via e.g. GitHub or Zenodo. As we have seen however, that's not all you need to do. Because of copyright law, the software also needs a license. Sharing scientific software is sometimes simple from a legal perspective, but it can also be quite complicated. This section explains the main issues to take into account, which are ownership of the copyright, constraints imposed by dependencies, and choosing a license. + +### Ownership + +A copyright license must be given by the owner(s) of the copyright being licensed. This means that the first step to licensing a program is to find those owners. In most countries, including The Netherlands, any work you do as part of your tasks as an employee of an organisation belongs to your employer, not to you. After all, they're paying you to do the work. This means that the copyright on any software written by a university employee is owned by the university. + +If the software to be shared is written entirely by one person, with no copy-pasting of code from others, and no help from people outside of the organisation, then the copyright is therefore owned by your organisation, and it can decide how to license the code. + +Science is often done collaboratively though, and that makes things a bit more complicated. Funding for research is often given to consortia comprising multiple organisations that will collaboratively execute the research project. Such a consortium is governed by a Consortium Agreement (CA), which almost always has an Intellectual Property paragraph. Unfortunately, the standard text in the templates used for those documents rarely mentions software, as it mainly addresses patents and trade secrets. It does however usually say that each party gets to own the things they make, and that the partners can use it for the purpose of executing the research, but not beyond that. (Note that there is always some negotiation regarding the text, so you should check any specific CAs that apply, and not rely on this general description.) + +Funding may also come with terms covering ownership. eScience Center grants for example come with a stipulation that both parties co-own the software even if it is written completely by one of the partners. + +So, if your researcher works on the software together with a researcher from a different organisation, then both organisations need to agree to license their respective copyrights, ideally under the same license to avoid complicating things. + +For long-lived scientific software that isn't Open Source already, it can sometimes be very difficult to determine ownership. It may not always be clear who wrote which part of the code (especially if no version control software was used), who they worked for when they did so, and which contracts were in place that governed their activities. Ideally, the copyright owners would have been carefully tracked over the life of the software, with copyright statements in the README documenting the owners. That is unfortunately very rare however. If it is not possible to determine the owners of the copyright, then the software cannot be licensed. + +### Dependencies + +Owners may not be completely free to decide how to license their software. Aside from any constraints imposed by funders, *dependencies* play a role. Dependencies are externally developed, separate software packages that are needed for the software to work. Having such dependencies is very common, and dependencies typically have their own dependencies, so that any complete computer program consists of a whole collection of software packages, usually written by different people. These days at least for Open Source software, the complete program is rarely distributed as a whole. Instead, the owners of the individual components each put their components online, and a special tool is used to collect all the required bits and combine them together on the computer of the user, who can then use the software. + +As described in the section on licensing, strong copyleft licenses place constraints on how the combined software can be licensed. As a result, you cannot use them in a non-Open Source program. This does not mean that you have to make your software Open Source if has a copyleft dependency, but *if* you distribute it, then that must be done under the same license, and/or a more permissive one that does not conflict with it. + +As you can see, dependencies with strong copyleft licenses can make life a bit more complicated. On the other hand, as long as no proprietary software is involved not much can go wrong. In case there are proprietary dependencies (including ones without a license, or "academic use only" or somesuch), there is a larger issue. If the software cannot work without the dependency, and the proprietary license does not allow redistribution, there we can still open source the software, but others won't be able to run it unless they can somehow get a copy of the proprietary dependency. And if you choose a strong copyleft license for your code, then you'll have to add a special exception for your users to be able to use it with the proprietary dependency. + +So it is really proprietary software that complicates things legally, and that's aside from the lack of Open Science transparency. On the other hand, some proprietary software package is sometimes the only solution, and so proprietary dependencies cannot always be avoided. If that's the case, you'll have to look at the specific terms for that package and try to find a solution. + +Weak copyleft licenses are less of an issue, because they do not reach beyond the licensed package itself. They can become an issue if your researcher has copy-pasted code from them into their own program (which is bad practice, but unfortunately fairly common still), or created a modified version. In that case the same weak copyleft license applies to (parts of) their code or the modified software, thus restricting the available license choices. + +### Choosing a license + +In almost all cases, scientific software should be licensed under a common, standard Open Source license. Open Source enables scientific collaboration and makes the work available to the society that paid for its creation, and not using a standard license creates enough legal risk that most potential users will not be willing to touch the software unless they really have to. + +Whether to use a permissive, weak, or strong copyleft license is up to the copyright owner. If your organisation has a policy on software, then it may well say something about which licenses can be used, so be sure to check that. The authors of the software may also have an opinion, or develop one if you explain the different kinds of licenses to them. A tool like [ChooseALicense](https://www.choosealicense.com) may help here. + +Note that Creative Commons licenses should not be used for software. They were created specifically to be able to apply the concept of Open Source to everything that is *not* software, and aren't suitable to the specific properties of software. So use CC for data and other works, and an Open Source license for software. + diff --git a/modules/licenses/index.md b/modules/licenses/index.md index b7a6a73e..212ac4b4 100644 --- a/modules/licenses/index.md +++ b/modules/licenses/index.md @@ -3,7 +3,7 @@ title: Software licenses category: Reusability order: 25 author: eScience Center -abstract: What are software licenses, copyright and open-source, how are they related and why is it important to think about? +abstract: What are software licenses, copyright and open-source, how are they related and why is it important to think about? thumbnail: "thumbnail-licenses.png" visibility: visible --- diff --git a/modules/licenses/info.md b/modules/licenses/info.md index f34a6c5b..0929e7f4 100644 --- a/modules/licenses/info.md +++ b/modules/licenses/info.md @@ -7,6 +7,7 @@ order: 0 Obtain the skills and knowledge necessary to address the following questions: - What is a software license? What is copyright? -- What are the different kinds of software license? -- Why is it important to provide a license with research software? -- How do I support researchers in choosing the right license for their software? +- How to legally use software made by others in your organisation? +- How to license software created by your organisation? +- How to license contributions to external Open Source projects? + diff --git a/modules/licenses/licenses.md b/modules/licenses/licenses.md index d15296ef..d67f10ce 100644 --- a/modules/licenses/licenses.md +++ b/modules/licenses/licenses.md @@ -1,10 +1,10 @@ --- title: Software licenses type: reading -order: 6 +order: 4 --- -## Software licenses +## Software licenses (8 minutes) Software licenses are legal statements that give permission to use, modify and/or distribute software. By copyright law, only the copyright owner(s) can give this permission, so the license must be granted by those owners. diff --git a/modules/licenses/media/Kleine_Dinge.jpg b/modules/licenses/media/Kleine_Dinge.jpg new file mode 100644 index 00000000..bd870dc0 Binary files /dev/null and b/modules/licenses/media/Kleine_Dinge.jpg differ diff --git a/modules/licenses/media/Stephanie_Morales_Sharing.jpg b/modules/licenses/media/Stephanie_Morales_Sharing.jpg new file mode 100644 index 00000000..395d5b5b Binary files /dev/null and b/modules/licenses/media/Stephanie_Morales_Sharing.jpg differ diff --git a/modules/licenses/media/Zytgloggeturm_Bern.jpg b/modules/licenses/media/Zytgloggeturm_Bern.jpg new file mode 100644 index 00000000..2adc8014 Binary files /dev/null and b/modules/licenses/media/Zytgloggeturm_Bern.jpg differ diff --git a/modules/licenses/slides.md b/modules/licenses/slides.md index 0f5771ed..03408928 100644 --- a/modules/licenses/slides.md +++ b/modules/licenses/slides.md @@ -15,12 +15,48 @@ order: 1 +## Common questions + +- Can I use this software I found online? +- Can I share my software with others? +- Can I contribute to someone else's software? + + +Note: + +There are three different things researchers do with software that are affected by licensing: using someone else's software, sharing your own software, and contributing to someone else's software (or having others contribute to yours). + +You're probably most likely to get questions on the second topic, because the first is so commonly done that people either know the answer or don't know that it's even an issue, while the third one is still pretty rare in practice. + +Software is covered by copyright, and that's the main legal context in which we'll look at these questions here. + +=== + + + +
Free and Open Source | +Proprietary | +||
---|---|---|---|
Copyleft | +Permissive | +||
Strong | +Weak | +||
GPL1 AGPL2 | +LGPL3 MPL4 | +BSD5 MIT6 Apache | +Research only, No copying, No modification | +