diff --git a/functional_tests/features/backups.feature b/functional_tests/features/backups.feature
index 0ff1d80dc..d34e9adf1 100644
--- a/functional_tests/features/backups.feature
+++ b/functional_tests/features/backups.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@backups @system
Feature: Backups module
diff --git a/functional_tests/features/bind.feature b/functional_tests/features/bind.feature
index daffb65d8..bdd3131aa 100644
--- a/functional_tests/features/bind.feature
+++ b/functional_tests/features/bind.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @bind @backups
Feature: Bind Domain Name Server
diff --git a/functional_tests/features/configuration.feature b/functional_tests/features/configuration.feature
index 9a2356df9..bdddf4e61 100644
--- a/functional_tests/features/configuration.feature
+++ b/functional_tests/features/configuration.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@system @essential @configuration
Feature: Configuration
diff --git a/functional_tests/features/coquelicot.feature b/functional_tests/features/coquelicot.feature
index e119e6626..1fff498b3 100644
--- a/functional_tests/features/coquelicot.feature
+++ b/functional_tests/features/coquelicot.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @coquelicot @backups @skip
Feature: Coquelicot File Sharing
diff --git a/functional_tests/features/date_and_time.feature b/functional_tests/features/date_and_time.feature
index 6c8ed3419..2e49d66f6 100644
--- a/functional_tests/features/date_and_time.feature
+++ b/functional_tests/features/date_and_time.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@essential @date_and_time @system @backups
Feature: Date and Time
diff --git a/functional_tests/features/deluge.feature b/functional_tests/features/deluge.feature
index 65e71441b..802cd4877 100644
--- a/functional_tests/features/deluge.feature
+++ b/functional_tests/features/deluge.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @deluge @backups
Feature: Deluge BitTorrent Client
diff --git a/functional_tests/features/dynamicdns.feature b/functional_tests/features/dynamicdns.feature
index f67e4193f..cded48a2a 100644
--- a/functional_tests/features/dynamicdns.feature
+++ b/functional_tests/features/dynamicdns.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @dynamicdns @backups
Feature: Dynamic DNS Client
diff --git a/functional_tests/features/ejabberd.feature b/functional_tests/features/ejabberd.feature
index d46bdbb3c..057ac6a66 100644
--- a/functional_tests/features/ejabberd.feature
+++ b/functional_tests/features/ejabberd.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @ejabberd @backups
Feature: Ejabberd Chat Server
diff --git a/functional_tests/features/gitweb.feature b/functional_tests/features/gitweb.feature
index 7802c91c3..833a69fde 100644
--- a/functional_tests/features/gitweb.feature
+++ b/functional_tests/features/gitweb.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @gitweb @backups @sso
Feature: gitweb Simple Git Hosting
diff --git a/functional_tests/features/help.feature b/functional_tests/features/help.feature
index d03f6b24d..4e67c0a6c 100644
--- a/functional_tests/features/help.feature
+++ b/functional_tests/features/help.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@help @system @essential
Feature: Help module
diff --git a/functional_tests/features/i2p.feature b/functional_tests/features/i2p.feature
index 66ebea0a4..8d53106cc 100644
--- a/functional_tests/features/i2p.feature
+++ b/functional_tests/features/i2p.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @i2p
Feature: I2P Anonymity Network
diff --git a/functional_tests/features/ikiwiki.feature b/functional_tests/features/ikiwiki.feature
index abc5ed864..e63d2e704 100644
--- a/functional_tests/features/ikiwiki.feature
+++ b/functional_tests/features/ikiwiki.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @ikiwiki @backups
Feature: ikiwiki Wiki and Blog
diff --git a/functional_tests/features/infinoted.feature b/functional_tests/features/infinoted.feature
index 3d0e399a9..9687a6b9c 100644
--- a/functional_tests/features/infinoted.feature
+++ b/functional_tests/features/infinoted.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @infinoted
Feature: Infinoted Collaborative Text Editor
diff --git a/functional_tests/features/jsxc.feature b/functional_tests/features/jsxc.feature
index 2581e333a..26c447562 100644
--- a/functional_tests/features/jsxc.feature
+++ b/functional_tests/features/jsxc.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @jsxc @backups
Feature: JSXC XMPP Client
diff --git a/functional_tests/features/matrixsynapse.feature b/functional_tests/features/matrixsynapse.feature
index 10d00b20f..aefa9fc72 100644
--- a/functional_tests/features/matrixsynapse.feature
+++ b/functional_tests/features/matrixsynapse.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @matrixsynapse
Feature: Matrix Synapse VoIP and Chat Server
diff --git a/functional_tests/features/mediawiki.feature b/functional_tests/features/mediawiki.feature
index 1d9b13d0a..d6b98791b 100644
--- a/functional_tests/features/mediawiki.feature
+++ b/functional_tests/features/mediawiki.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @mediawiki @backups
Feature: MediaWiki Wiki Engine
diff --git a/functional_tests/features/minetest.feature b/functional_tests/features/minetest.feature
index dc5f75e6f..58bd863ce 100644
--- a/functional_tests/features/minetest.feature
+++ b/functional_tests/features/minetest.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @minetest
Feature: Minetest Block Sandbox
diff --git a/functional_tests/features/mldonkey.feature b/functional_tests/features/mldonkey.feature
index 3169eb078..53d25f5f4 100644
--- a/functional_tests/features/mldonkey.feature
+++ b/functional_tests/features/mldonkey.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @mldonkey @backups @sso
Feature: MLDonkey eDonkey Network Client
diff --git a/functional_tests/features/monkeysphere.feature b/functional_tests/features/monkeysphere.feature
index be1f5f32c..0dda1b863 100644
--- a/functional_tests/features/monkeysphere.feature
+++ b/functional_tests/features/monkeysphere.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @monkeysphere @backups
Feature: Monkeysphere
diff --git a/functional_tests/features/mumble.feature b/functional_tests/features/mumble.feature
index c49cf98c6..ae6818172 100644
--- a/functional_tests/features/mumble.feature
+++ b/functional_tests/features/mumble.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @mumble @backups
Feature: Mumble Voice Chat
diff --git a/functional_tests/features/openvpn.feature b/functional_tests/features/openvpn.feature
index 140be4fd8..524b7c286 100644
--- a/functional_tests/features/openvpn.feature
+++ b/functional_tests/features/openvpn.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @openvpn @backups
Feature: OpenVPN - Virtual Private Network
diff --git a/functional_tests/features/pagekite.feature b/functional_tests/features/pagekite.feature
index faf58e191..872b6071e 100644
--- a/functional_tests/features/pagekite.feature
+++ b/functional_tests/features/pagekite.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @pagekite @backups
Feature: Pagekite Public Visibility
diff --git a/functional_tests/features/privoxy.feature b/functional_tests/features/privoxy.feature
index e2956985f..4fb9bf157 100644
--- a/functional_tests/features/privoxy.feature
+++ b/functional_tests/features/privoxy.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @privoxy @backups
Feature: Privoxy Web Proxy
diff --git a/functional_tests/features/quassel.feature b/functional_tests/features/quassel.feature
index 6d3c7c0c8..6223536ad 100644
--- a/functional_tests/features/quassel.feature
+++ b/functional_tests/features/quassel.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @quassel @backups
Feature: Quassel IRC Client
diff --git a/functional_tests/features/radicale.feature b/functional_tests/features/radicale.feature
index 8fa8fd0bc..728e76273 100644
--- a/functional_tests/features/radicale.feature
+++ b/functional_tests/features/radicale.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @radicale
Feature: Radicale Calendar and Addressbook
diff --git a/functional_tests/features/roundcube.feature b/functional_tests/features/roundcube.feature
index 93fced422..2f446ed74 100644
--- a/functional_tests/features/roundcube.feature
+++ b/functional_tests/features/roundcube.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @roundcube @backups
Feature: Roundcube Email Client
diff --git a/functional_tests/features/samba.feature b/functional_tests/features/samba.feature
index cbad4ae50..9ff767d47 100644
--- a/functional_tests/features/samba.feature
+++ b/functional_tests/features/samba.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @samba @backups
Feature: Samba File Sharing
diff --git a/functional_tests/features/searx.feature b/functional_tests/features/searx.feature
index c8e6a185a..ca95cbac1 100644
--- a/functional_tests/features/searx.feature
+++ b/functional_tests/features/searx.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @searx @backups @sso
Feature: Searx Web Search
diff --git a/functional_tests/features/security.feature b/functional_tests/features/security.feature
index c770771e3..5f1e42f2e 100644
--- a/functional_tests/features/security.feature
+++ b/functional_tests/features/security.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@security @essential @system
Feature: Security
diff --git a/functional_tests/features/server_administration.feature b/functional_tests/features/server_administration.feature
index ba3ed6c37..3b8fe6518 100644
--- a/functional_tests/features/server_administration.feature
+++ b/functional_tests/features/server_administration.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@system
Feature: Server Administration
diff --git a/functional_tests/features/service_discovery.feature b/functional_tests/features/service_discovery.feature
index a1a990b8b..c8606dec6 100644
--- a/functional_tests/features/service_discovery.feature
+++ b/functional_tests/features/service_discovery.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@system @essential @service_discovery
Feature: Service Discovery
diff --git a/functional_tests/features/shadowsocks.feature b/functional_tests/features/shadowsocks.feature
index 95a8b602a..cf26f14a7 100644
--- a/functional_tests/features/shadowsocks.feature
+++ b/functional_tests/features/shadowsocks.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @shadowsocks @backups
Feature: Shadowsocks Socks5 Proxy
diff --git a/functional_tests/features/sharing.feature b/functional_tests/features/sharing.feature
index 22a43b8b6..a6908cb55 100644
--- a/functional_tests/features/sharing.feature
+++ b/functional_tests/features/sharing.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @sharing @backups
Feature: Sharing
diff --git a/functional_tests/features/single_sign_on.feature b/functional_tests/features/single_sign_on.feature
index 6ffbf9293..f6f0d998e 100644
--- a/functional_tests/features/single_sign_on.feature
+++ b/functional_tests/features/single_sign_on.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@sso @essential @system
Feature: Single Sign On
diff --git a/functional_tests/features/ssh.feature b/functional_tests/features/ssh.feature
index 28c8beb00..519525053 100644
--- a/functional_tests/features/ssh.feature
+++ b/functional_tests/features/ssh.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @ssh @backups
Feature: Secure Shell Server
diff --git a/functional_tests/features/storage.feature b/functional_tests/features/storage.feature
index 9a715437a..bc3f51e5b 100644
--- a/functional_tests/features/storage.feature
+++ b/functional_tests/features/storage.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@system @storage @essential
Feature: Storage
diff --git a/functional_tests/features/storage_snapshots.feature b/functional_tests/features/storage_snapshots.feature
index 24be0d5fc..cfb0eb672 100644
--- a/functional_tests/features/storage_snapshots.feature
+++ b/functional_tests/features/storage_snapshots.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@system @snapshot @backups
Feature: Storage Snapshots
diff --git a/functional_tests/features/syncthing.feature b/functional_tests/features/syncthing.feature
index 0c94a9fd5..932539233 100644
--- a/functional_tests/features/syncthing.feature
+++ b/functional_tests/features/syncthing.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @syncthing @sso @backups
Feature: Syncthing File Synchronization
diff --git a/functional_tests/features/tahoe.feature b/functional_tests/features/tahoe.feature
index 43ac3d540..c90ac6aa3 100644
--- a/functional_tests/features/tahoe.feature
+++ b/functional_tests/features/tahoe.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
# TODO: When tahoe-lafs is restarted, it leaves a .gnupg folder in
# /var/lib/tahoe-lafs and failes to start in the next run. Enable tests after
diff --git a/functional_tests/features/tor.feature b/functional_tests/features/tor.feature
index c57dfbecf..3cf89f833 100644
--- a/functional_tests/features/tor.feature
+++ b/functional_tests/features/tor.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @tor @backups
Feature: Tor Anonymity Network
diff --git a/functional_tests/features/transmission.feature b/functional_tests/features/transmission.feature
index 2ee5e71b7..5bb75f642 100644
--- a/functional_tests/features/transmission.feature
+++ b/functional_tests/features/transmission.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @transmission @backups @sso
Feature: Transmission BitTorrent Client
diff --git a/functional_tests/features/ttrss.feature b/functional_tests/features/ttrss.feature
index 5cd7da76d..e3314cccf 100644
--- a/functional_tests/features/ttrss.feature
+++ b/functional_tests/features/ttrss.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@apps @ttrss @sso @backups
Feature: TT-RSS News Feed Reader
diff --git a/functional_tests/features/upgrades.feature b/functional_tests/features/upgrades.feature
index 87d6e93ff..f46c0ea1f 100644
--- a/functional_tests/features/upgrades.feature
+++ b/functional_tests/features/upgrades.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@essential @upgrades @system @backups
Feature: Software Upgrades
diff --git a/functional_tests/features/users_and_groups.feature b/functional_tests/features/users_and_groups.feature
index c0feb9a36..19c1c4774 100644
--- a/functional_tests/features/users_and_groups.feature
+++ b/functional_tests/features/users_and_groups.feature
@@ -1,19 +1,4 @@
-#
-# This file is part of FreedomBox.
-#
-# 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 .
-#
+# SPDX-License-Identifier: AGPL-3.0-or-later
@system @essential @users_groups
Feature: Users and Groups