diff --git a/modules/licenses/copyright.md b/modules/licenses/copyright.md new file mode 100644 index 00000000..45ff9081 --- /dev/null +++ b/modules/licenses/copyright.md @@ -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. + diff --git a/modules/licenses/ex_choose_a_license.md b/modules/licenses/ex_choose_a_license.md deleted file mode 100644 index 33a04686..00000000 --- a/modules/licenses/ex_choose_a_license.md +++ /dev/null @@ -1,8 +0,0 @@ -## 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. - diff --git a/modules/licenses/further_reading.md b/modules/licenses/further_reading.md deleted file mode 100644 index ae32ed1a..00000000 --- a/modules/licenses/further_reading.md +++ /dev/null @@ -1,37 +0,0 @@ -## 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. - diff --git a/modules/licenses/have_university_policy.md b/modules/licenses/have_university_policy.md deleted file mode 100644 index 7b219032..00000000 --- a/modules/licenses/have_university_policy.md +++ /dev/null @@ -1,7 +0,0 @@ -## 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. - diff --git a/modules/licenses/index.txt b/modules/licenses/index.txt new file mode 100644 index 00000000..3094aea7 --- /dev/null +++ b/modules/licenses/index.txt @@ -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 + diff --git a/modules/licenses/introduction.md b/modules/licenses/introduction.md deleted file mode 100644 index dcc8fdeb..00000000 --- a/modules/licenses/introduction.md +++ /dev/null @@ -1,12 +0,0 @@ -## 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. - diff --git a/modules/licenses/license_types.md b/modules/licenses/license_types.md deleted file mode 100644 index e51035db..00000000 --- a/modules/licenses/license_types.md +++ /dev/null @@ -1,45 +0,0 @@ -## 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 - - - - - - - - - - - - - - - - - - - - -
Free and Open SourceProprietary
CopyleftPermissive
StrongWeak
GPL1 AGPL2LGPL3 MPL4BSD5 MIT6 ApacheResearch Only: No copying, No modification
-
- 1GPL: GNU General Public License 2AGPL: Affero General Public License 3LGPL: GNU Lesser General Public License 4 MPL: Mozilla Public License 5 BSD: Berkeley Software Distribution 6 MIT: Massachusetts Institute of Technology -
- diff --git a/modules/licenses/licenses.md b/modules/licenses/licenses.md new file mode 100644 index 00000000..741c5351 --- /dev/null +++ b/modules/licenses/licenses.md @@ -0,0 +1,77 @@ +## Software licenses + +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. + +There are different kinds of software licenses, with different underlying business models. Some software producers sell copies or seats, where the user has to pay for each computer that the software is used on or person the software is used by, and where the user does not have permission to modify or distribute the software. In this case, licenses are given to individual users or companies as part of a sales contract. + +It is also possible to make a general statement that anyone can use, modify and/or distribute a software package under certain conditions. In this case, there is no contract, and no specific counterparty. Instead, the owners of the copyright give the same permissions to everyone, usually in a document included with the software as it is put on the Internet. Software distributed like this can usually be downloaded without paying, although there may still be significant limitations on what you can do with it. + +Some software is distributed with a license that gives very broad permissions to anyone who obtains a copy. Such software is known as Free Software and/or Open Source Software. Before we look at what that is exactly, it helps to understand a bit better what software actually is, and how it's made. + +### What is software? + +To non-programmers, software can appear to be a somewhat magical thing. It is in our computers and phones and it makes them work, or sometimes not work. It's made by specialist people who we call programmers, and who must be very smart to be able to make all this work, or perhaps very dumb given how often software doesn't work. In short, it seems to be mysterious. + +Of course, programmers are perfectly ordinary people. They make the software that makes our phones and computers work, and sometimes programmers make mistakes, and then the software doesn't work as intended. Computer programs are made by typing text into the computer, just like you do when writing an email or a letter. Computer programs consist of one or more files with instructions for the computer. These files can be modified to change what the software does, they can be combined together into a larger, more complex program, and they can be shared with others and reused. For the computer to be able to run the software, the files need to be translated from the human-readable text form (the *source code*) into a sequence of numbers encoding the same commands (a *binary*). This is done mechanically by a special program called a compiler or an interpreter. + +There are different ways of making software collaboratively. One is to work closely together (even sharing a computer!) on the same source code, which can help reduce mistakes as two see more than one, or it can be useful as a teaching exercise. Looser ways of collaborating include copying someone else's code and then independently modifying it to do something a bit different, and reusing a software component made by someone else in your own program, usually in its original form but possibly with changes as well. + +The looser forms of collaboration rely on software being distributed from its maker to its user, who then modifies it or integrates it. This requires permission from the copyright owners because there's distribution and the creation of a derivative work, which means that there needs to be a license. A reliable and easy way to do this is to make all the software Free and Open Source. + +### Free and Open Source Software + +The Free Software Foundation lists four freedoms that users need to be given by the copyright owner(s) for a program to be considered Free Software: + +- 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. + +Note that the word "free" here refers to freedom to do things, not to what the software costs. You're allowed to sell copies of Free Software! + +Open Source Software has an official definition too, which is quite a bit longer but boils down to the same thing. Because of that, the terms are often combined into Free and Open Source Software, or FOSS, but the term Open Source is also popular. We will use them here interchangeably. + +You can make a software package that you own the copyright to Open Source by distributing it (usually on the Internet) under an Open Source license, i.e. one that gives everyone the above freedoms. In practice, that means that the software is distributed in source code form, with a license document stating that the copyright owners give everyone the freedom to do the above things, subject to certain conditions. There exist a small number of standard Open Source licenses that you can use. All of these are open source, but there are some difference as well that are good to know about. + +### License categories + + + + + + + + + + + + + + + + + + + + +
Free and Open SourceProprietary
CopyleftPermissive
StrongWeak
GPL1 AGPL2LGPL3 MPL4BSD5 MIT6 ApacheResearch Only: No copying, No modification
+
+ 1GPL: GNU General Public License 2AGPL: Affero General Public License 3LGPL: GNU Lesser General Public License 4 MPL: Mozilla Public License 5 BSD: Berkeley Software Distribution 6 MIT: Massachusetts Institute of Technology +
+ +The table above shows five of the most common FOSS licenses. They're organised in a hierarchystarting with the distinction between Free and Open Source on the one and, and proprietary software on the other. Proprietary software is software that isn't FOSS, which is to say that it has restrictions on use or modification or distribution. It's called proprietary because there is a proprietor or (copyright) owner, who has exclusive control over the software. For Open Source this is not the case: there is a copyright and it's owned by someone, but the license gives everyone else the same permissions they have and so they don't have exclusive control. + +Within the category of Open Source licenses, we can distinguish Copyleft licenses and Permissive licenses. Permissive licenses give everyone permission to use, modify and distribute with no further restrictions other than perhaps requiring an acknowledgement that the software was used. In particular, permissive licenses allow the software to be used as a part of non-Open Source software, and for it to be redistributed without the source code, so that it cannot be inspected or modified anymore. + +Copyleft licenses try to ensure that the software remains FOSS. You are free to distribute Open Source software that has a copyleft license, but you have to include the complete source code and distribute the modified or extended software under that same license. As a result, everyone who gets a copy of a version of the software and anything it's used in will be free to use, modify and distribute that product. Note that distribution isn't required, all common open source licenses allow making private modifications and not sharing them with anyone. + +Weak copyleft licenses are intended for use with libraries, software components that are intended to be used by other programmers to build larger programs. A weak copyleft license applies copyleft to the library itself, but not to the larger program using the library. As a result, programmers using the library can distribute their part of the program without source code or the right to make modifications, as long as they do distribute the source for the library, including any modifications. Strong copyleft licenses require the entire program to be under the same strong copyleft license. + +### License politics + +Besides the legal differences, there's a bit of a political difference between Free Software and Open Source, and between copyleft and permissive licenses, that is good to understand. Free Software adherents see everyone as a potential programmer, and believe that your computer isn't truly yours until you fully control what it does, which requires the ability to inspect and modify the software. They envision a world in which computer users collaboratively develop the software they use, sharing their improvements with each other. They therefore prefer copyleft licenses, because those ensure that as many software packages (and therefore, users) as possible are free. + +Open Source takes a more pragmatic approach in assuming that most software is made by a small cadre of software developers, often employed by companies, and that there are a potentially large number of end users that have neither the skills nor the inclination to change what their computer does. For these end users, having the source code is not useful, but the developers can often save some effort by working together on software that everyone needs. A permissive Open Source license makes that possible with a minimal amount of legal complexity. It also makes it easy to build commercial, proprietary products on top of the software. + +From the perspective of science, there's something to be said for each of these approaches. On the one hand, Free Software and copyleft matches the ideals of Open Science quite well. On the other hand, science and scientific software development is funded by society using public funds in the hopes that something useful will come out of it, and scientific papers are useless to most citizens. They want a product, which will be produced commercially, and that is a good match for the Open Source and permissive licensing model. + diff --git a/modules/licenses/slides.md b/modules/licenses/slides.md deleted file mode 100644 index 56feecb6..00000000 --- a/modules/licenses/slides.md +++ /dev/null @@ -1,113 +0,0 @@ - - -## Software Licensing - - - - ---- - - - -## About copyright - -- Berne convention -- Owned by author or employer? -- Can be licensed - - -Note: - -By the Berne convention, software is automatically protected by copyright when it is made. Depending on the country, protection lasts 50 years or more. The owner of the copyright is the only one who can copy, publish, and modify the software. - -If you make software as part of a job for an employer, then your employer owns the copyright. Otherwise, you are the owner (unless there's a contract somewhere that says otherwise). - -The owner of the copyright on a work can give permission to others to do things they would otherwise not be allowed to do, like copying, publishing and modifying the work. A document that describes what they can do is called a copyright license. These licenses can be given to a specific party, usually as part of a contract, or they can be offered to the general public. - - ---- - - - -## Using others' software - -- You need a license -- Open Source makes that easy -- Different Open Source licenses available - - -Note: - -To use software that was made by someone else, you need to (at least) get a copy of it, and that requires permission from the copyright owner, i.e. a license. If the software has an Open Source license, then you have permission to get a copy and run it for any purpose, including commercially, and/or use it in your own software. There will be some conditions attached, which depend on the particular license used. - -There are a handful of Open Source licenses available, with different terms. Those differences are especially important when you use a package or library in your own software. There are websites available that explain all the standard Open Source licenses in ordinary language, so that you can easily decide whether you can use a certain software package. You don't need to be (or have) a lawyer to use Open Source software. - - ---- - - - -## Who owns a work? - -- Work for hire -- Consortium agreements -- University policy - - -Note: - -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 to the university. And that means that anyone not working at that university (which may include said employee in the future!) needs permission from the owner to work with the code. - -Some limited permission is often granted in the Consortium Agreements typically governing scientific project(s), but these are only valid within the project. To make the software available outside of the project it was developed in, broader permissions must be given. Some universities have a policy on how and under which conditions this can be done; details can typically be had from the library or legal department. - - ---- - - - -## Why license your software? - -- Public funding -- Academic freedom of employees -- Save work by collaborating -- Increase impact - - -Note: - -If a scientist working at a university, in the course of doing their job, creates software, then that software is owned by the university. By default then, it can only be used by that university and its employees. This is an undesirable situation for several reasons. - -- First, the software was most likely funded with public money, and should therefore be available to the public, just like papers are published Open Access. -- Second, researchers frequently change jobs, moving from university to university. Without permission from their previous employers, they would have to start rebuilding their software from scratch every time they move to a new university, which would be very inefficient. -- Third, many of the most pressing problems that scientist work on involve complex, multifaceted systems that can only be properly studied in collaboration. Where software is involved, which is to say almost everywhere in academic research, researchers need to be able to exchange software and collaborate on its development, including across projects. -- Finally, doing so will allow them to achieve better results, and continue to build on those results, thus achieving higher impact. - - ---- - - - -## Open Sourcing scientific software - -- Free, Open Source Software -- Technology Transfer - - -Note: - -Free, Open Source Software (or FOSS, as it's sometimes abbreviated) is software that you are free to 0) use for any purpose, 1) modify to suit your needs, 2) share with others, and 3) share with changes you made, so you can work on it together. That's actually the Free Software definition, but Open Source really just says the same thing in more words, which is why they're usually mentioned together. These are exactly the permissions scientists need to be able to do science together using the software. - -Open Source licenses also allow commercial use, which means that they are a very effective means of technology transfer. Since the license terms are the same for everyone, there are no issues with state aid regulations, nor does a market-rate value for the software need to be determined. The standard Open Source licenses are now well understood and trusted by commercial parties, removing the need for complex negotiations on the exact terms. Of course, no payment will be received either. Given that commercial sale of academic software is very rare, it seems that the benefits obtained from the academic collaboration enabled by Open Source far outweigh the potential income loss due to not commercially licensing the software. And note that it is still perfectly possible to launch a spin-off or start-up that offers commercial services related to the software, including support and continued development. - - - ---- - - - - -www.esciencecenter.nl - -info@esciencecenter.nl - -020 - 460 47 70 diff --git a/modules/licenses/university_policy.md b/modules/licenses/university_policy.md index fe980352..75d6c1cf 100644 --- a/modules/licenses/university_policy.md +++ b/modules/licenses/university_policy.md @@ -1,5 +1,11 @@ ## University software policies +Universities employ researchers, who often create and use software in the course of doing research. That means that they create and use copyrighted works, activities governed by copyright law. Works created by employees as part of their work are normally owned by their employer. This is the default legally in many places, and is almost always stated in the employment contract as well. So, the university owns the software created by its employees, and because the employees also act on behalf of their employer, is responsible for any violations of copyright by their employees. + +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 their work 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. Universities are increasingly aware of this, and have created or are creating policies to guide how they create and use research software. In this module we'll look into the why, how and what of university software policies. + ### Why? - Ensure scientific software is properly licensed