Software Licensing

Software Licensing#

Disclaimer#

This is an overview of licensing options for software. The focus lies on code that is developed for and used in research, made available free of charge to other researchers and the public.

If you are considering commercial exploitation, or sharing the software with a specific academic partner, please contact the Empa-Eawag Technology Transfer Office (TTO) ( only accessible from Eawag intranet).

If you create computer programs in the course of your employment at Eawag, Eawag has extensive rights regarding dissemination and use of these programs.

Eawag champions Open Science, making it easy for researchers to publish software as Free/Libre Open Source Software.

Software developed at Eawag can be published freely if the following conditions are met:

  1. All contributors agree to publish the software.

  2. The software is published under terms that comply with the Open Source Definition (OSI).

The rest of this guide is supposed to help researchers fulfill condition 2 easily, correctly and with minimal effort. If you have special requirements though, you can use any of the OSI-approved licenses or the CC0 Public Domain Dedication.

Choose and Apply the License#

Prerequisites

  1. Have all contributors agreed to publish the software as Open Source?

    • YES ➔ Continue to 2

    • NO ➔ Talk to them and get their agreement.

  2. Do you use third-party code in your program?

    • YES ➔ Check for complications in terms of licenses.

    • NO ➔ Continue to choose a license.

There are three broad categories of license type that can be applied to research software. Eawag recommends to use the Affero GNU General Public License Version 3 (AGPL v3). This strong Copyleft license is the most compatible Open Source license and can be applied to most programs that incorporate third-party code under Open Source licenses.

The AGPL v3 guarantees the sustainable availability of the source code of your work as well as that of future derivatives, improvements and adaptions. Therefore it is best suited to support Open Science, reproducibility and transparency.

Other type of licenses suited for research software are permissive licenses and a copyright waiver that places your work in the public domain.

Copyleft License (Free Software)

“Copyleft” licenses usually refer to the family of GNU Licenses published by the Free Software Foundation. The recommended version for researchers is the GNU Affero General Public License (AGPL) v3. These licenses aim to guarantee that the licensed software is and remains Free in the sense that “users have the freedom to run, copy, distribute, study, change and improve the software”. The GNU/Linux operating system (commonly called “Linux”) is Free Software.

Advantages

  • Compatible with reproducibility and transparency requirements of good scientific practice.

  • Legal requirement to credit the original author in the form of a retained copyright statement.

  • The most compatible license among Open Source licenses: It can be used for programs that incorporate third-party code obtained under the vast majority of existing Open Source licenses.

  • Reciprocity requirement: All improved versions and derived works can only be distributed under the same license, thus forcing companies who profit from your code to give back their additions and improvements to the community.

  • Ensures that future improvements, changes and derived versions of the software remain Open Source so that the scientific community and the general public continue to profit from it.

Drawbacks

  • The “reciprocal” nature of the license makes it more difficult to exploit such code commercially. If the code is supposed to be used commercially in the future, for example forming an asset of a spin-off, or if the code is created within a collaboration with the private sector, please consult all stakeholders before publishing it under a copyleft license (or any license for that matter).

How to Apply

  1. Download the GNU AGPL v3 license text and place it in a file named COPYING in the top directory of your software distribution.

  2. Include the following notice at the top of each file in the appropriate comment syntax.

    Replace <YEAR>, <AUTHOR NAME(S)>, <AUTHOR E-MAIL ADDRESS(ES)> with the actual values,
    e.g. "Copyright ©, 1968, Eawag, Billy Ocean, Susan Streamflow, s.streamflow@eawag.ch".
    
    Copyright ©, <YEAR>, Eawag, <AUTHOR NAME(S)>, <AUTHOR E-MAIL ADDRESS(ES)>
    
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as
    published by the Free Software Foundation, either version 3 of the
    License, or (at your option) any later version.
    
    This program is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Affero General Public License for more details.
    
    You should have received a copy of the GNU Affero General Public
    License along with this program.  If not, see
    <https://www.gnu.org/licenses/>.
    
Public Domain

If you put software in the “Public Domain”, you cede all rights (the “copyright”) to the software and donate it to the world. This was the dominant mode of publishing research software from the beginning of research software into the 1990ies. Software developed by US federal employees has to be published in the Public Domain. Publishing research software into the Public Domain is still popular with researchers who do not want to have anything to do with legal issues and believe that research output should belong to humanity. Note: Technically this is not a “license” but rather a “waiver”.

