This is an overview of licensing options for software. The focus lies on code that is developed for and used in research and that should be made available free of charge to other researchers and the general public.
In case programmer(s), group leader, or the department consider to commercially exploit the software, please stop here and get in touch with the Knowledge and Technology Transfer Service at Empa.
If you create computer programs in the course of an employment relationship at Eawag, Eawag has far-reaching rights with regard to dissemination and use of these programs.
Eawag supports highest standards of research integrity and and champions Open Science. Therefore, Eawag makes it easy for researchers to publish software developed in the course of their work as Free/Libre Open Source Software.
Software developed at Eawag can be published freely, as long as the following conditions are met:
The rest of this guide is supposed to help researchers fulfil 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.
YES ⟶ Continue to "2. Do you use third-party code as part of your program?"
NO ⟶ talk to them and get their agreement!
Find the terms under which you obtained the code. There might be a file "LICENSING", "COPYING", "RIGHTS", "USAGE" or similar in the distribution. If that fails, have a look at the website where you downloaded it.
✅ If the third-parts software is in the public domain, you are all good.✅
Public domain software can often be recognised by the CC0 Public Domain Dedication or the Public Domain Mark. Software created by US federal government institutions such as NASA, NOAA, EPA, ... is usually in the public domain. Check the respective website.
✅ If the third-party software is licensed under one of the common Open Source Licenses recommended here, you are all good if you publish the combined program under the AGPL v3.✅
Common Open Source Licenses recommended here are:
✅ If the third-party software is licensed under a different Open Source License, which is listed as GPL-compatible, you are all good if you publish the combined program under the AGPL v3.✅
The Free Software Foundation maintains a list of GPL-compatible licenses. The Affero GNU Public License (AGPL v3) is the most compatible one among the popular Open Source Licenses.
❌ If you can't find a license or a
public-domain dedication, you can't
re-distribute the software as part of your
Get in touch with the vendor or programmer of the third-party software and obtain permission.
❌ If you obtained the software under a
proprietary license, you usually can't
re-distribute the software as part of your
Proprietary licenses are most often attached to software you had to buy and they usually prohibit re-distribution. Get in touch with the Eawag RDM Team to try find a workaround.
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" 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.
COPYINGin the top directory of your software distribution.
Copyright <YEAR> <AUTHOR NAME> <AUTHOR E-MAIL ADDRESS> 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/>.
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".
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.
"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.
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:
Copyright <YEAR> <AUTHOR NAME> <AUTHOR E-MAIL ADDRESS> [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.
Copyright <YEAR> <AUTHOR NAME> <AUTHOR E-MAIL ADDRESS> [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 legalcode as plain text in root directory of the distribution.
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!.
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.