aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mueller <deso@posteo.net>2020-09-02 21:40:32 -0700
committerDaniel Mueller <deso@posteo.net>2020-09-02 21:40:32 -0700
commit888c30e975726260e0af9b61baee6b17c51a06d5 (patch)
treec2787b15a1f0ae6246ae9fa38f6f76432d93232f
parent4686dbf5d79da730776374d7ef3471c3ed4915b5 (diff)
downloadnitrocli-888c30e975726260e0af9b61baee6b17c51a06d5.tar.gz
nitrocli-888c30e975726260e0af9b61baee6b17c51a06d5.tar.bz2
Adjust copyright & license specification to comply with REUSE 3.0
With this change we switch to using a REUSE compliant way of specifying the copyright & license of the program. To be fully in conformance we also add additional license specifications for the remaining files in the project. Lastly, a new CI pipeline rule takes care of verifying compliance on an ongoing basis.
-rw-r--r--.gitignore3
-rw-r--r--CHANGELOG.md2
-rw-r--r--CHANGELOG.md.license2
-rw-r--r--Cargo.lock.license2
-rw-r--r--Cargo.toml18
-rw-r--r--LICENSES/CC0-1.0.txt121
-rw-r--r--LICENSES/GPL-3.0-or-later.txt (renamed from LICENSE)0
-rw-r--r--Makefile18
-rw-r--r--README.md3
-rw-r--r--README.md.license2
-rw-r--r--ci/gitlab-ci.yml10
-rw-r--r--doc/CONTRIBUTING.md.license2
-rw-r--r--doc/config.example.toml.license2
-rw-r--r--doc/nitrocli.1.license2
-rw-r--r--doc/nitrocli.1.pdf.license2
-rw-r--r--doc/packaging.md.license2
-rw-r--r--rustfmt.toml3
-rw-r--r--src/arg_util.rs18
-rw-r--r--src/args.rs18
-rw-r--r--src/commands.rs18
-rw-r--r--src/config.rs18
-rw-r--r--src/main.rs18
-rw-r--r--src/pinentry.rs18
-rw-r--r--src/redefine.rs18
-rw-r--r--src/tests/config.rs18
-rw-r--r--src/tests/encrypted.rs18
-rw-r--r--src/tests/hidden.rs18
-rw-r--r--src/tests/list.rs18
-rw-r--r--src/tests/lock.rs18
-rw-r--r--src/tests/mod.rs18
-rw-r--r--src/tests/otp.rs18
-rw-r--r--src/tests/pin.rs18
-rw-r--r--src/tests/pws.rs18
-rw-r--r--src/tests/reset.rs18
-rw-r--r--src/tests/run.rs18
-rw-r--r--src/tests/status.rs18
-rw-r--r--src/tests/unencrypted.rs18
-rwxr-xr-xvar/binary-size.py18
-rw-r--r--var/shell-complete.rs18
39 files changed, 206 insertions, 384 deletions
diff --git a/.gitignore b/.gitignore
index c6262ea..b46677a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,5 @@
+# Copyright (C) 2020 The Nitrocli Developers
+# SPDX-License-Identifier: CC0-1.0
+
target
*.swp
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 208ccc2..d9648ae 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,8 @@ Unreleased
set the defaults for the `--model` and `--verbose` options
- Changed the handling of the `NITROCLI_NO_CACHE` variable to check
the value of the variable instead of only the presence
+- Adjusted license & copyright headers to comply with REUSE 3.0
+ - Added CI stage checking compliance
- Updated minimum required Rust version to `1.42.0`
- Bumped `nitrokey` dependency to `0.7.1`
- Bumped `proc-macro2` dependency to `1.0.19`
diff --git a/CHANGELOG.md.license b/CHANGELOG.md.license
new file mode 100644
index 0000000..9c3661c
--- /dev/null
+++ b/CHANGELOG.md.license
@@ -0,0 +1,2 @@
+Copyright (C) 2020 The Nitrocli Developers
+SPDX-License-Identifier: CC0-1.0
diff --git a/Cargo.lock.license b/Cargo.lock.license
new file mode 100644
index 0000000..9c3661c
--- /dev/null
+++ b/Cargo.lock.license
@@ -0,0 +1,2 @@
+Copyright (C) 2020 The Nitrocli Developers
+SPDX-License-Identifier: CC0-1.0
diff --git a/Cargo.toml b/Cargo.toml
index 72d24d3..ad2d2f7 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,21 +1,7 @@
# Cargo.toml
-#/***************************************************************************
-# * Copyright (C) 2017-2020 The Nitrocli Developers *
-# * *
-# * This program is free software: you can redistribute it and/or modify *
-# * it under the terms of the GNU 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 General Public License for more details. *
-# * *
-# * You should have received a copy of the GNU General Public License *
-# * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-# ***************************************************************************/
+# Copyright (C) 2017-2020 The Nitrocli Developers
+# SPDX-License-Identifier: GPL-3.0-or-later
[package]
name = "nitrocli"
diff --git a/LICENSES/CC0-1.0.txt b/LICENSES/CC0-1.0.txt
new file mode 100644
index 0000000..0e259d4
--- /dev/null
+++ b/LICENSES/CC0-1.0.txt
@@ -0,0 +1,121 @@
+Creative Commons Legal Code
+
+CC0 1.0 Universal
+
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+ LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
+ INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
+ REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
+ PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
+ THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
+ HEREUNDER.
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer
+exclusive Copyright and Related Rights (defined below) upon the creator
+and subsequent owner(s) (each and all, an "owner") of an original work of
+authorship and/or a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for
+the purpose of contributing to a commons of creative, cultural and
+scientific works ("Commons") that the public can reliably and without fear
+of later claims of infringement build upon, modify, incorporate in other
+works, reuse and redistribute as freely as possible in any form whatsoever
+and for any purposes, including without limitation commercial purposes.
+These owners may contribute to the Commons to promote the ideal of a free
+culture and the further production of creative, cultural and scientific
+works, or to gain reputation or greater distribution for their Work in
+part through the use and efforts of others.
+
+For these and/or other purposes and motivations, and without any
+expectation of additional consideration or compensation, the person
+associating CC0 with a Work (the "Affirmer"), to the extent that he or she
+is an owner of Copyright and Related Rights in the Work, voluntarily
+elects to apply CC0 to the Work and publicly distribute the Work under its
+terms, with knowledge of his or her Copyright and Related Rights in the
+Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be
+protected by copyright and related or neighboring rights ("Copyright and
+Related Rights"). Copyright and Related Rights include, but are not
+limited to, the following:
+
+ i. the right to reproduce, adapt, distribute, perform, display,
+ communicate, and translate a Work;
+ ii. moral rights retained by the original author(s) and/or performer(s);
+iii. publicity and privacy rights pertaining to a person's image or
+ likeness depicted in a Work;
+ iv. rights protecting against unfair competition in regards to a Work,
+ subject to the limitations in paragraph 4(a), below;
+ v. rights protecting the extraction, dissemination, use and reuse of data
+ in a Work;
+ vi. database rights (such as those arising under Directive 96/9/EC of the
+ European Parliament and of the Council of 11 March 1996 on the legal
+ protection of databases, and under any national implementation
+ thereof, including any amended or successor version of such
+ directive); and
+vii. other similar, equivalent or corresponding rights throughout the
+ world based on applicable law or treaty, and any national
+ implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention
+of, applicable law, Affirmer hereby overtly, fully, permanently,
+irrevocably and unconditionally waives, abandons, and surrenders all of
+Affirmer's Copyright and Related Rights and associated claims and causes
+of action, whether now known or unknown (including existing as well as
+future claims and causes of action), in the Work (i) in all territories
+worldwide, (ii) for the maximum duration provided by applicable law or
+treaty (including future time extensions), (iii) in any current or future
+medium and for any number of copies, and (iv) for any purpose whatsoever,
+including without limitation commercial, advertising or promotional
+purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
+member of the public at large and to the detriment of Affirmer's heirs and
+successors, fully intending that such Waiver shall not be subject to
+revocation, rescission, cancellation, termination, or any other legal or
+equitable action to disrupt the quiet enjoyment of the Work by the public
+as contemplated by Affirmer's express Statement of Purpose.
+
+3. Public License Fallback. Should any part of the Waiver for any reason
+be judged legally invalid or ineffective under applicable law, then the
+Waiver shall be preserved to the maximum extent permitted taking into
+account Affirmer's express Statement of Purpose. In addition, to the
+extent the Waiver is so judged Affirmer hereby grants to each affected
+person a royalty-free, non transferable, non sublicensable, non exclusive,
+irrevocable and unconditional license to exercise Affirmer's Copyright and
+Related Rights in the Work (i) in all territories worldwide, (ii) for the
+maximum duration provided by applicable law or treaty (including future
+time extensions), (iii) in any current or future medium and for any number
+of copies, and (iv) for any purpose whatsoever, including without
+limitation commercial, advertising or promotional purposes (the
+"License"). The License shall be deemed effective as of the date CC0 was
+applied by Affirmer to the Work. Should any part of the License for any
+reason be judged legally invalid or ineffective under applicable law, such
+partial invalidity or ineffectiveness shall not invalidate the remainder
+of the License, and in such case Affirmer hereby affirms that he or she
+will not (i) exercise any of his or her remaining Copyright and Related
+Rights in the Work or (ii) assert any associated claims and causes of
+action with respect to the Work, in either case contrary to Affirmer's
+express Statement of Purpose.
+
+4. Limitations and Disclaimers.
+
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
+ surrendered, licensed or otherwise affected by this document.
+ b. Affirmer offers the Work as-is and makes no representations or
+ warranties of any kind concerning the Work, express, implied,
+ statutory or otherwise, including without limitation warranties of
+ title, merchantability, fitness for a particular purpose, non
+ infringement, or the absence of latent or other defects, accuracy, or
+ the present or absence of errors, whether or not discoverable, all to
+ the greatest extent permissible under applicable law.
+ c. Affirmer disclaims responsibility for clearing rights of other persons
+ that may apply to the Work or any use thereof, including without
+ limitation any person's Copyright and Related Rights in the Work.
+ Further, Affirmer disclaims responsibility for obtaining any necessary
+ consents, permissions or other rights required for any use of the
+ Work.
+ d. Affirmer understands and acknowledges that Creative Commons is not a
+ party to this document and has no duty or obligation with respect to
+ this CC0 or use of the Work.
diff --git a/LICENSE b/LICENSES/GPL-3.0-or-later.txt
index ef7e7ef..ef7e7ef 100644
--- a/LICENSE
+++ b/LICENSES/GPL-3.0-or-later.txt
diff --git a/Makefile b/Makefile
index e221cd8..b2e5e4b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,21 +1,7 @@
# Makefile
-#/***************************************************************************
-# * Copyright (C) 2017-2019 The Nitrocli Developers *
-# * *
-# * This program is free software: you can redistribute it and/or modify *
-# * it under the terms of the GNU 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 General Public License for more details. *
-# * *
-# * You should have received a copy of the GNU General Public License *
-# * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-# ***************************************************************************/
+# Copyright (C) 2017-2019 The Nitrocli Developers
+# SPDX-License-Identifier: GPL-3.0-or-later
SHELL := bash
diff --git a/README.md b/README.md
index cc32f50..f1b4656 100644
--- a/README.md
+++ b/README.md
@@ -166,6 +166,8 @@ License
See the [LICENSE](LICENSE) file that accompanies this distribution for
the full text of the license.
+`nitrocli` complies with [version 3.0 of the REUSE specification][reuse].
+
[`libnitrokey`]: https://github.com/nitrokey/libnitrokey
[nitrokey-ug]: https://www.nitrokey.com
@@ -179,3 +181,4 @@ the full text of the license.
[gplv3-tldr]: https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)
[libnitrokey#32]: https://github.com/Nitrokey/libnitrokey/issues/32
[libnitrokey#137]: https://github.com/Nitrokey/libnitrokey/issues/137
+[reuse]: https://reuse.software/practices/3.0/
diff --git a/README.md.license b/README.md.license
new file mode 100644
index 0000000..9c3661c
--- /dev/null
+++ b/README.md.license
@@ -0,0 +1,2 @@
+Copyright (C) 2020 The Nitrocli Developers
+SPDX-License-Identifier: CC0-1.0
diff --git a/ci/gitlab-ci.yml b/ci/gitlab-ci.yml
index 8536472..79d0317 100644
--- a/ci/gitlab-ci.yml
+++ b/ci/gitlab-ci.yml
@@ -1,3 +1,6 @@
+# Copyright (C) 2020 The Nitrocli Developers
+# SPDX-License-Identifier: CC0-1.0
+
# The documentation for the contents of this file can be found at:
# https://docs.gitlab.com/ce/ci/yaml/README.html
@@ -20,6 +23,13 @@ lint:clippy:
- rustup component add clippy
- cargo clippy --all-targets --all-features -- -D warnings
+lint:reuse:
+ script:
+ - apt-get update
+ - apt-get install --assume-yes python3-pip
+ - pip3 install reuse
+ - reuse lint
+
format:rustfmt:
script:
- rustup component add rustfmt
diff --git a/doc/CONTRIBUTING.md.license b/doc/CONTRIBUTING.md.license
new file mode 100644
index 0000000..9c3661c
--- /dev/null
+++ b/doc/CONTRIBUTING.md.license
@@ -0,0 +1,2 @@
+Copyright (C) 2020 The Nitrocli Developers
+SPDX-License-Identifier: CC0-1.0
diff --git a/doc/config.example.toml.license b/doc/config.example.toml.license
new file mode 100644
index 0000000..9c3661c
--- /dev/null
+++ b/doc/config.example.toml.license
@@ -0,0 +1,2 @@
+Copyright (C) 2020 The Nitrocli Developers
+SPDX-License-Identifier: CC0-1.0
diff --git a/doc/nitrocli.1.license b/doc/nitrocli.1.license
new file mode 100644
index 0000000..558ea7e
--- /dev/null
+++ b/doc/nitrocli.1.license
@@ -0,0 +1,2 @@
+Copyright (C) 2020 The Nitrocli Developers
+SPDX-License-Identifier: GPL-3.0-or-later
diff --git a/doc/nitrocli.1.pdf.license b/doc/nitrocli.1.pdf.license
new file mode 100644
index 0000000..558ea7e
--- /dev/null
+++ b/doc/nitrocli.1.pdf.license
@@ -0,0 +1,2 @@
+Copyright (C) 2020 The Nitrocli Developers
+SPDX-License-Identifier: GPL-3.0-or-later
diff --git a/doc/packaging.md.license b/doc/packaging.md.license
new file mode 100644
index 0000000..9c3661c
--- /dev/null
+++ b/doc/packaging.md.license
@@ -0,0 +1,2 @@
+Copyright (C) 2020 The Nitrocli Developers
+SPDX-License-Identifier: CC0-1.0
diff --git a/rustfmt.toml b/rustfmt.toml
index b196eaa..a9eb317 100644
--- a/rustfmt.toml
+++ b/rustfmt.toml
@@ -1 +1,4 @@
+# Copyright (C) 2020 The Nitrocli Developers
+# SPDX-License-Identifier: CC0-1.0
+
tab_spaces = 2
diff --git a/src/arg_util.rs b/src/arg_util.rs
index 1c5d38f..b1dd60f 100644
--- a/src/arg_util.rs
+++ b/src/arg_util.rs
@@ -1,21 +1,7 @@
// arg_util.rs
-// *************************************************************************
-// * Copyright (C) 2019-2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2019-2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
macro_rules! count {
($head:ident) => { 1 };
diff --git a/src/args.rs b/src/args.rs
index 4b12ceb..3052afa 100644
--- a/src/args.rs
+++ b/src/args.rs
@@ -1,21 +1,7 @@
// args.rs
-// *************************************************************************
-// * Copyright (C) 2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
/// Provides access to a Nitrokey device
#[derive(Debug, structopt::StructOpt)]
diff --git a/src/commands.rs b/src/commands.rs
index 30651c1..67d230e 100644
--- a/src/commands.rs
+++ b/src/commands.rs
@@ -1,21 +1,7 @@
// commands.rs
-// *************************************************************************
-// * Copyright (C) 2018-2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2018-2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use std::convert::TryFrom as _;
use std::fmt;
diff --git a/src/config.rs b/src/config.rs
index c0f150c..aceda38 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -1,21 +1,7 @@
// config.rs
-// *************************************************************************
-// * Copyright (C) 2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use std::fs;
use std::path;
diff --git a/src/main.rs b/src/main.rs
index e4ff601..baad15c 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,21 +1,7 @@
// main.rs
-// *************************************************************************
-// * Copyright (C) 2017-2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2017-2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
#![warn(
bad_style,
diff --git a/src/pinentry.rs b/src/pinentry.rs
index 0121754..3bf67c1 100644
--- a/src/pinentry.rs
+++ b/src/pinentry.rs
@@ -1,21 +1,7 @@
// pinentry.rs
-// *************************************************************************
-// * Copyright (C) 2017-2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2017-2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use std::borrow;
use std::fmt;
diff --git a/src/redefine.rs b/src/redefine.rs
index 2e37b1e..dad4529 100644
--- a/src/redefine.rs
+++ b/src/redefine.rs
@@ -1,21 +1,7 @@
// redefine.rs
-// *************************************************************************
-// * Copyright (C) 2019 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2019 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
// A replacement of the standard println!() macro that requires an
// execution context as the first argument and prints to its stdout.
diff --git a/src/tests/config.rs b/src/tests/config.rs
index c4d412f..75ec983 100644
--- a/src/tests/config.rs
+++ b/src/tests/config.rs
@@ -1,21 +1,7 @@
// config.rs
-// *************************************************************************
-// * Copyright (C) 2019-2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2019-2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use super::*;
diff --git a/src/tests/encrypted.rs b/src/tests/encrypted.rs
index ec0fb51..485bb6e 100644
--- a/src/tests/encrypted.rs
+++ b/src/tests/encrypted.rs
@@ -1,21 +1,7 @@
// encrypted.rs
-// *************************************************************************
-// * Copyright (C) 2019-2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2019-2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use super::*;
diff --git a/src/tests/hidden.rs b/src/tests/hidden.rs
index e261a72..82a4630 100644
--- a/src/tests/hidden.rs
+++ b/src/tests/hidden.rs
@@ -1,21 +1,7 @@
// hidden.rs
-// *************************************************************************
-// * Copyright (C) 2019-2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2019-2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use super::*;
diff --git a/src/tests/list.rs b/src/tests/list.rs
index 63aeac1..7ff88a7 100644
--- a/src/tests/list.rs
+++ b/src/tests/list.rs
@@ -1,21 +1,7 @@
// list.rs
-// *************************************************************************
-// * Copyright (C) 2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use super::*;
diff --git a/src/tests/lock.rs b/src/tests/lock.rs
index 4a32c9c..e04e8eb 100644
--- a/src/tests/lock.rs
+++ b/src/tests/lock.rs
@@ -1,21 +1,7 @@
// lock.rs
-// *************************************************************************
-// * Copyright (C) 2019-2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2019-2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use super::*;
diff --git a/src/tests/mod.rs b/src/tests/mod.rs
index 298dde9..e1f93a9 100644
--- a/src/tests/mod.rs
+++ b/src/tests/mod.rs
@@ -1,21 +1,7 @@
// mod.rs
-// *************************************************************************
-// * Copyright (C) 2019-2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2019-2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use std::ffi;
diff --git a/src/tests/otp.rs b/src/tests/otp.rs
index 59fd319..d907f18 100644
--- a/src/tests/otp.rs
+++ b/src/tests/otp.rs
@@ -1,21 +1,7 @@
// otp.rs
-// *************************************************************************
-// * Copyright (C) 2019-2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2019-2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use super::*;
diff --git a/src/tests/pin.rs b/src/tests/pin.rs
index 416a7f8..551454c 100644
--- a/src/tests/pin.rs
+++ b/src/tests/pin.rs
@@ -1,21 +1,7 @@
// pin.rs
-// *************************************************************************
-// * Copyright (C) 2019-2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2019-2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use nitrokey::Authenticate;
use nitrokey::Device;
diff --git a/src/tests/pws.rs b/src/tests/pws.rs
index d0e8907..45c4400 100644
--- a/src/tests/pws.rs
+++ b/src/tests/pws.rs
@@ -1,21 +1,7 @@
// pws.rs
-// *************************************************************************
-// * Copyright (C) 2019-2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2019-2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use super::*;
diff --git a/src/tests/reset.rs b/src/tests/reset.rs
index cbac676..a7b2097 100644
--- a/src/tests/reset.rs
+++ b/src/tests/reset.rs
@@ -1,21 +1,7 @@
// reset.rs
-// *************************************************************************
-// * Copyright (C) 2019-2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2019-2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use nitrokey::Authenticate;
use nitrokey::GetPasswordSafe;
diff --git a/src/tests/run.rs b/src/tests/run.rs
index 90e3067..4d470f6 100644
--- a/src/tests/run.rs
+++ b/src/tests/run.rs
@@ -1,21 +1,7 @@
// run.rs
-// *************************************************************************
-// * Copyright (C) 2019-2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2019-2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use std::path;
diff --git a/src/tests/status.rs b/src/tests/status.rs
index 983afa7..0fd5b5b 100644
--- a/src/tests/status.rs
+++ b/src/tests/status.rs
@@ -1,21 +1,7 @@
// status.rs
-// *************************************************************************
-// * Copyright (C) 2019-2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2019-2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use super::*;
diff --git a/src/tests/unencrypted.rs b/src/tests/unencrypted.rs
index 574b53a..26c6604 100644
--- a/src/tests/unencrypted.rs
+++ b/src/tests/unencrypted.rs
@@ -1,21 +1,7 @@
// unencrypted.rs
-// *************************************************************************
-// * Copyright (C) 2019-2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2019-2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use super::*;
diff --git a/var/binary-size.py b/var/binary-size.py
index 893e5c3..99a1f4d 100755
--- a/var/binary-size.py
+++ b/var/binary-size.py
@@ -1,21 +1,7 @@
#!/usr/bin/python3 -B
-#/***************************************************************************
-# * Copyright (C) 2019-2020 The Nitrocli Developers *
-# * *
-# * This program is free software: you can redistribute it and/or modify *
-# * it under the terms of the GNU 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 General Public License for more details. *
-# * *
-# * You should have received a copy of the GNU General Public License *
-# * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-# ***************************************************************************/
+# Copyright (C) 2019-2020 The Nitrocli Developers
+# SPDX-License-Identifier: GPL-3.0-or-later
from argparse import (
ArgumentParser,
diff --git a/var/shell-complete.rs b/var/shell-complete.rs
index a8372a4..1666456 100644
--- a/var/shell-complete.rs
+++ b/var/shell-complete.rs
@@ -1,21 +1,7 @@
// shell-complete.rs
-// *************************************************************************
-// * Copyright (C) 2020 The Nitrocli Developers *
-// * *
-// * This program is free software: you can redistribute it and/or modify *
-// * it under the terms of the GNU 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 General Public License for more details. *
-// * *
-// * You should have received a copy of the GNU General Public License *
-// * along with this program. If not, see <http://www.gnu.org/licenses/>. *
-// *************************************************************************
+// Copyright (C) 2020 The Nitrocli Developers
+// SPDX-License-Identifier: GPL-3.0-or-later
use std::io;