Advantages

  • Maximum ease of re-use. Your software can be combined with any code and re-published under any conditions .

  • Escape from any legal considerations and entanglements

  • Compatible with reproducibility and transparency requirements of good scientific practice.

Drawbacks

  • No legal requirement for (re-)users to credit you. While giving credit is a community-norm in academia, is is sometimes forgotten with regards to software. You can improve the situation by adding a reminder to the software distribution that you expect to be credited, and how (e.g. “cite my paper …”).

  • The software will be available for use you might consider freeloading, because it can easily be re-packaged, renamed and sold …

How to Apply

Include the following notice at the top of each file:

Written in <YEAR> by <AUTHOR NAME> <AUTHOR E-MAIL ADDRESS>

[other author/contributor lines as appropriate]

To the extent possible under law, the
author(s) have dedicated all copyright and
related and neighboring rights to this
software to the public domain worldwide. This
software is distributed without any warranty.

You should have received a copy of the CC0 Public Domain
Dedication along with this software. If not, see
http://creativecommons.org/publicdomain/zero/1.0/.

It is also recommended that you include a file called COPYING containing the CC0 legalcode as plain text in root directory of the distribution.

This recommendation was taken from the Creative Commons Wiki which is made available under the Creative Commons Attribution 4.0 license.

Permissive License

“Permissive licenses” have gained a lot popularity since the 2010s, but not necessarily among researchers. The main practical difference, compared to the Public Domain, when applied to research software, is the legal requirement to give the original creator of the software credit in the form of a retained copyright statement when the software or derived works are re-distributed.

Advantages

  • Excellent ease of re-use. Your software can be combined with any code published under a common free-software license to create added value.

  • Compatible with reproducibility and transparency requirements of good scientific practice.

  • Legal requirement to credit the original author

Drawbacks

  • The software will be available for use you might consider freeloading, because it can easily be re-packaged, renamed, re-licensed and sold …

  • The software can be “closed”, meaning that anybody can re-distribute it, or future versions of it, without the source code, thus making it unfit for use in scientific work.

There are a large number of licenses in this category but the two most popular ones should be sufficient to cover the vast majority of use cases:

Features

MIT License (Expat License) - Very short, easy understandable license text. Apache 2.0 - Includes a “patent grant”. This means that a license is also granted for any patents that the software may incorporate. This is mainly interesting for commercial use of the software, where it reduces the business risk.

How to Apply

Include the following notice at the top of each file in the appropriate comment syntax.

Replace <YEAR>, <AUTHOR NAME(S)>, <AUTHOR E-MAIL ADDRESS(ES)> with the actual values,
e.g. "Copyright ©, 1968, Eawag, Billy Ocean, Susan Streamflow, s.streamflow@eawag.ch".
	
Copyright ©, <YEAR>, Eawag, <AUTHOR NAME(S)>, <AUTHOR E-MAIL ADDRESS(ES)>

[other author/contributor lines as appropriate]

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Replace <YEAR>, <AUTHOR NAME(S)>, <AUTHOR E-MAIL ADDRESS(ES)> with the actual values,
e.g. "Copyright ©, 1968, Eawag, Billy Ocean, Susan Streamflow, s.streamflow@eawag.ch".

Copyright ©, <YEAR>, Eawag, <AUTHOR NAME(S)>, <AUTHOR E-MAIL ADDRESS(ES)>

[other author/contributor lines as appropriate]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Include a file called COPYING containing the Apache 2.0 legal code as plain text in root directory of the distribution.

Proprietary

Proprietary software is all software that is made available under conditions that do not allow free use, modification and re-distribution. Using proprietary software to generate research results is a problem because it usually prohibits or hinders reproducibility and transparency, which are core scientific principles.

Software written by researchers often becomes proprietary by accident: If you do not license your software, copyright law (“Urheberrecht”) applies automatically. Any software encumbered with full copyright restrictions is practically not usable for other researchers. It is important that you license your software or waive the copyright!

Unpublished

Even if the copyright restrictions of your software are not mitigated by a licence or a copyright waiver, everybody can run it as they see fit.

If your software provides you a competitive advantage and you do not want other researchers to profit from it, you have to keep it secret. There is no obvious way to keep part of your methods (the software) secret and at the same time have your results recognised as valid scientific output.