FAIR and Open Code
FAIR and Open Code are important to Open Science and can increase transparency and reproducibility of your research. Working FAIR means that data is Findable, Accessible, Interoperable and Retrievable. To achieve this, you can use a publicly accessible repository such as Github or the Open Science Framework to store and share your data.
FAIR code can basically be seen as the successor to Open Source code, where the main difference is in the licensing. There are various examples of Open Source code projects that were forked or redistributed and are now under a paid license, rendering the open source part of such (software) projects to zero. FAIR code prevents this by restricting the rights to commercialization of software exclusively to its authors. This means that FAIR software can be paid software, however the developer’s revenue has to benefit long-term development and support.
Please keep in mind that FAIR code is not a software license, but a software model based on four principles: 1) FAIR code and software should have its source code publicly available, 2) is commercially restricted by its authors, 3) is (generally) free to use and distribute, and 4) can be extended by public and private communities (www.faircode.io).
Tools
- GitHub (the de-facto standard source code repository for research software)
- Awesome Research Software Registries (list of various registries for research software, making software findable)
- Software Sustainability Institute’s software evaluation checklist (get feedback on your software project.
Licenses
Currently there are several FAIR-code licenses available for use. Some examples are:
Commons Clause – This license restricts the right to commercially redistribute the software to anyone else than its developers. It allows users to free access to source code, modification of the software and non-paid redistribution. For more information, see: https://commonsclause.com/
Confluent Community License Version 1.0 – This license restricts ‘Excluded Purposes’, such as publishing the software as a service, de facto restricting any form of resale by users. This also means that it is not allowed to use (parts of) the code for the development of a competing service. However, this license does allow the addition of copyright notices to modifications made by an user within your software. For more information, see: https://www.confluent.io/confluent-community-license/
Elastic License 2.0 (ELv2) – This license restricts providing the software to third parties as a managed or hosted service. This means that no service can provide users with access to a substantial set of features or functions of your software. Also, the license provides the user with a non-sharable license key and does not allow any altering of licensing or copyright notices within code and software. For more information, see: https://www.elastic.co/licensing/elastic-license/
Sustainable Use License 1.0 – This license allows the use or modification of the software only for non-commercial or personal use and internal business purposes. The software may be redistributed free of charge and only for non-commercial purposes. Altering or removing copyright or licensing notices is restricted. Also, in the case of using patented parts in your software, this license restricts violation of any patents caused by altering or modifying the software. For more information, see: https://github.com/n8n-io/n8n/blob/master/LICENSE.md
More about:
- Towards FAIR Principles for Research Software (the original publication about how the FAIR Principles apply to software)
- fair-software.eu (five concrete recommendations for making software FAIRer)
- choosealicense.com (information about and help for choosing software licenses)
- Journal of Open Source Software (JOSS) (a developer-friendly, open access journal for publishing research software packages)