Licenses#
The licenses in the SPEX package are managed using the Reuse package. With this package, one can set a license easily for each file separately. Because of the long history of SPEX, we have imported code in the past with sometimes unclear licenses. We have tried to find alternatives for proprietary code and licensed the imported open code to the best of our ability, giving credit to the original authors as much as possible. Please submit an issue if you find code that is improperly licensed.
In total, we have code with 6 difference licenses within SPEX:
Apache 2.0 (Default)
CC-BY 4.0 (Default for documentation)
CC0
LAPACK
PGPLOT
MINPACK
Contributed code will be licensed under Apache 2.0 and contributed documentation will be CC-BY 4.0. A copy of each license can be found in the LICENSES directory in the root directory of the source.
Reuse#
Reuse is used to manage the licensing for all source files and documentation. It creates machine readable license comments which can be checked with the reuse program.
Compliance#
To check the compliance to the Reuse specification, one can run the following command in the SPEX source directory:
$ reuse lint
The output will provide an overview of all the licensed and unlicenses files in the source directory and point out any issues. Please see the reuse lint documentation for details.
Adding licenses#
The reuse program can also be used to add license statements to files in bulk. This is done with the reuse annotate command. In case of questions, please contact the SPEX team or submit an issue.
The default parameters for reuse annotate for Fortran 90 files in SPEX are:
reuse annotate --copyright NWO-I/SRON Space Research Organisation Netherlands \
--license Apache-2.0 --year 1992-2026 --style f90
The default is also provided in the REUSE.toml file in the root directory of the source code.
Fortran 90#
For Fortran 90 files, please use the --style f90 flag for reuse. This will
create a license header like this:
! SPDX-FileCopyrightText: 1992-2026 NWO-I/SRON Space Research Organisation Netherlands
!
! SPDX-License-Identifier: Apache-2.0
Python#
For Python files, please use the --style python flag for reuse. This will create a license
header like this:
# SPDX-FileCopyrightText: 1992-2026 NWO-I/SRON Space Research Organisation Netherlands
#
# SPDX-License-Identifier: Apache-2.0
Restructured text (.rst)#
For documentation files, please use the --style rst flag for reuse. This will create a license
header like this:
.. SPDX-FileCopyrightText: 1992-2026 NWO-I/SRON Space Research Organisation Netherlands
..
.. SPDX-License-Identifier: CC-BY-4.0
Please note the change to the CC-BY license.