treewide: add license header and enable haslicense linter

Change-Id: I873a8d4082d75e8f813d8a726a41187eea7a065e
Reviewed-on: https://review.monogon.dev/c/monogon/+/3825
Tested-by: Jenkins CI
Reviewed-by: Leopold Schabel <leo@monogon.tech>
diff --git a/build/analysis/BUILD.bazel b/build/analysis/BUILD.bazel
index 371336a..91a2f20 100644
--- a/build/analysis/BUILD.bazel
+++ b/build/analysis/BUILD.bazel
@@ -92,7 +92,7 @@
     "//build/analysis/noioutil",
     "//build/analysis/importsort",
     "//build/analysis/gofmt",
-    #    "//build/analysis/haslicense", #TODO(tim): Enable when fixed
+    "//build/analysis/haslicense",
 ]
 
 # NOGO_CONFIG_OVERRIDES contains the overrides for nogo to exempt specific files
diff --git a/build/analysis/checkcompilerdirectives/checkcompilerdirectives.go b/build/analysis/checkcompilerdirectives/checkcompilerdirectives.go
index a3bbe85..b478fae 100644
--- a/build/analysis/checkcompilerdirectives/checkcompilerdirectives.go
+++ b/build/analysis/checkcompilerdirectives/checkcompilerdirectives.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package checkcompilerdirectives
 
 import "4d63.com/gocheckcompilerdirectives/checkcompilerdirectives"
diff --git a/build/analysis/gofmt/gofmt.go b/build/analysis/gofmt/gofmt.go
index 817ce05..782fa1d 100644
--- a/build/analysis/gofmt/gofmt.go
+++ b/build/analysis/gofmt/gofmt.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package gofmt
 
 import (
diff --git a/build/analysis/importsort/classify.go b/build/analysis/importsort/classify.go
index dc5c45d..88d425e 100644
--- a/build/analysis/importsort/classify.go
+++ b/build/analysis/importsort/classify.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package importsort
 
 import (
diff --git a/build/analysis/importsort/importsort.go b/build/analysis/importsort/importsort.go
index 1b33b3b..6620a04 100644
--- a/build/analysis/importsort/importsort.go
+++ b/build/analysis/importsort/importsort.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // importsort implements import grouping style checks as per
 // CODING_STANDARDS.md.
 package importsort
diff --git a/build/analysis/importsort/importsort_test.go b/build/analysis/importsort/importsort_test.go
index 723e7d2..2ad2465 100644
--- a/build/analysis/importsort/importsort_test.go
+++ b/build/analysis/importsort/importsort_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package importsort
 
 import (
diff --git a/build/analysis/lib/generated.go b/build/analysis/lib/generated.go
index 209a73f..c70a49b 100644
--- a/build/analysis/lib/generated.go
+++ b/build/analysis/lib/generated.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package lib
 
 import (
diff --git a/build/analysis/lib/genstd/main.go b/build/analysis/lib/genstd/main.go
index eae356b..cfb201d 100644
--- a/build/analysis/lib/genstd/main.go
+++ b/build/analysis/lib/genstd/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // This tool generates //build/analysis/lib:stdlib_packages.go, which contains a
 // set of all Go stdlib packges. This is generated ahead of time in the build
 // system as it can be an expensive operation that also depends on the presence
diff --git a/build/analysis/noioutil/noioutil.go b/build/analysis/noioutil/noioutil.go
index b98a921..69223b1 100644
--- a/build/analysis/noioutil/noioutil.go
+++ b/build/analysis/noioutil/noioutil.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package noioutil contains a Go analysis pass designed to prevent use of the
 // deprecated ioutil package for which a tree-wide migration was already done.
 package noioutil
diff --git a/build/analysis/tools.go b/build/analysis/tools.go
index 7936b16..de52ca0 100644
--- a/build/analysis/tools.go
+++ b/build/analysis/tools.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 //go:build tools
 // +build tools
 
diff --git a/build/bazel_cc_fix/ccfixspec/gomod-generated-placeholder.go b/build/bazel_cc_fix/ccfixspec/gomod-generated-placeholder.go
index 333b80f..19cc142 100644
--- a/build/bazel_cc_fix/ccfixspec/gomod-generated-placeholder.go
+++ b/build/bazel_cc_fix/ccfixspec/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package ccfixspec
diff --git a/build/bazel_cc_fix/main.go b/build/bazel_cc_fix/main.go
index a83374d..b0d625b 100644
--- a/build/bazel_cc_fix/main.go
+++ b/build/bazel_cc_fix/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // bazel_cc_fix rewrites include directives in C and C++ code. It rewrites all
 // includes in the target workspace to be workspace-relative and additionally
diff --git a/build/gotoolwrap/main.go b/build/gotoolwrap/main.go
index 343b7ff..d4599a1 100644
--- a/build/gotoolwrap/main.go
+++ b/build/gotoolwrap/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // gotoolwrap is a tiny wrapper used to run executables that expect a standard
 // Go development environment setup to act on the monogon workspace. Notably,
diff --git a/build/mirror_proxy/main.go b/build/mirror_proxy/main.go
index 9dd0d0e..101a735 100644
--- a/build/mirror_proxy/main.go
+++ b/build/mirror_proxy/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/build/savestdout/savestdout.go b/build/savestdout/savestdout.go
index e8c8e75..095f1cf 100644
--- a/build/savestdout/savestdout.go
+++ b/build/savestdout/savestdout.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package main
 
diff --git a/build/sqlc/tool-dep/gomod-generated-placeholder.go b/build/sqlc/tool-dep/gomod-generated-placeholder.go
index 1f6e0f9..388d884 100644
--- a/build/sqlc/tool-dep/gomod-generated-placeholder.go
+++ b/build/sqlc/tool-dep/gomod-generated-placeholder.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 //go:build tools
 // +build tools
 
diff --git a/build/static_binary_tarball/main.go b/build/static_binary_tarball/main.go
index b7b3612..f2f7067 100644
--- a/build/static_binary_tarball/main.go
+++ b/build/static_binary_tarball/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package main
 
diff --git a/build/static_binary_tarball/spec/gomod-generated-placeholder.go b/build/static_binary_tarball/spec/gomod-generated-placeholder.go
index f09cd57..ca2145c 100644
--- a/build/static_binary_tarball/spec/gomod-generated-placeholder.go
+++ b/build/static_binary_tarball/spec/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package spec
diff --git a/build/toolbase/doc.go b/build/toolbase/doc.go
index 8bf9e25..065d96f 100644
--- a/build/toolbase/doc.go
+++ b/build/toolbase/doc.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // toolbase implements common functionality for tools operating on a Monogon
 // workspace, notably CI and developer tools.
 package toolbase
diff --git a/build/toolbase/gotoolchain/toolchain_test.go b/build/toolbase/gotoolchain/toolchain_test.go
index 7b93d6d..2f13d80 100644
--- a/build/toolbase/gotoolchain/toolchain_test.go
+++ b/build/toolbase/gotoolchain/toolchain_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package gotoolchain
 
 import (
diff --git a/build/toolbase/label.go b/build/toolbase/label.go
index 5d033b3..a16860d 100644
--- a/build/toolbase/label.go
+++ b/build/toolbase/label.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package toolbase
 
 import (
diff --git a/build/toolbase/label_test.go b/build/toolbase/label_test.go
index e16d88f..558edae 100644
--- a/build/toolbase/label_test.go
+++ b/build/toolbase/label_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package toolbase
 
 import (
diff --git a/build/toolbase/workspace.go b/build/toolbase/workspace.go
index f1d9f08..5213504 100644
--- a/build/toolbase/workspace.go
+++ b/build/toolbase/workspace.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package toolbase
 
 import (
diff --git a/cloud/agent/agent.go b/cloud/agent/agent.go
index e0bfd81..c5873eb 100644
--- a/cloud/agent/agent.go
+++ b/cloud/agent/agent.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/agent/api/gomod-generated-placeholder.go b/cloud/agent/api/gomod-generated-placeholder.go
index 778f64e..da08b30 100644
--- a/cloud/agent/api/gomod-generated-placeholder.go
+++ b/cloud/agent/api/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package api
diff --git a/cloud/agent/e2e/main_test.go b/cloud/agent/e2e/main_test.go
index dcde625..84fd611 100644
--- a/cloud/agent/e2e/main_test.go
+++ b/cloud/agent/e2e/main_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package e2e
 
 import (
diff --git a/cloud/agent/hwreport.go b/cloud/agent/hwreport.go
index c37a640..5be56ae 100644
--- a/cloud/agent/hwreport.go
+++ b/cloud/agent/hwreport.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/agent/hwreport_test.go b/cloud/agent/hwreport_test.go
index b2d8649..43f61fd 100644
--- a/cloud/agent/hwreport_test.go
+++ b/cloud/agent/hwreport_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/agent/install.go b/cloud/agent/install.go
index 30d6869..cdc8fa5 100644
--- a/cloud/agent/install.go
+++ b/cloud/agent/install.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/agent/takeover/e2e/main_test.go b/cloud/agent/takeover/e2e/main_test.go
index b141e63..9ab6769 100644
--- a/cloud/agent/takeover/e2e/main_test.go
+++ b/cloud/agent/takeover/e2e/main_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package e2e
 
 import (
diff --git a/cloud/agent/takeover/takeover.go b/cloud/agent/takeover/takeover.go
index bf7760c..9af4872 100644
--- a/cloud/agent/takeover/takeover.go
+++ b/cloud/agent/takeover/takeover.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // takeover is a self-contained executable which when executed loads the BMaaS
 // agent via kexec. It is intended to be called over SSH, given a binary
 // TakeoverInit message over standard input and (if all preparation work
diff --git a/cloud/api/gomod-generated-placeholder.go b/cloud/api/gomod-generated-placeholder.go
index 778f64e..da08b30 100644
--- a/cloud/api/gomod-generated-placeholder.go
+++ b/cloud/api/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package api
diff --git a/cloud/apigw/main.go b/cloud/apigw/main.go
index 9c0ebff..4d2ca31 100644
--- a/cloud/apigw/main.go
+++ b/cloud/apigw/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/apigw/model/migrations.go b/cloud/apigw/model/migrations.go
index 2c07768..95b5dcf 100644
--- a/cloud/apigw/model/migrations.go
+++ b/cloud/apigw/model/migrations.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package model
 
 import (
diff --git a/cloud/apigw/server/server.go b/cloud/apigw/server/server.go
index 902b4e0..d075e98 100644
--- a/cloud/apigw/server/server.go
+++ b/cloud/apigw/server/server.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package server
 
 import (
diff --git a/cloud/apigw/server/server_test.go b/cloud/apigw/server/server_test.go
index 704de36..1455f63 100644
--- a/cloud/apigw/server/server_test.go
+++ b/cloud/apigw/server/server_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package server
 
 import (
diff --git a/cloud/bmaas/bmdb/backoff_test.go b/cloud/bmaas/bmdb/backoff_test.go
index 9d22f2a..19d3f51 100644
--- a/cloud/bmaas/bmdb/backoff_test.go
+++ b/cloud/bmaas/bmdb/backoff_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package bmdb
 
 import (
diff --git a/cloud/bmaas/bmdb/bmdb.go b/cloud/bmaas/bmdb/bmdb.go
index 242c3d9..400aa4a 100644
--- a/cloud/bmaas/bmdb/bmdb.go
+++ b/cloud/bmaas/bmdb/bmdb.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package bmdb implements a connector to the Bare Metal Database, which is the
 // main data store backing information about bare metal machines.
 //
diff --git a/cloud/bmaas/bmdb/connection.go b/cloud/bmaas/bmdb/connection.go
index a739f9b..8024eb8 100644
--- a/cloud/bmaas/bmdb/connection.go
+++ b/cloud/bmaas/bmdb/connection.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package bmdb
 
 import (
diff --git a/cloud/bmaas/bmdb/metrics/metrics.go b/cloud/bmaas/bmdb/metrics/metrics.go
index 509827b..242ac2d 100644
--- a/cloud/bmaas/bmdb/metrics/metrics.go
+++ b/cloud/bmaas/bmdb/metrics/metrics.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package metrics implements a Prometheus metrics submission interface for BMDB
 // client components. A Metrics object can be attached to a BMDB object, which
 // will make all BMDB sessions/transactions/work statistics be submitted to that
diff --git a/cloud/bmaas/bmdb/migrations_test.go b/cloud/bmaas/bmdb/migrations_test.go
index 1a70655..fe5b75c 100644
--- a/cloud/bmaas/bmdb/migrations_test.go
+++ b/cloud/bmaas/bmdb/migrations_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package bmdb
 
 import (
diff --git a/cloud/bmaas/bmdb/model/interfaces.go b/cloud/bmaas/bmdb/model/interfaces.go
index 9c8f601..1d559d6 100644
--- a/cloud/bmaas/bmdb/model/interfaces.go
+++ b/cloud/bmaas/bmdb/model/interfaces.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package model
 
 import "context"
diff --git a/cloud/bmaas/bmdb/model/migrations.go b/cloud/bmaas/bmdb/model/migrations.go
index 2c07768..95b5dcf 100644
--- a/cloud/bmaas/bmdb/model/migrations.go
+++ b/cloud/bmaas/bmdb/model/migrations.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package model
 
 import (
diff --git a/cloud/bmaas/bmdb/queries_test.go b/cloud/bmaas/bmdb/queries_test.go
index 7ceae89..917033f 100644
--- a/cloud/bmaas/bmdb/queries_test.go
+++ b/cloud/bmaas/bmdb/queries_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package bmdb
 
 import (
diff --git a/cloud/bmaas/bmdb/reflection/reflection.go b/cloud/bmaas/bmdb/reflection/reflection.go
index b9f6d11..0976905 100644
--- a/cloud/bmaas/bmdb/reflection/reflection.go
+++ b/cloud/bmaas/bmdb/reflection/reflection.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package reflection implements facilities to retrieve information about the
 // implemented Tags and their types from a plain CockroachDB SQL connection,
 // bypassing the queries/types defined in models. Then, the retrieved Schema can
diff --git a/cloud/bmaas/bmdb/reflection/schema.go b/cloud/bmaas/bmdb/reflection/schema.go
index 6c364a9..bceb931 100644
--- a/cloud/bmaas/bmdb/reflection/schema.go
+++ b/cloud/bmaas/bmdb/reflection/schema.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package reflection
 
 import (
diff --git a/cloud/bmaas/bmdb/reflection_test.go b/cloud/bmaas/bmdb/reflection_test.go
index 8f365d8..17abc9d 100644
--- a/cloud/bmaas/bmdb/reflection_test.go
+++ b/cloud/bmaas/bmdb/reflection_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package bmdb
 
 import (
diff --git a/cloud/bmaas/bmdb/sessions.go b/cloud/bmaas/bmdb/sessions.go
index 95b8be5..22ea3fd 100644
--- a/cloud/bmaas/bmdb/sessions.go
+++ b/cloud/bmaas/bmdb/sessions.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package bmdb
 
 import (
diff --git a/cloud/bmaas/bmdb/sessions_test.go b/cloud/bmaas/bmdb/sessions_test.go
index 36fb4a4..8839c17 100644
--- a/cloud/bmaas/bmdb/sessions_test.go
+++ b/cloud/bmaas/bmdb/sessions_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package bmdb
 
 import (
diff --git a/cloud/bmaas/bmdb/webug/functions.go b/cloud/bmaas/bmdb/webug/functions.go
index 4c5c625..3c8f43b 100644
--- a/cloud/bmaas/bmdb/webug/functions.go
+++ b/cloud/bmaas/bmdb/webug/functions.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package webug
 
 import (
diff --git a/cloud/bmaas/bmdb/webug/views.go b/cloud/bmaas/bmdb/webug/views.go
index 7c43054..a0bab7b 100644
--- a/cloud/bmaas/bmdb/webug/views.go
+++ b/cloud/bmaas/bmdb/webug/views.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package webug
 
 import (
diff --git a/cloud/bmaas/bmdb/webug/webug.go b/cloud/bmaas/bmdb/webug/webug.go
index f4d3e4a..137a0fd 100644
--- a/cloud/bmaas/bmdb/webug/webug.go
+++ b/cloud/bmaas/bmdb/webug/webug.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package webug implements a web-based debug/troubleshooting/introspection
 // system for the BMDB. It's optimized for use by developers and trained
 // operators, prioritizing information density, fast navigation and heavy
diff --git a/cloud/bmaas/scruffy/bmdb_stats.go b/cloud/bmaas/scruffy/bmdb_stats.go
index 338c91a..90b2df2 100644
--- a/cloud/bmaas/scruffy/bmdb_stats.go
+++ b/cloud/bmaas/scruffy/bmdb_stats.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package scruffy
 
 import (
diff --git a/cloud/bmaas/scruffy/bmdb_stats_test.go b/cloud/bmaas/scruffy/bmdb_stats_test.go
index 0d0f199..0e28755 100644
--- a/cloud/bmaas/scruffy/bmdb_stats_test.go
+++ b/cloud/bmaas/scruffy/bmdb_stats_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package scruffy
 
 import (
diff --git a/cloud/bmaas/scruffy/cmd/main.go b/cloud/bmaas/scruffy/cmd/main.go
index b675fda..457c05a 100644
--- a/cloud/bmaas/scruffy/cmd/main.go
+++ b/cloud/bmaas/scruffy/cmd/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/bmaas/scruffy/hw_stats.go b/cloud/bmaas/scruffy/hw_stats.go
index 0aff67b..0006ef2 100644
--- a/cloud/bmaas/scruffy/hw_stats.go
+++ b/cloud/bmaas/scruffy/hw_stats.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package scruffy
 
 import (
diff --git a/cloud/bmaas/scruffy/hw_stats_test.go b/cloud/bmaas/scruffy/hw_stats_test.go
index dbcab2d..7dc8139 100644
--- a/cloud/bmaas/scruffy/hw_stats_test.go
+++ b/cloud/bmaas/scruffy/hw_stats_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package scruffy
 
 import (
diff --git a/cloud/bmaas/scruffy/labels.go b/cloud/bmaas/scruffy/labels.go
index b88f799..c90e43a 100644
--- a/cloud/bmaas/scruffy/labels.go
+++ b/cloud/bmaas/scruffy/labels.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package scruffy
 
 import (
diff --git a/cloud/bmaas/scruffy/server.go b/cloud/bmaas/scruffy/server.go
index 01d22bf..d020a77 100644
--- a/cloud/bmaas/scruffy/server.go
+++ b/cloud/bmaas/scruffy/server.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package scruffy implements Scruffy, The Janitor.
 //
 // Scruffy is a BMaaS component which runs a bunch of important, housekeeping-ish
diff --git a/cloud/bmaas/server/agent_callback_service.go b/cloud/bmaas/server/agent_callback_service.go
index 97636f7..cbd912a 100644
--- a/cloud/bmaas/server/agent_callback_service.go
+++ b/cloud/bmaas/server/agent_callback_service.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package server
 
 import (
diff --git a/cloud/bmaas/server/agent_callback_service_test.go b/cloud/bmaas/server/agent_callback_service_test.go
index 4a3a9f4..f5d1383 100644
--- a/cloud/bmaas/server/agent_callback_service_test.go
+++ b/cloud/bmaas/server/agent_callback_service_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package server
 
 import (
diff --git a/cloud/bmaas/server/api/gomod-generated-placeholder.go b/cloud/bmaas/server/api/gomod-generated-placeholder.go
index 778f64e..da08b30 100644
--- a/cloud/bmaas/server/api/gomod-generated-placeholder.go
+++ b/cloud/bmaas/server/api/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package api
diff --git a/cloud/bmaas/server/cmd/main.go b/cloud/bmaas/server/cmd/main.go
index 8dbb7f8..6c14ab3 100644
--- a/cloud/bmaas/server/cmd/main.go
+++ b/cloud/bmaas/server/cmd/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/bmaas/server/server.go b/cloud/bmaas/server/server.go
index 0d188c2..8cedf2b 100644
--- a/cloud/bmaas/server/server.go
+++ b/cloud/bmaas/server/server.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package server
 
 import (
diff --git a/cloud/equinix/cli/cmd_delete.go b/cloud/equinix/cli/cmd_delete.go
index 97eb26f..5e1d132 100644
--- a/cloud/equinix/cli/cmd_delete.go
+++ b/cloud/equinix/cli/cmd_delete.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/equinix/cli/cmd_list.go b/cloud/equinix/cli/cmd_list.go
index ab6b9cf..917494a 100644
--- a/cloud/equinix/cli/cmd_list.go
+++ b/cloud/equinix/cli/cmd_list.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/equinix/cli/cmd_move.go b/cloud/equinix/cli/cmd_move.go
index ec32071..e835a7e 100644
--- a/cloud/equinix/cli/cmd_move.go
+++ b/cloud/equinix/cli/cmd_move.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/equinix/cli/cmd_reboot.go b/cloud/equinix/cli/cmd_reboot.go
index e788f01..0f7f317 100644
--- a/cloud/equinix/cli/cmd_reboot.go
+++ b/cloud/equinix/cli/cmd_reboot.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/equinix/cli/cmd_yoink.go b/cloud/equinix/cli/cmd_yoink.go
index c351d47..1de5803 100644
--- a/cloud/equinix/cli/cmd_yoink.go
+++ b/cloud/equinix/cli/cmd_yoink.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/equinix/cli/main.go b/cloud/equinix/cli/main.go
index a85c0d0..85de18b 100644
--- a/cloud/equinix/cli/main.go
+++ b/cloud/equinix/cli/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/equinix/wrapngo/duct_tape.go b/cloud/equinix/wrapngo/duct_tape.go
index d5dab7c..21581ce 100644
--- a/cloud/equinix/wrapngo/duct_tape.go
+++ b/cloud/equinix/wrapngo/duct_tape.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package wrapngo
 
 import (
diff --git a/cloud/equinix/wrapngo/metrics.go b/cloud/equinix/wrapngo/metrics.go
index fef506b..f6cabcb 100644
--- a/cloud/equinix/wrapngo/metrics.go
+++ b/cloud/equinix/wrapngo/metrics.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package wrapngo
 
 import (
diff --git a/cloud/equinix/wrapngo/wrapn.go b/cloud/equinix/wrapngo/wrapn.go
index 8ee654c..eee0b57 100644
--- a/cloud/equinix/wrapngo/wrapn.go
+++ b/cloud/equinix/wrapngo/wrapn.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package wrapngo wraps packngo methods providing the following usability
 // enhancements:
 // - API call rate limiting
diff --git a/cloud/equinix/wrapngo/wrapngo_live_test.go b/cloud/equinix/wrapngo/wrapngo_live_test.go
index 166da4b..0ccce37 100644
--- a/cloud/equinix/wrapngo/wrapngo_live_test.go
+++ b/cloud/equinix/wrapngo/wrapngo_live_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package wrapngo
 
 import (
diff --git a/cloud/lib/component/component.go b/cloud/lib/component/component.go
index 1acd961..46fa58a 100644
--- a/cloud/lib/component/component.go
+++ b/cloud/lib/component/component.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package component implements reusable bits for cloud service components. Each
 // component is currently defined as being a standalone Go binary with its own
 // internal gRPC listener. Subsequent listeners (eg. public gRPC or HTTP) can be
diff --git a/cloud/lib/component/crdb.go b/cloud/lib/component/crdb.go
index 0bdbb4d..07306d1 100644
--- a/cloud/lib/component/crdb.go
+++ b/cloud/lib/component/crdb.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package component
 
 import (
diff --git a/cloud/lib/component/devcerts.go b/cloud/lib/component/devcerts.go
index 2a5f60a..837ad98 100644
--- a/cloud/lib/component/devcerts.go
+++ b/cloud/lib/component/devcerts.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package component
 
 import (
diff --git a/cloud/lib/sinbin/sinbin.go b/cloud/lib/sinbin/sinbin.go
index 7c6bf3c..b1c905b 100644
--- a/cloud/lib/sinbin/sinbin.go
+++ b/cloud/lib/sinbin/sinbin.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package sinbin implements a sinbin for naughty processed elements that we wish
 // to time out for a while. This is kept in memory, and effectively implements a
 // simplified version of the Circuit Breaker pattern.
diff --git a/cloud/lib/sinbin/sinbin_test.go b/cloud/lib/sinbin/sinbin_test.go
index 7403bb1..715ac94 100644
--- a/cloud/lib/sinbin/sinbin_test.go
+++ b/cloud/lib/sinbin/sinbin_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package sinbin
 
 import (
diff --git a/cloud/shepherd/manager/control_loop.go b/cloud/shepherd/manager/control_loop.go
index 3e5c832..138b6cb 100644
--- a/cloud/shepherd/manager/control_loop.go
+++ b/cloud/shepherd/manager/control_loop.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package manager
 
 import (
diff --git a/cloud/shepherd/manager/fake_ssh_client.go b/cloud/shepherd/manager/fake_ssh_client.go
index cc8c42a..d932210 100644
--- a/cloud/shepherd/manager/fake_ssh_client.go
+++ b/cloud/shepherd/manager/fake_ssh_client.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package manager
 
 import (
diff --git a/cloud/shepherd/manager/initializer.go b/cloud/shepherd/manager/initializer.go
index 1961fe2..f4495e8 100644
--- a/cloud/shepherd/manager/initializer.go
+++ b/cloud/shepherd/manager/initializer.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package manager
 
 import (
diff --git a/cloud/shepherd/manager/initializer_test.go b/cloud/shepherd/manager/initializer_test.go
index 9545b5f..3c95527 100644
--- a/cloud/shepherd/manager/initializer_test.go
+++ b/cloud/shepherd/manager/initializer_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package manager
 
 import (
diff --git a/cloud/shepherd/manager/manager.go b/cloud/shepherd/manager/manager.go
index 3ae7854..ae8115e 100644
--- a/cloud/shepherd/manager/manager.go
+++ b/cloud/shepherd/manager/manager.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package manager, itself a part of BMaaS project, provides implementation
 // governing Equinix bare metal server lifecycle according to conditions set by
 // Bare Metal Database (BMDB).
diff --git a/cloud/shepherd/manager/provider_test.go b/cloud/shepherd/manager/provider_test.go
index 3f6b139..003fd5e 100644
--- a/cloud/shepherd/manager/provider_test.go
+++ b/cloud/shepherd/manager/provider_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package manager
 
 import (
diff --git a/cloud/shepherd/manager/provisioner.go b/cloud/shepherd/manager/provisioner.go
index e777e23..e13c63e 100644
--- a/cloud/shepherd/manager/provisioner.go
+++ b/cloud/shepherd/manager/provisioner.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package manager
 
 import (
diff --git a/cloud/shepherd/manager/provisioner_test.go b/cloud/shepherd/manager/provisioner_test.go
index aea7717..eba178c 100644
--- a/cloud/shepherd/manager/provisioner_test.go
+++ b/cloud/shepherd/manager/provisioner_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package manager
 
 import (
diff --git a/cloud/shepherd/manager/recoverer.go b/cloud/shepherd/manager/recoverer.go
index a94700a..8925f17 100644
--- a/cloud/shepherd/manager/recoverer.go
+++ b/cloud/shepherd/manager/recoverer.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package manager
 
 import (
diff --git a/cloud/shepherd/manager/ssh_key_signer.go b/cloud/shepherd/manager/ssh_key_signer.go
index 7a8d08a..b28b0b5 100644
--- a/cloud/shepherd/manager/ssh_key_signer.go
+++ b/cloud/shepherd/manager/ssh_key_signer.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package manager
 
 import (
diff --git a/cloud/shepherd/manager/test_agent/main.go b/cloud/shepherd/manager/test_agent/main.go
index 8f29c30..98daf1b 100644
--- a/cloud/shepherd/manager/test_agent/main.go
+++ b/cloud/shepherd/manager/test_agent/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // test_agent is used by the Equinix Metal Manager test code. Its only role
 // is to ensure successful delivery of the BMaaS agent executable to the test
 // hosts, together with its subsequent execution.
diff --git a/cloud/shepherd/mini/main.go b/cloud/shepherd/mini/main.go
index a5fb799..75a5005 100644
--- a/cloud/shepherd/mini/main.go
+++ b/cloud/shepherd/mini/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/shepherd/mini/provider.go b/cloud/shepherd/mini/provider.go
index eb6fc08..1ee55c4 100644
--- a/cloud/shepherd/mini/provider.go
+++ b/cloud/shepherd/mini/provider.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/shepherd/mini/ssh.go b/cloud/shepherd/mini/ssh.go
index bf2e996..dceafc4 100644
--- a/cloud/shepherd/mini/ssh.go
+++ b/cloud/shepherd/mini/ssh.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/shepherd/provider/equinix/fakequinix_test.go b/cloud/shepherd/provider/equinix/fakequinix_test.go
index 62892cc..aa0b234 100644
--- a/cloud/shepherd/provider/equinix/fakequinix_test.go
+++ b/cloud/shepherd/provider/equinix/fakequinix_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/shepherd/provider/equinix/initializer_test.go b/cloud/shepherd/provider/equinix/initializer_test.go
index 767ee29..587b70a 100644
--- a/cloud/shepherd/provider/equinix/initializer_test.go
+++ b/cloud/shepherd/provider/equinix/initializer_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/shepherd/provider/equinix/main.go b/cloud/shepherd/provider/equinix/main.go
index b47c454..1322039 100644
--- a/cloud/shepherd/provider/equinix/main.go
+++ b/cloud/shepherd/provider/equinix/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/shepherd/provider/equinix/provider.go b/cloud/shepherd/provider/equinix/provider.go
index 1752349..16dedf0 100644
--- a/cloud/shepherd/provider/equinix/provider.go
+++ b/cloud/shepherd/provider/equinix/provider.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/shepherd/provider/equinix/provider_config.go b/cloud/shepherd/provider/equinix/provider_config.go
index b54488f..146b010 100644
--- a/cloud/shepherd/provider/equinix/provider_config.go
+++ b/cloud/shepherd/provider/equinix/provider_config.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/shepherd/provider/equinix/provisioner_test.go b/cloud/shepherd/provider/equinix/provisioner_test.go
index b57546a..6a5b0c6 100644
--- a/cloud/shepherd/provider/equinix/provisioner_test.go
+++ b/cloud/shepherd/provider/equinix/provisioner_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/shepherd/provider/equinix/recoverer_test.go b/cloud/shepherd/provider/equinix/recoverer_test.go
index 109c375..6d1447f 100644
--- a/cloud/shepherd/provider/equinix/recoverer_test.go
+++ b/cloud/shepherd/provider/equinix/recoverer_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/shepherd/provider/equinix/updater.go b/cloud/shepherd/provider/equinix/updater.go
index 15b218b..5b6e089 100644
--- a/cloud/shepherd/provider/equinix/updater.go
+++ b/cloud/shepherd/provider/equinix/updater.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/shepherd/provider/equinix/updater_test.go b/cloud/shepherd/provider/equinix/updater_test.go
index e400690..ed3da7a 100644
--- a/cloud/shepherd/provider/equinix/updater_test.go
+++ b/cloud/shepherd/provider/equinix/updater_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/cloud/shepherd/shepherd.go b/cloud/shepherd/shepherd.go
index 2c2a655..aeaab46 100644
--- a/cloud/shepherd/shepherd.go
+++ b/cloud/shepherd/shepherd.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package shepherd
 
 import (
diff --git a/go/algorithm/cartesian/cartesian.go b/go/algorithm/cartesian/cartesian.go
index fb42a2b..54079b8 100644
--- a/go/algorithm/cartesian/cartesian.go
+++ b/go/algorithm/cartesian/cartesian.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package cartesian
 
 // Product returns cartesian product of arguments. Each argument must be a slice
diff --git a/go/algorithm/cartesian/cartesian_test.go b/go/algorithm/cartesian/cartesian_test.go
index 5911ecc..9834483 100644
--- a/go/algorithm/cartesian/cartesian_test.go
+++ b/go/algorithm/cartesian/cartesian_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package cartesian
 
 import (
diff --git a/go/algorithm/toposort/toposort.go b/go/algorithm/toposort/toposort.go
index 07ee267..892172f 100644
--- a/go/algorithm/toposort/toposort.go
+++ b/go/algorithm/toposort/toposort.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package toposort
 
 import (
diff --git a/go/algorithm/toposort/toposort_test.go b/go/algorithm/toposort/toposort_test.go
index e2ab8e7..22ca914 100644
--- a/go/algorithm/toposort/toposort_test.go
+++ b/go/algorithm/toposort/toposort_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package toposort
 
 import (
diff --git a/go/clitable/table.go b/go/clitable/table.go
index ce1f7fa..177f3cd 100644
--- a/go/clitable/table.go
+++ b/go/clitable/table.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package clitable implements tabular display for command line tools.
 //
 // The generated tables are vaguely reminiscent of the output of 'kubectl'. For
diff --git a/go/clitable/table_test.go b/go/clitable/table_test.go
index a84e8b1..1ba4496 100644
--- a/go/clitable/table_test.go
+++ b/go/clitable/table_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package clitable
 
 import (
diff --git a/go/logging/backend.go b/go/logging/backend.go
index 2fe4556..19c1bab 100644
--- a/go/logging/backend.go
+++ b/go/logging/backend.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package logging
 
 import (
diff --git a/go/logging/leveled.go b/go/logging/leveled.go
index a32b62d..45dfc14 100644
--- a/go/logging/leveled.go
+++ b/go/logging/leveled.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package logging
 
 // Leveled is a generic interface for glog-style logging. There are four
diff --git a/go/mflags/limiter.go b/go/mflags/limiter.go
index c085b52..2296917 100644
--- a/go/mflags/limiter.go
+++ b/go/mflags/limiter.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package mflags implements custom flags for use in monogon projects.
 // It provides them to be used like normal flag.$Var and registers the
 // required flag functions.
diff --git a/go/net/psample/psample_test.go b/go/net/psample/psample_test.go
index b01ad97..6be8b4e 100644
--- a/go/net/psample/psample_test.go
+++ b/go/net/psample/psample_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // This test requires the following Linux kernel configuration options to be
 // set:
 //
diff --git a/go/net/psample/subscriber.go b/go/net/psample/subscriber.go
index 6e05b9c..d3532a3 100644
--- a/go/net/psample/subscriber.go
+++ b/go/net/psample/subscriber.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package psample provides a receiver for sampled network packets using the
 // Netlink psample interface.
 package psample
diff --git a/go/net/ssh/ssh_client.go b/go/net/ssh/ssh_client.go
index d0a0518..73974d3 100644
--- a/go/net/ssh/ssh_client.go
+++ b/go/net/ssh/ssh_client.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package ssh
 
 import (
diff --git a/go/net/tinylb/connection_pool.go b/go/net/tinylb/connection_pool.go
index 405dd1d..53b0167 100644
--- a/go/net/tinylb/connection_pool.go
+++ b/go/net/tinylb/connection_pool.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package tinylb
 
 import (
diff --git a/go/net/tinylb/tinylb.go b/go/net/tinylb/tinylb.go
index 439628e..3ca6b36 100644
--- a/go/net/tinylb/tinylb.go
+++ b/go/net/tinylb/tinylb.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package tinylb implements a small and simple userland round-robin load
 // balancer, mostly for TCP connections. However, it is entirely
 // protocol-agnostic, and only expects net.Listener and net.Conn objects.
diff --git a/go/net/tinylb/tinylb_test.go b/go/net/tinylb/tinylb_test.go
index 5b7fb16..1cfb46e 100644
--- a/go/net/tinylb/tinylb_test.go
+++ b/go/net/tinylb/tinylb_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package tinylb
 
 import (
diff --git a/go/qcow2/qcow2.go b/go/qcow2/qcow2.go
index df7825f..f10b4eb 100644
--- a/go/qcow2/qcow2.go
+++ b/go/qcow2/qcow2.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package qcow2 implements generating QEMU copy-on-write image files.
 package qcow2
 
diff --git a/go/qcow2/qcow2_test.go b/go/qcow2/qcow2_test.go
index cff77ac..2d7491b 100644
--- a/go/qcow2/qcow2_test.go
+++ b/go/qcow2/qcow2_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package qcow2
 
 import (
diff --git a/go/types/mapsets/orderedmap.go b/go/types/mapsets/orderedmap.go
index 91b2195..38dc72c 100644
--- a/go/types/mapsets/orderedmap.go
+++ b/go/types/mapsets/orderedmap.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package mapsets
 
 import (
diff --git a/go/types/mapsets/orderedmap_test.go b/go/types/mapsets/orderedmap_test.go
index 8bb3c55..3b32bdd 100644
--- a/go/types/mapsets/orderedmap_test.go
+++ b/go/types/mapsets/orderedmap_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package mapsets
 
 import (
diff --git a/intellij/localconfig/localconfig.go b/intellij/localconfig/localconfig.go
index de34f0e..9c43d0f 100644
--- a/intellij/localconfig/localconfig.go
+++ b/intellij/localconfig/localconfig.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // localconfig modifies the project's IntelliJ config to include project-specific
 // settings. This is usually done by checking in the .idea directory, but we do not
diff --git a/intellij/localconfig/watchers/filewatchers.go b/intellij/localconfig/watchers/filewatchers.go
index 4a56161..b16ad9d 100644
--- a/intellij/localconfig/watchers/filewatchers.go
+++ b/intellij/localconfig/watchers/filewatchers.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package watchers
 
diff --git a/metropolis/cli/dbg/main.go b/metropolis/cli/dbg/main.go
index e9e43be..1845ad1 100644
--- a/metropolis/cli/dbg/main.go
+++ b/metropolis/cli/dbg/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package main
 
diff --git a/metropolis/cli/flagdefs/flagdefs.go b/metropolis/cli/flagdefs/flagdefs.go
index fe2423e..5ccaec4 100644
--- a/metropolis/cli/flagdefs/flagdefs.go
+++ b/metropolis/cli/flagdefs/flagdefs.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package flagdefs contains shared flag definitions for Metropolis.
 // The usage is the same as for the standard flags in the [flag] package,
 // except that the [flag.FlagSet] needs to be passed in the first parameter.
diff --git a/metropolis/cli/metroctl/cmd_certs.go b/metropolis/cli/metroctl/cmd_certs.go
index 9aa0953..7d69a20 100644
--- a/metropolis/cli/metroctl/cmd_certs.go
+++ b/metropolis/cli/metroctl/cmd_certs.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/metroctl/cmd_cluster.go b/metropolis/cli/metroctl/cmd_cluster.go
index e82cb95..a474061 100644
--- a/metropolis/cli/metroctl/cmd_cluster.go
+++ b/metropolis/cli/metroctl/cmd_cluster.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import "github.com/spf13/cobra"
diff --git a/metropolis/cli/metroctl/cmd_cluster_configure.go b/metropolis/cli/metroctl/cmd_cluster_configure.go
index b59246b..73483c1 100644
--- a/metropolis/cli/metroctl/cmd_cluster_configure.go
+++ b/metropolis/cli/metroctl/cmd_cluster_configure.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/metroctl/cmd_cluster_takeownership.go b/metropolis/cli/metroctl/cmd_cluster_takeownership.go
index 068dd3b..3566ea0 100644
--- a/metropolis/cli/metroctl/cmd_cluster_takeownership.go
+++ b/metropolis/cli/metroctl/cmd_cluster_takeownership.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/metroctl/cmd_install.go b/metropolis/cli/metroctl/cmd_install.go
index 9a996b2..1f73d76 100644
--- a/metropolis/cli/metroctl/cmd_install.go
+++ b/metropolis/cli/metroctl/cmd_install.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/metroctl/cmd_install_ssh.go b/metropolis/cli/metroctl/cmd_install_ssh.go
index f779f43..5feda6f 100644
--- a/metropolis/cli/metroctl/cmd_install_ssh.go
+++ b/metropolis/cli/metroctl/cmd_install_ssh.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/metroctl/cmd_install_usb.go b/metropolis/cli/metroctl/cmd_install_usb.go
index e1a22a4..38c1501 100644
--- a/metropolis/cli/metroctl/cmd_install_usb.go
+++ b/metropolis/cli/metroctl/cmd_install_usb.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/metroctl/cmd_k8s_configure.go b/metropolis/cli/metroctl/cmd_k8s_configure.go
index 5ce4032..6509318 100644
--- a/metropolis/cli/metroctl/cmd_k8s_configure.go
+++ b/metropolis/cli/metroctl/cmd_k8s_configure.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/metroctl/cmd_k8scredplugin.go b/metropolis/cli/metroctl/cmd_k8scredplugin.go
index 50bf474..0054e70 100644
--- a/metropolis/cli/metroctl/cmd_k8scredplugin.go
+++ b/metropolis/cli/metroctl/cmd_k8scredplugin.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/metroctl/cmd_node.go b/metropolis/cli/metroctl/cmd_node.go
index a875725..2e0b537 100644
--- a/metropolis/cli/metroctl/cmd_node.go
+++ b/metropolis/cli/metroctl/cmd_node.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/metroctl/cmd_node_approve.go b/metropolis/cli/metroctl/cmd_node_approve.go
index f935bbc..65d2811 100644
--- a/metropolis/cli/metroctl/cmd_node_approve.go
+++ b/metropolis/cli/metroctl/cmd_node_approve.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/metroctl/cmd_node_logs.go b/metropolis/cli/metroctl/cmd_node_logs.go
index b06a9f7..36ccd00 100644
--- a/metropolis/cli/metroctl/cmd_node_logs.go
+++ b/metropolis/cli/metroctl/cmd_node_logs.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/metroctl/cmd_node_metrics.go b/metropolis/cli/metroctl/cmd_node_metrics.go
index 1572147..6b108ae 100644
--- a/metropolis/cli/metroctl/cmd_node_metrics.go
+++ b/metropolis/cli/metroctl/cmd_node_metrics.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/metroctl/cmd_node_set.go b/metropolis/cli/metroctl/cmd_node_set.go
index 4211aca..677a425 100644
--- a/metropolis/cli/metroctl/cmd_node_set.go
+++ b/metropolis/cli/metroctl/cmd_node_set.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/metroctl/core/ca_tofu.go b/metropolis/cli/metroctl/core/ca_tofu.go
index b578aa6..3f3c135 100644
--- a/metropolis/cli/metroctl/core/ca_tofu.go
+++ b/metropolis/cli/metroctl/core/ca_tofu.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package core
 
 import (
diff --git a/metropolis/cli/metroctl/core/config.go b/metropolis/cli/metroctl/core/config.go
index d22dd9a..38862af 100644
--- a/metropolis/cli/metroctl/core/config.go
+++ b/metropolis/cli/metroctl/core/config.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package core
 
 import (
diff --git a/metropolis/cli/metroctl/core/core.go b/metropolis/cli/metroctl/core/core.go
index 545a408..8e7e196 100644
--- a/metropolis/cli/metroctl/core/core.go
+++ b/metropolis/cli/metroctl/core/core.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package core contains parts of metroctl which do significant amounts of work
 // beyond just providing a CLI for them.
 // This package is intended to be used for integrating with functions provided
diff --git a/metropolis/cli/metroctl/core/install.go b/metropolis/cli/metroctl/core/install.go
index 4175e22..190f66a 100644
--- a/metropolis/cli/metroctl/core/install.go
+++ b/metropolis/cli/metroctl/core/install.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package core
 
 import (
diff --git a/metropolis/cli/metroctl/core/rpc.go b/metropolis/cli/metroctl/core/rpc.go
index 91d5175..8b377f5 100644
--- a/metropolis/cli/metroctl/core/rpc.go
+++ b/metropolis/cli/metroctl/core/rpc.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package core
 
 import (
diff --git a/metropolis/cli/metroctl/main.go b/metropolis/cli/metroctl/main.go
index 6d26d4c..b5731c6 100644
--- a/metropolis/cli/metroctl/main.go
+++ b/metropolis/cli/metroctl/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/metroctl/rpc.go b/metropolis/cli/metroctl/rpc.go
index cfe1b41..ec3a4e4 100644
--- a/metropolis/cli/metroctl/rpc.go
+++ b/metropolis/cli/metroctl/rpc.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/metroctl/table_node.go b/metropolis/cli/metroctl/table_node.go
index 0ef23d8..5fcdb25 100644
--- a/metropolis/cli/metroctl/table_node.go
+++ b/metropolis/cli/metroctl/table_node.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/metroctl/test/main_test.go b/metropolis/cli/metroctl/test/main_test.go
index e02f9c1..e1ca606 100644
--- a/metropolis/cli/metroctl/test/main_test.go
+++ b/metropolis/cli/metroctl/test/main_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package test
 
 import (
diff --git a/metropolis/cli/takeover/boot.go b/metropolis/cli/takeover/boot.go
index eb71694..21ca708 100644
--- a/metropolis/cli/takeover/boot.go
+++ b/metropolis/cli/takeover/boot.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/takeover/e2e/main_test.go b/metropolis/cli/takeover/e2e/main_test.go
index 32d7fb8..c9108cd 100644
--- a/metropolis/cli/takeover/e2e/main_test.go
+++ b/metropolis/cli/takeover/e2e/main_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package e2e
 
 import (
diff --git a/metropolis/cli/takeover/install.go b/metropolis/cli/takeover/install.go
index b0c56d0..005b590 100644
--- a/metropolis/cli/takeover/install.go
+++ b/metropolis/cli/takeover/install.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/takeover/main.go b/metropolis/cli/takeover/main.go
index a609a63..97ed7a4 100644
--- a/metropolis/cli/takeover/main.go
+++ b/metropolis/cli/takeover/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/cli/takeover/takeover.go b/metropolis/cli/takeover/takeover.go
index 327d3c1..95420dc 100644
--- a/metropolis/cli/takeover/takeover.go
+++ b/metropolis/cli/takeover/takeover.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/installer/main.go b/metropolis/installer/main.go
index cc640bf..e9956fd 100644
--- a/metropolis/installer/main.go
+++ b/metropolis/installer/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Installer creates a Metropolis image at a suitable block device based on the
 // installer bundle present in the installation medium's ESP, after which it
diff --git a/metropolis/installer/test/run_test.go b/metropolis/installer/test/run_test.go
index a8db235..766c839 100644
--- a/metropolis/installer/test/run_test.go
+++ b/metropolis/installer/test/run_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // This package runs the installer image in a VM provided with an empty block
 // device. It then examines the installer console output and the blok device to
diff --git a/metropolis/installer/test/testos/main.go b/metropolis/installer/test/testos/main.go
index f0a6e80..f648a83 100644
--- a/metropolis/installer/test/testos/main.go
+++ b/metropolis/installer/test/testos/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // TestOS is a tiny "operating system" which is packaged the exact same way as
 // an actual Metropolis node but only outputs a single flag before exiting.
 // It's used for decoupling the installer tests from the Metropolis Node code.
diff --git a/metropolis/node/core/abloader/main.rs b/metropolis/node/core/abloader/main.rs
index 905c3ca..4489b73 100644
--- a/metropolis/node/core/abloader/main.rs
+++ b/metropolis/node/core/abloader/main.rs
@@ -1,3 +1,8 @@
+/*
+ * Copyright The Monogon Project Authors.
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
 #![no_main]
 #![no_std]
 
diff --git a/metropolis/node/core/abloader/spec/gomod-generated-placeholder.go b/metropolis/node/core/abloader/spec/gomod-generated-placeholder.go
index f09cd57..ca2145c 100644
--- a/metropolis/node/core/abloader/spec/gomod-generated-placeholder.go
+++ b/metropolis/node/core/abloader/spec/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package spec
diff --git a/metropolis/node/core/bios_bootcode/genlogo/main.go b/metropolis/node/core/bios_bootcode/genlogo/main.go
index 23686fd..f810357 100644
--- a/metropolis/node/core/bios_bootcode/genlogo/main.go
+++ b/metropolis/node/core/bios_bootcode/genlogo/main.go
@@ -1,5 +1,5 @@
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-// Copyright Monogon Project Authors
 
 package main
 
diff --git a/metropolis/node/core/cluster/cluster.go b/metropolis/node/core/cluster/cluster.go
index e320bb0..a009c33 100644
--- a/metropolis/node/core/cluster/cluster.go
+++ b/metropolis/node/core/cluster/cluster.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package cluster implements low-level clustering logic, especially logic
 // regarding to bootstrapping, registering into and joining a cluster. Its goal
diff --git a/metropolis/node/core/cluster/cluster_bootstrap.go b/metropolis/node/core/cluster/cluster_bootstrap.go
index bb82df9..4a6c1c7 100644
--- a/metropolis/node/core/cluster/cluster_bootstrap.go
+++ b/metropolis/node/core/cluster/cluster_bootstrap.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package cluster
 
diff --git a/metropolis/node/core/cluster/cluster_join.go b/metropolis/node/core/cluster/cluster_join.go
index 112b463..eb0ff73 100644
--- a/metropolis/node/core/cluster/cluster_join.go
+++ b/metropolis/node/core/cluster/cluster_join.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package cluster
 
 import (
diff --git a/metropolis/node/core/cluster/cluster_register.go b/metropolis/node/core/cluster/cluster_register.go
index 5df7448..a6089cb 100644
--- a/metropolis/node/core/cluster/cluster_register.go
+++ b/metropolis/node/core/cluster/cluster_register.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package cluster
 
 import (
diff --git a/metropolis/node/core/clusternet/clusternet.go b/metropolis/node/core/clusternet/clusternet.go
index 96a500d..89c5c10 100644
--- a/metropolis/node/core/clusternet/clusternet.go
+++ b/metropolis/node/core/clusternet/clusternet.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package clusternet implements a Cluster Networking mesh service running on all
 // Metropolis nodes.
 //
diff --git a/metropolis/node/core/clusternet/clusternet_test.go b/metropolis/node/core/clusternet/clusternet_test.go
index f07f3e5..317c409 100644
--- a/metropolis/node/core/clusternet/clusternet_test.go
+++ b/metropolis/node/core/clusternet/clusternet_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package clusternet
 
 import (
diff --git a/metropolis/node/core/clusternet/types.go b/metropolis/node/core/clusternet/types.go
index 67e401a..d1f2b06 100644
--- a/metropolis/node/core/clusternet/types.go
+++ b/metropolis/node/core/clusternet/types.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package clusternet
 
 import (
diff --git a/metropolis/node/core/clusternet/wireguard.go b/metropolis/node/core/clusternet/wireguard.go
index cc5f941..096e74d 100644
--- a/metropolis/node/core/clusternet/wireguard.go
+++ b/metropolis/node/core/clusternet/wireguard.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package clusternet
 
 import (
diff --git a/metropolis/node/core/consensus/client/client.go b/metropolis/node/core/consensus/client/client.go
index 449274a..75489cc 100644
--- a/metropolis/node/core/consensus/client/client.go
+++ b/metropolis/node/core/consensus/client/client.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // package client implements a higher-level client for consensus/etcd that is
 // to be used within the Metropolis node code for unprivileged access (ie.
diff --git a/metropolis/node/core/consensus/client/unimplemented.go b/metropolis/node/core/consensus/client/unimplemented.go
index 9b146eb..c80bc47 100644
--- a/metropolis/node/core/consensus/client/unimplemented.go
+++ b/metropolis/node/core/consensus/client/unimplemented.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package client
 
 import (
diff --git a/metropolis/node/core/consensus/configuration.go b/metropolis/node/core/consensus/configuration.go
index 071f5f5..a3379ca 100644
--- a/metropolis/node/core/consensus/configuration.go
+++ b/metropolis/node/core/consensus/configuration.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package consensus
 
 import (
diff --git a/metropolis/node/core/consensus/consensus.go b/metropolis/node/core/consensus/consensus.go
index 12913bd..69ded4f 100644
--- a/metropolis/node/core/consensus/consensus.go
+++ b/metropolis/node/core/consensus/consensus.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package consensus implements a runnable that manages an etcd instance which
 // forms part of a Metropolis etcd cluster. This cluster is a foundational
diff --git a/metropolis/node/core/consensus/consensus_test.go b/metropolis/node/core/consensus/consensus_test.go
index 64dd0b3..d1aa2aa 100644
--- a/metropolis/node/core/consensus/consensus_test.go
+++ b/metropolis/node/core/consensus/consensus_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package consensus
 
diff --git a/metropolis/node/core/consensus/logparser.go b/metropolis/node/core/consensus/logparser.go
index f825431..bdf2982 100644
--- a/metropolis/node/core/consensus/logparser.go
+++ b/metropolis/node/core/consensus/logparser.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package consensus
 
 import (
diff --git a/metropolis/node/core/consensus/logparser_test.go b/metropolis/node/core/consensus/logparser_test.go
index 101211c..52a9f8e 100644
--- a/metropolis/node/core/consensus/logparser_test.go
+++ b/metropolis/node/core/consensus/logparser_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package consensus
 
 import (
diff --git a/metropolis/node/core/consensus/status.go b/metropolis/node/core/consensus/status.go
index 40988e5..0886531 100644
--- a/metropolis/node/core/consensus/status.go
+++ b/metropolis/node/core/consensus/status.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package consensus
 
 import (
diff --git a/metropolis/node/core/consensus/testhelpers.go b/metropolis/node/core/consensus/testhelpers.go
index 3471e3c..6411cc3 100644
--- a/metropolis/node/core/consensus/testhelpers.go
+++ b/metropolis/node/core/consensus/testhelpers.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package consensus
 
 import (
diff --git a/metropolis/node/core/curator/bootstrap.go b/metropolis/node/core/curator/bootstrap.go
index bdc7f28..fe5e4b0 100644
--- a/metropolis/node/core/curator/bootstrap.go
+++ b/metropolis/node/core/curator/bootstrap.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/curator.go b/metropolis/node/core/curator/curator.go
index 237a50c..5f6ffa1 100644
--- a/metropolis/node/core/curator/curator.go
+++ b/metropolis/node/core/curator/curator.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // package curator implements the Curator, a service responsible for management
 // of the Metropolis cluster that it is running on.
 //
diff --git a/metropolis/node/core/curator/curator_test.go b/metropolis/node/core/curator/curator_test.go
index 841a813..da021c0 100644
--- a/metropolis/node/core/curator/curator_test.go
+++ b/metropolis/node/core/curator/curator_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/filters.go b/metropolis/node/core/curator/filters.go
index 4a100bb..c569d3b 100644
--- a/metropolis/node/core/curator/filters.go
+++ b/metropolis/node/core/curator/filters.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // This file contains common implementation related to filtering of protobuf
 // messages with Common Expression Language.
 package curator
diff --git a/metropolis/node/core/curator/impl_follower.go b/metropolis/node/core/curator/impl_follower.go
index 1df859c..96a9385 100644
--- a/metropolis/node/core/curator/impl_follower.go
+++ b/metropolis/node/core/curator/impl_follower.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/impl_leader.go b/metropolis/node/core/curator/impl_leader.go
index f40c8d2..9107b92 100644
--- a/metropolis/node/core/curator/impl_leader.go
+++ b/metropolis/node/core/curator/impl_leader.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/impl_leader_aaa.go b/metropolis/node/core/curator/impl_leader_aaa.go
index 8f4eb84..8813108 100644
--- a/metropolis/node/core/curator/impl_leader_aaa.go
+++ b/metropolis/node/core/curator/impl_leader_aaa.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/impl_leader_background.go b/metropolis/node/core/curator/impl_leader_background.go
index 11c4134..df6e24d 100644
--- a/metropolis/node/core/curator/impl_leader_background.go
+++ b/metropolis/node/core/curator/impl_leader_background.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/impl_leader_certificates.go b/metropolis/node/core/curator/impl_leader_certificates.go
index 40211fd..1326c4c 100644
--- a/metropolis/node/core/curator/impl_leader_certificates.go
+++ b/metropolis/node/core/curator/impl_leader_certificates.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/impl_leader_cluster_networking.go b/metropolis/node/core/curator/impl_leader_cluster_networking.go
index b2cc8ba..6ab1bfb 100644
--- a/metropolis/node/core/curator/impl_leader_cluster_networking.go
+++ b/metropolis/node/core/curator/impl_leader_cluster_networking.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/impl_leader_curator.go b/metropolis/node/core/curator/impl_leader_curator.go
index 0246498..addd789 100644
--- a/metropolis/node/core/curator/impl_leader_curator.go
+++ b/metropolis/node/core/curator/impl_leader_curator.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/impl_leader_management.go b/metropolis/node/core/curator/impl_leader_management.go
index f6fe159..517144c 100644
--- a/metropolis/node/core/curator/impl_leader_management.go
+++ b/metropolis/node/core/curator/impl_leader_management.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/impl_leader_test.go b/metropolis/node/core/curator/impl_leader_test.go
index dc8bdee..59788e8 100644
--- a/metropolis/node/core/curator/impl_leader_test.go
+++ b/metropolis/node/core/curator/impl_leader_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/listener.go b/metropolis/node/core/curator/listener.go
index 40d1f19..cb79cd8 100644
--- a/metropolis/node/core/curator/listener.go
+++ b/metropolis/node/core/curator/listener.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/proto/api/gomod-generated-placeholder.go b/metropolis/node/core/curator/proto/api/gomod-generated-placeholder.go
index 778f64e..da08b30 100644
--- a/metropolis/node/core/curator/proto/api/gomod-generated-placeholder.go
+++ b/metropolis/node/core/curator/proto/api/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package api
diff --git a/metropolis/node/core/curator/proto/private/gomod-generated-placeholder.go b/metropolis/node/core/curator/proto/private/gomod-generated-placeholder.go
index 735e4dc..b4ed19a 100644
--- a/metropolis/node/core/curator/proto/private/gomod-generated-placeholder.go
+++ b/metropolis/node/core/curator/proto/private/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package private
diff --git a/metropolis/node/core/curator/reconfigure.go b/metropolis/node/core/curator/reconfigure.go
index 8349a68..ea31174 100644
--- a/metropolis/node/core/curator/reconfigure.go
+++ b/metropolis/node/core/curator/reconfigure.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/reconfigure_test.go b/metropolis/node/core/curator/reconfigure_test.go
index fb363da..2f63485 100644
--- a/metropolis/node/core/curator/reconfigure_test.go
+++ b/metropolis/node/core/curator/reconfigure_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/state.go b/metropolis/node/core/curator/state.go
index 39837a7..ce4ff3d 100644
--- a/metropolis/node/core/curator/state.go
+++ b/metropolis/node/core/curator/state.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/state_cluster.go b/metropolis/node/core/curator/state_cluster.go
index 6c3f39c..e678414 100644
--- a/metropolis/node/core/curator/state_cluster.go
+++ b/metropolis/node/core/curator/state_cluster.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/state_node.go b/metropolis/node/core/curator/state_node.go
index 5138134..7ada43a 100644
--- a/metropolis/node/core/curator/state_node.go
+++ b/metropolis/node/core/curator/state_node.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package curator
 
diff --git a/metropolis/node/core/curator/state_pki.go b/metropolis/node/core/curator/state_pki.go
index 7eb3f76..4b0cf76 100644
--- a/metropolis/node/core/curator/state_pki.go
+++ b/metropolis/node/core/curator/state_pki.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/state_registerticket.go b/metropolis/node/core/curator/state_registerticket.go
index 8b8ea15..41b6fb8 100644
--- a/metropolis/node/core/curator/state_registerticket.go
+++ b/metropolis/node/core/curator/state_registerticket.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import (
diff --git a/metropolis/node/core/curator/state_test.go b/metropolis/node/core/curator/state_test.go
index 0bee7e1..faafab0 100644
--- a/metropolis/node/core/curator/state_test.go
+++ b/metropolis/node/core/curator/state_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package curator
 
 import "testing"
diff --git a/metropolis/node/core/curator/watcher/watch_node.go b/metropolis/node/core/curator/watcher/watch_node.go
index 45c51ab..cc2d498 100644
--- a/metropolis/node/core/curator/watcher/watch_node.go
+++ b/metropolis/node/core/curator/watcher/watch_node.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package watcher
 
 import (
diff --git a/metropolis/node/core/curator/watcher/watch_nodes.go b/metropolis/node/core/curator/watcher/watch_nodes.go
index 4c08d34..fbd1be7 100644
--- a/metropolis/node/core/curator/watcher/watch_nodes.go
+++ b/metropolis/node/core/curator/watcher/watch_nodes.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package watcher
 
 import (
diff --git a/metropolis/node/core/debug_service_disabled.go b/metropolis/node/core/debug_service_disabled.go
index 815a0dd..4ba72cb 100644
--- a/metropolis/node/core/debug_service_disabled.go
+++ b/metropolis/node/core/debug_service_disabled.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/node/core/debug_service_enabled.go b/metropolis/node/core/debug_service_enabled.go
index b455757..4f8495f 100644
--- a/metropolis/node/core/debug_service_enabled.go
+++ b/metropolis/node/core/debug_service_enabled.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package main
 
diff --git a/metropolis/node/core/delve_disabled.go b/metropolis/node/core/delve_disabled.go
index 116ae3e..93ea312 100644
--- a/metropolis/node/core/delve_disabled.go
+++ b/metropolis/node/core/delve_disabled.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package main
 
diff --git a/metropolis/node/core/delve_enabled.go b/metropolis/node/core/delve_enabled.go
index 0bd546f..54a64c7 100644
--- a/metropolis/node/core/delve_enabled.go
+++ b/metropolis/node/core/delve_enabled.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package main
 
diff --git a/metropolis/node/core/devmgr/devmgr.go b/metropolis/node/core/devmgr/devmgr.go
index b5c1835..41730fc 100644
--- a/metropolis/node/core/devmgr/devmgr.go
+++ b/metropolis/node/core/devmgr/devmgr.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package devmgr is the userspace pendant to the kernel device management
 // system. It talks to the kernel and the performs any further userspace actions
 // related to device events. It corresponds very roughly to systemd-udevd on
diff --git a/metropolis/node/core/identity/certificates.go b/metropolis/node/core/identity/certificates.go
index 86cfd13..8e774c6 100644
--- a/metropolis/node/core/identity/certificates.go
+++ b/metropolis/node/core/identity/certificates.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package identity
 
 import (
diff --git a/metropolis/node/core/identity/certificates_test.go b/metropolis/node/core/identity/certificates_test.go
index d2dd0cd..903bbe8 100644
--- a/metropolis/node/core/identity/certificates_test.go
+++ b/metropolis/node/core/identity/certificates_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package identity
 
 import (
diff --git a/metropolis/node/core/identity/identity.go b/metropolis/node/core/identity/identity.go
index 6663771..399a2d4 100644
--- a/metropolis/node/core/identity/identity.go
+++ b/metropolis/node/core/identity/identity.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package identity
 
 import (
diff --git a/metropolis/node/core/localstorage/crypt/blockdev.go b/metropolis/node/core/localstorage/crypt/blockdev.go
index d3c915e..d2c1b15 100644
--- a/metropolis/node/core/localstorage/crypt/blockdev.go
+++ b/metropolis/node/core/localstorage/crypt/blockdev.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package crypt
 
diff --git a/metropolis/node/core/localstorage/crypt/crypt.go b/metropolis/node/core/localstorage/crypt/crypt.go
index bd20efd..b429fdf 100644
--- a/metropolis/node/core/localstorage/crypt/crypt.go
+++ b/metropolis/node/core/localstorage/crypt/crypt.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package crypt implements block device (eg. disk) encryption and authentication
 // using dm-crypt and dm-integrity.
diff --git a/metropolis/node/core/localstorage/crypt/crypt_encryption.go b/metropolis/node/core/localstorage/crypt/crypt_encryption.go
index fb8a129..3c11a6d 100644
--- a/metropolis/node/core/localstorage/crypt/crypt_encryption.go
+++ b/metropolis/node/core/localstorage/crypt/crypt_encryption.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package crypt
 
 import (
diff --git a/metropolis/node/core/localstorage/crypt/crypt_integrity.go b/metropolis/node/core/localstorage/crypt/crypt_integrity.go
index b2e43f8..99b77a5 100644
--- a/metropolis/node/core/localstorage/crypt/crypt_integrity.go
+++ b/metropolis/node/core/localstorage/crypt/crypt_integrity.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package crypt
 
 import (
diff --git a/metropolis/node/core/localstorage/crypt/crypt_test.go b/metropolis/node/core/localstorage/crypt/crypt_test.go
index 7d8db9d..e99bdf5 100644
--- a/metropolis/node/core/localstorage/crypt/crypt_test.go
+++ b/metropolis/node/core/localstorage/crypt/crypt_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package crypt
 
 import (
diff --git a/metropolis/node/core/localstorage/declarative/declarative.go b/metropolis/node/core/localstorage/declarative/declarative.go
index 5e194b5..6736e1f 100644
--- a/metropolis/node/core/localstorage/declarative/declarative.go
+++ b/metropolis/node/core/localstorage/declarative/declarative.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package declarative
 
diff --git a/metropolis/node/core/localstorage/declarative/placement.go b/metropolis/node/core/localstorage/declarative/placement.go
index a59912c..0406774 100644
--- a/metropolis/node/core/localstorage/declarative/placement.go
+++ b/metropolis/node/core/localstorage/declarative/placement.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package declarative
 
diff --git a/metropolis/node/core/localstorage/declarative/placement_local.go b/metropolis/node/core/localstorage/declarative/placement_local.go
index 77d407c..3e17241 100644
--- a/metropolis/node/core/localstorage/declarative/placement_local.go
+++ b/metropolis/node/core/localstorage/declarative/placement_local.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package declarative
 
diff --git a/metropolis/node/core/localstorage/directory_data.go b/metropolis/node/core/localstorage/directory_data.go
index ab1bcd9..ed3113f 100644
--- a/metropolis/node/core/localstorage/directory_data.go
+++ b/metropolis/node/core/localstorage/directory_data.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package localstorage
 
diff --git a/metropolis/node/core/localstorage/directory_pki.go b/metropolis/node/core/localstorage/directory_pki.go
index 75c8a2b..fcfec1c 100644
--- a/metropolis/node/core/localstorage/directory_pki.go
+++ b/metropolis/node/core/localstorage/directory_pki.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package localstorage
 
diff --git a/metropolis/node/core/localstorage/directory_root.go b/metropolis/node/core/localstorage/directory_root.go
index bfacb4e..d6d9995 100644
--- a/metropolis/node/core/localstorage/directory_root.go
+++ b/metropolis/node/core/localstorage/directory_root.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package localstorage
 
diff --git a/metropolis/node/core/localstorage/storage.go b/metropolis/node/core/localstorage/storage.go
index b6efcf3..029ce0c 100644
--- a/metropolis/node/core/localstorage/storage.go
+++ b/metropolis/node/core/localstorage/storage.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package localstorage
 
diff --git a/metropolis/node/core/localstorage/storage_esp.go b/metropolis/node/core/localstorage/storage_esp.go
index f2cf41f..4fd4e24 100644
--- a/metropolis/node/core/localstorage/storage_esp.go
+++ b/metropolis/node/core/localstorage/storage_esp.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package localstorage
 
diff --git a/metropolis/node/core/localstorage/storage_test.go b/metropolis/node/core/localstorage/storage_test.go
index b90d7a7..d360055 100644
--- a/metropolis/node/core/localstorage/storage_test.go
+++ b/metropolis/node/core/localstorage/storage_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package localstorage
 
diff --git a/metropolis/node/core/main.go b/metropolis/node/core/main.go
index 527030a..890a30b 100644
--- a/metropolis/node/core/main.go
+++ b/metropolis/node/core/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package main
 
diff --git a/metropolis/node/core/metrics/discovery.go b/metropolis/node/core/metrics/discovery.go
index 116291e..fea4582 100644
--- a/metropolis/node/core/metrics/discovery.go
+++ b/metropolis/node/core/metrics/discovery.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package metrics
 
 import (
diff --git a/metropolis/node/core/metrics/exporters.go b/metropolis/node/core/metrics/exporters.go
index 2e8c1df..003a690 100644
--- a/metropolis/node/core/metrics/exporters.go
+++ b/metropolis/node/core/metrics/exporters.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package metrics
 
 import (
diff --git a/metropolis/node/core/metrics/fake_exporter/fake_exporter.go b/metropolis/node/core/metrics/fake_exporter/fake_exporter.go
index 919851e..c289c60 100644
--- a/metropolis/node/core/metrics/fake_exporter/fake_exporter.go
+++ b/metropolis/node/core/metrics/fake_exporter/fake_exporter.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // fake_exporter is a tiny Prometheus-compatible metrics exporter which exports a
 // single metric with a value configured at startup. It is used to test the
 // metrics service.
diff --git a/metropolis/node/core/metrics/metrics.go b/metropolis/node/core/metrics/metrics.go
index b07a980..9abed54 100644
--- a/metropolis/node/core/metrics/metrics.go
+++ b/metropolis/node/core/metrics/metrics.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package metrics
 
 import (
diff --git a/metropolis/node/core/metrics/metrics_test.go b/metropolis/node/core/metrics/metrics_test.go
index fb5e3dc..b7c3eab 100644
--- a/metropolis/node/core/metrics/metrics_test.go
+++ b/metropolis/node/core/metrics/metrics_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package metrics
 
 import (
diff --git a/metropolis/node/core/mgmt/mgmt.go b/metropolis/node/core/mgmt/mgmt.go
index b0632bb..78961f2 100644
--- a/metropolis/node/core/mgmt/mgmt.go
+++ b/metropolis/node/core/mgmt/mgmt.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package mgmt implements the node-local management service, a.k.a.
 // metropolis.proto.api.NodeManagement.
 package mgmt
diff --git a/metropolis/node/core/mgmt/power.go b/metropolis/node/core/mgmt/power.go
index 9273ab3..6a3a8f2 100644
--- a/metropolis/node/core/mgmt/power.go
+++ b/metropolis/node/core/mgmt/power.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package mgmt
 
 import (
diff --git a/metropolis/node/core/mgmt/svc_logs.go b/metropolis/node/core/mgmt/svc_logs.go
index 6e27bf8..7a6ded5 100644
--- a/metropolis/node/core/mgmt/svc_logs.go
+++ b/metropolis/node/core/mgmt/svc_logs.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package mgmt
 
 import (
diff --git a/metropolis/node/core/mgmt/svc_logs_test.go b/metropolis/node/core/mgmt/svc_logs_test.go
index e91d2a3..f778084 100644
--- a/metropolis/node/core/mgmt/svc_logs_test.go
+++ b/metropolis/node/core/mgmt/svc_logs_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package mgmt
 
 import (
diff --git a/metropolis/node/core/mgmt/update.go b/metropolis/node/core/mgmt/update.go
index 6a7e13e..de9b876 100644
--- a/metropolis/node/core/mgmt/update.go
+++ b/metropolis/node/core/mgmt/update.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package mgmt
 
 import (
diff --git a/metropolis/node/core/mounts.go b/metropolis/node/core/mounts.go
index 02173c5..8b23b72 100644
--- a/metropolis/node/core/mounts.go
+++ b/metropolis/node/core/mounts.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package main
 
diff --git a/metropolis/node/core/network/dhcp4c/callback/callback.go b/metropolis/node/core/network/dhcp4c/callback/callback.go
index 2acc539..39c8ef1 100644
--- a/metropolis/node/core/network/dhcp4c/callback/callback.go
+++ b/metropolis/node/core/network/dhcp4c/callback/callback.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package callback contains minimal callbacks for configuring the kernel with
 // options received over DHCP.
diff --git a/metropolis/node/core/network/dhcp4c/callback/callback_test.go b/metropolis/node/core/network/dhcp4c/callback/callback_test.go
index 3045f47..d9735df 100644
--- a/metropolis/node/core/network/dhcp4c/callback/callback_test.go
+++ b/metropolis/node/core/network/dhcp4c/callback/callback_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package callback
 
diff --git a/metropolis/node/core/network/dhcp4c/dhcpc.go b/metropolis/node/core/network/dhcp4c/dhcpc.go
index 2b21cd0..dff272b 100644
--- a/metropolis/node/core/network/dhcp4c/dhcpc.go
+++ b/metropolis/node/core/network/dhcp4c/dhcpc.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package dhcp4c implements a DHCPv4 Client as specified in RFC2131 (with some
 // notable deviations).  It implements only the DHCP state machine itself, any
diff --git a/metropolis/node/core/network/dhcp4c/dhcpc_test.go b/metropolis/node/core/network/dhcp4c/dhcpc_test.go
index d9d5dd2..45be1a4 100644
--- a/metropolis/node/core/network/dhcp4c/dhcpc_test.go
+++ b/metropolis/node/core/network/dhcp4c/dhcpc_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package dhcp4c
 
diff --git a/metropolis/node/core/network/dhcp4c/doc.go b/metropolis/node/core/network/dhcp4c/doc.go
index 292bb28..622452b 100644
--- a/metropolis/node/core/network/dhcp4c/doc.go
+++ b/metropolis/node/core/network/dhcp4c/doc.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package dhcp4c provides a client implementation of the DHCPv4 protocol
 // (RFC2131) and a few extensions for Linux-based systems.
diff --git a/metropolis/node/core/network/dhcp4c/lease.go b/metropolis/node/core/network/dhcp4c/lease.go
index 5f1db6f..fefe092 100644
--- a/metropolis/node/core/network/dhcp4c/lease.go
+++ b/metropolis/node/core/network/dhcp4c/lease.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package dhcp4c
 
diff --git a/metropolis/node/core/network/dhcp4c/lease_test.go b/metropolis/node/core/network/dhcp4c/lease_test.go
index 070d1b6..5d233df 100644
--- a/metropolis/node/core/network/dhcp4c/lease_test.go
+++ b/metropolis/node/core/network/dhcp4c/lease_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package dhcp4c
 
diff --git a/metropolis/node/core/network/dhcp4c/transport/transport.go b/metropolis/node/core/network/dhcp4c/transport/transport.go
index deed14d..9a5ff14 100644
--- a/metropolis/node/core/network/dhcp4c/transport/transport.go
+++ b/metropolis/node/core/network/dhcp4c/transport/transport.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package transport contains Linux-based transports for the DHCP broadcast and
 // unicast specifications.
diff --git a/metropolis/node/core/network/dhcp4c/transport/transport_broadcast.go b/metropolis/node/core/network/dhcp4c/transport/transport_broadcast.go
index 7064255..b61af80 100644
--- a/metropolis/node/core/network/dhcp4c/transport/transport_broadcast.go
+++ b/metropolis/node/core/network/dhcp4c/transport/transport_broadcast.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package transport
 
diff --git a/metropolis/node/core/network/dhcp4c/transport/transport_unicast.go b/metropolis/node/core/network/dhcp4c/transport/transport_unicast.go
index 0876a82..b76e37c 100644
--- a/metropolis/node/core/network/dhcp4c/transport/transport_unicast.go
+++ b/metropolis/node/core/network/dhcp4c/transport/transport_unicast.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package transport
 
diff --git a/metropolis/node/core/network/hostsfile/hostsfile.go b/metropolis/node/core/network/hostsfile/hostsfile.go
index 2023eb3..e509935 100644
--- a/metropolis/node/core/network/hostsfile/hostsfile.go
+++ b/metropolis/node/core/network/hostsfile/hostsfile.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package hostsfile implements a service which owns and writes all node-local
 // files/interfaces used by the system to resolve the local node's name and the
 // names of other nodes in the cluster:
diff --git a/metropolis/node/core/network/main.go b/metropolis/node/core/network/main.go
index dd0023d..8b834ac 100644
--- a/metropolis/node/core/network/main.go
+++ b/metropolis/node/core/network/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package network
 
diff --git a/metropolis/node/core/network/neigh.go b/metropolis/node/core/network/neigh.go
index 33cf564..6058d0e 100644
--- a/metropolis/node/core/network/neigh.go
+++ b/metropolis/node/core/network/neigh.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package network
 
 import (
diff --git a/metropolis/node/core/network/quirks.go b/metropolis/node/core/network/quirks.go
index 547d91e..be30da4 100644
--- a/metropolis/node/core/network/quirks.go
+++ b/metropolis/node/core/network/quirks.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package network
 
 import (
diff --git a/metropolis/node/core/network/static.go b/metropolis/node/core/network/static.go
index 260b5a6..27c952a 100644
--- a/metropolis/node/core/network/static.go
+++ b/metropolis/node/core/network/static.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package network
 
 import (
diff --git a/metropolis/node/core/nodeparams.go b/metropolis/node/core/nodeparams.go
index 5aa6db8..edeb780 100644
--- a/metropolis/node/core/nodeparams.go
+++ b/metropolis/node/core/nodeparams.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/node/core/roleserve/roleserve.go b/metropolis/node/core/roleserve/roleserve.go
index e5e0d74..1f9604c 100644
--- a/metropolis/node/core/roleserve/roleserve.go
+++ b/metropolis/node/core/roleserve/roleserve.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package roleserve implements the roleserver/“Role Server”.
 //
 // The Role Server runs on every node and is responsible for running all of the
diff --git a/metropolis/node/core/roleserve/values.go b/metropolis/node/core/roleserve/values.go
index aa0c227..fda776c 100644
--- a/metropolis/node/core/roleserve/values.go
+++ b/metropolis/node/core/roleserve/values.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package roleserve
 
 import (
diff --git a/metropolis/node/core/roleserve/worker_clusternet.go b/metropolis/node/core/roleserve/worker_clusternet.go
index 6665b4a..3442030 100644
--- a/metropolis/node/core/roleserve/worker_clusternet.go
+++ b/metropolis/node/core/roleserve/worker_clusternet.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package roleserve
 
 import (
diff --git a/metropolis/node/core/roleserve/worker_controlplane.go b/metropolis/node/core/roleserve/worker_controlplane.go
index 9a2af52..74eb672 100644
--- a/metropolis/node/core/roleserve/worker_controlplane.go
+++ b/metropolis/node/core/roleserve/worker_controlplane.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package roleserve
 
 import (
diff --git a/metropolis/node/core/roleserve/worker_heartbeat.go b/metropolis/node/core/roleserve/worker_heartbeat.go
index ba5cecc..c31d203 100644
--- a/metropolis/node/core/roleserve/worker_heartbeat.go
+++ b/metropolis/node/core/roleserve/worker_heartbeat.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package roleserve
 
 import (
diff --git a/metropolis/node/core/roleserve/worker_hostsfile.go b/metropolis/node/core/roleserve/worker_hostsfile.go
index 54e2f49..7ba6e50 100644
--- a/metropolis/node/core/roleserve/worker_hostsfile.go
+++ b/metropolis/node/core/roleserve/worker_hostsfile.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package roleserve
 
 import (
diff --git a/metropolis/node/core/roleserve/worker_kubernetes.go b/metropolis/node/core/roleserve/worker_kubernetes.go
index cfab7cb..2bbbba8 100644
--- a/metropolis/node/core/roleserve/worker_kubernetes.go
+++ b/metropolis/node/core/roleserve/worker_kubernetes.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package roleserve
 
 import (
diff --git a/metropolis/node/core/roleserve/worker_metrics.go b/metropolis/node/core/roleserve/worker_metrics.go
index 8db7b4f..34f74ea 100644
--- a/metropolis/node/core/roleserve/worker_metrics.go
+++ b/metropolis/node/core/roleserve/worker_metrics.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package roleserve
 
 import (
diff --git a/metropolis/node/core/roleserve/worker_nodemgmt.go b/metropolis/node/core/roleserve/worker_nodemgmt.go
index 11f8faa..b6c6068 100644
--- a/metropolis/node/core/roleserve/worker_nodemgmt.go
+++ b/metropolis/node/core/roleserve/worker_nodemgmt.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package roleserve
 
 import (
diff --git a/metropolis/node/core/roleserve/worker_rolefetch.go b/metropolis/node/core/roleserve/worker_rolefetch.go
index 304451b..3900e12 100644
--- a/metropolis/node/core/roleserve/worker_rolefetch.go
+++ b/metropolis/node/core/roleserve/worker_rolefetch.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package roleserve
 
 import (
diff --git a/metropolis/node/core/roleserve/worker_statuspush.go b/metropolis/node/core/roleserve/worker_statuspush.go
index 2fd7b33..0557b4c 100644
--- a/metropolis/node/core/roleserve/worker_statuspush.go
+++ b/metropolis/node/core/roleserve/worker_statuspush.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package roleserve
 
 import (
diff --git a/metropolis/node/core/roleserve/worker_statuspush_test.go b/metropolis/node/core/roleserve/worker_statuspush_test.go
index 2e6024f..54683e7 100644
--- a/metropolis/node/core/roleserve/worker_statuspush_test.go
+++ b/metropolis/node/core/roleserve/worker_statuspush_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package roleserve
 
 import (
diff --git a/metropolis/node/core/rpc/client.go b/metropolis/node/core/rpc/client.go
index 72122b7..f364c5a 100644
--- a/metropolis/node/core/rpc/client.go
+++ b/metropolis/node/core/rpc/client.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package rpc
 
 import (
diff --git a/metropolis/node/core/rpc/methodinfo.go b/metropolis/node/core/rpc/methodinfo.go
index 0a597fa..e294feb 100644
--- a/metropolis/node/core/rpc/methodinfo.go
+++ b/metropolis/node/core/rpc/methodinfo.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package rpc
 
 import (
diff --git a/metropolis/node/core/rpc/peerinfo.go b/metropolis/node/core/rpc/peerinfo.go
index 55f949c..775623c 100644
--- a/metropolis/node/core/rpc/peerinfo.go
+++ b/metropolis/node/core/rpc/peerinfo.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package rpc
 
 import (
diff --git a/metropolis/node/core/rpc/resolver/processor.go b/metropolis/node/core/rpc/resolver/processor.go
index ad29021..fc581a2 100644
--- a/metropolis/node/core/rpc/resolver/processor.go
+++ b/metropolis/node/core/rpc/resolver/processor.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package resolver
 
 import (
diff --git a/metropolis/node/core/rpc/resolver/resolver.go b/metropolis/node/core/rpc/resolver/resolver.go
index c06911b..51b9cdf 100644
--- a/metropolis/node/core/rpc/resolver/resolver.go
+++ b/metropolis/node/core/rpc/resolver/resolver.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package resolver
 
 import (
diff --git a/metropolis/node/core/rpc/resolver/resolver_test.go b/metropolis/node/core/rpc/resolver/resolver_test.go
index 075fd09..72da280 100644
--- a/metropolis/node/core/rpc/resolver/resolver_test.go
+++ b/metropolis/node/core/rpc/resolver/resolver_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package resolver
 
 import (
diff --git a/metropolis/node/core/rpc/resolver/watcher.go b/metropolis/node/core/rpc/resolver/watcher.go
index c9fe47e..cb8f318 100644
--- a/metropolis/node/core/rpc/resolver/watcher.go
+++ b/metropolis/node/core/rpc/resolver/watcher.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package resolver
 
 import (
diff --git a/metropolis/node/core/rpc/server.go b/metropolis/node/core/rpc/server.go
index 3522822..ed8471a 100644
--- a/metropolis/node/core/rpc/server.go
+++ b/metropolis/node/core/rpc/server.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package rpc
 
 import (
diff --git a/metropolis/node/core/rpc/server_authentication.go b/metropolis/node/core/rpc/server_authentication.go
index 37c8fad..03d5a96 100644
--- a/metropolis/node/core/rpc/server_authentication.go
+++ b/metropolis/node/core/rpc/server_authentication.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package rpc
 
 import (
diff --git a/metropolis/node/core/rpc/server_authentication_test.go b/metropolis/node/core/rpc/server_authentication_test.go
index 8a869bd..a30ee86 100644
--- a/metropolis/node/core/rpc/server_authentication_test.go
+++ b/metropolis/node/core/rpc/server_authentication_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package rpc
 
 import (
diff --git a/metropolis/node/core/rpc/trace.go b/metropolis/node/core/rpc/trace.go
index f27a311..9f3c22d 100644
--- a/metropolis/node/core/rpc/trace.go
+++ b/metropolis/node/core/rpc/trace.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package rpc
 
 import (
diff --git a/metropolis/node/core/rpc/trace_test.go b/metropolis/node/core/rpc/trace_test.go
index 9bed935..50ba35e 100644
--- a/metropolis/node/core/rpc/trace_test.go
+++ b/metropolis/node/core/rpc/trace_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package rpc
 
 import (
diff --git a/metropolis/node/core/sysctl.go b/metropolis/node/core/sysctl.go
index 01b576c..2ff874e 100644
--- a/metropolis/node/core/sysctl.go
+++ b/metropolis/node/core/sysctl.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/node/core/tconsole/colors.go b/metropolis/node/core/tconsole/colors.go
index d1d5793..b488d92 100644
--- a/metropolis/node/core/tconsole/colors.go
+++ b/metropolis/node/core/tconsole/colors.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package tconsole
 
 import (
diff --git a/metropolis/node/core/tconsole/draw.go b/metropolis/node/core/tconsole/draw.go
index 4fec256..2c0979e 100644
--- a/metropolis/node/core/tconsole/draw.go
+++ b/metropolis/node/core/tconsole/draw.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package tconsole
 
 import (
diff --git a/metropolis/node/core/tconsole/page_logs.go b/metropolis/node/core/tconsole/page_logs.go
index d408d4d..525b4ce 100644
--- a/metropolis/node/core/tconsole/page_logs.go
+++ b/metropolis/node/core/tconsole/page_logs.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package tconsole
 
 import "github.com/gdamore/tcell/v2"
diff --git a/metropolis/node/core/tconsole/page_status.go b/metropolis/node/core/tconsole/page_status.go
index fbf4649..2843ddf 100644
--- a/metropolis/node/core/tconsole/page_status.go
+++ b/metropolis/node/core/tconsole/page_status.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package tconsole
 
 import (
diff --git a/metropolis/node/core/tconsole/standalone/main.go b/metropolis/node/core/tconsole/standalone/main.go
index d01ab4f..d9ceb18 100644
--- a/metropolis/node/core/tconsole/standalone/main.go
+++ b/metropolis/node/core/tconsole/standalone/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 // This is a standalone tconsole test application which works independently from
diff --git a/metropolis/node/core/tconsole/statusbar.go b/metropolis/node/core/tconsole/statusbar.go
index 06841c2..09ef10d 100644
--- a/metropolis/node/core/tconsole/statusbar.go
+++ b/metropolis/node/core/tconsole/statusbar.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package tconsole
 
 import (
diff --git a/metropolis/node/core/tconsole/tconsole.go b/metropolis/node/core/tconsole/tconsole.go
index b83a261..aa3df7b 100644
--- a/metropolis/node/core/tconsole/tconsole.go
+++ b/metropolis/node/core/tconsole/tconsole.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package tconsole
 
 import (
diff --git a/metropolis/node/core/time/time.go b/metropolis/node/core/time/time.go
index bd66e65..23400ef 100644
--- a/metropolis/node/core/time/time.go
+++ b/metropolis/node/core/time/time.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package time implements a supervisor runnable which is responsible for
 // keeping both the system clock and the RTC accurate.
 // Metropolis nodes need accurate time both for themselves (for log
diff --git a/metropolis/node/core/update/e2e/e2e_test.go b/metropolis/node/core/update/e2e/e2e_test.go
index 7679a69..f7d0e36 100644
--- a/metropolis/node/core/update/e2e/e2e_test.go
+++ b/metropolis/node/core/update/e2e/e2e_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package e2e
 
 import (
diff --git a/metropolis/node/core/update/e2e/testos/main.go b/metropolis/node/core/update/e2e/testos/main.go
index 4e7125b..39c019d 100644
--- a/metropolis/node/core/update/e2e/testos/main.go
+++ b/metropolis/node/core/update/e2e/testos/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/node/core/update/update.go b/metropolis/node/core/update/update.go
index ef302d1..0dbc485 100644
--- a/metropolis/node/core/update/update.go
+++ b/metropolis/node/core/update/update.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package update
 
 import (
diff --git a/metropolis/node/ids.go b/metropolis/node/ids.go
index b4ddf84..c9a9aa0 100644
--- a/metropolis/node/ids.go
+++ b/metropolis/node/ids.go
@@ -1,18 +1,5 @@
-// Copyright 2021 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package node
 
diff --git a/metropolis/node/kubernetes/apiproxy.go b/metropolis/node/kubernetes/apiproxy.go
index 0289111..01990ff 100644
--- a/metropolis/node/kubernetes/apiproxy.go
+++ b/metropolis/node/kubernetes/apiproxy.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kubernetes
 
 import (
diff --git a/metropolis/node/kubernetes/apiserver.go b/metropolis/node/kubernetes/apiserver.go
index 476c8bf..5471e02 100644
--- a/metropolis/node/kubernetes/apiserver.go
+++ b/metropolis/node/kubernetes/apiserver.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package kubernetes
 
diff --git a/metropolis/node/kubernetes/authproxy/authproxy.go b/metropolis/node/kubernetes/authproxy/authproxy.go
index 9b24d19..7fdef76 100644
--- a/metropolis/node/kubernetes/authproxy/authproxy.go
+++ b/metropolis/node/kubernetes/authproxy/authproxy.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package authproxy implements an authenticating proxy in front of the K8s
 // API server converting Metropolis credentials into authentication headers.
 package authproxy
diff --git a/metropolis/node/kubernetes/clusternet/clusternet.go b/metropolis/node/kubernetes/clusternet/clusternet.go
index 30c15a1..9cf877b 100644
--- a/metropolis/node/kubernetes/clusternet/clusternet.go
+++ b/metropolis/node/kubernetes/clusternet/clusternet.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package clusternet implements a WireGuard-based overlay network for
 // Kubernetes. It relies on controller-manager's IPAM to assign IP ranges to
diff --git a/metropolis/node/kubernetes/containerd/main.go b/metropolis/node/kubernetes/containerd/main.go
index db544d6..bd39875 100644
--- a/metropolis/node/kubernetes/containerd/main.go
+++ b/metropolis/node/kubernetes/containerd/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package containerd
 
diff --git a/metropolis/node/kubernetes/controller-manager.go b/metropolis/node/kubernetes/controller-manager.go
index b1fdfc6..0223fd5 100644
--- a/metropolis/node/kubernetes/controller-manager.go
+++ b/metropolis/node/kubernetes/controller-manager.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package kubernetes
 
diff --git a/metropolis/node/kubernetes/csi.go b/metropolis/node/kubernetes/csi.go
index c4e793d..fad0183 100644
--- a/metropolis/node/kubernetes/csi.go
+++ b/metropolis/node/kubernetes/csi.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package kubernetes
 
diff --git a/metropolis/node/kubernetes/feature_gates.go b/metropolis/node/kubernetes/feature_gates.go
index 074aecd..5821101 100644
--- a/metropolis/node/kubernetes/feature_gates.go
+++ b/metropolis/node/kubernetes/feature_gates.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kubernetes
 
 import (
diff --git a/metropolis/node/kubernetes/feature_gates_test.go b/metropolis/node/kubernetes/feature_gates_test.go
index 3cccd14..0efb356 100644
--- a/metropolis/node/kubernetes/feature_gates_test.go
+++ b/metropolis/node/kubernetes/feature_gates_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kubernetes
 
 import (
diff --git a/metropolis/node/kubernetes/hyperkube/main.go b/metropolis/node/kubernetes/hyperkube/main.go
index 0809fa4..5c76acf 100644
--- a/metropolis/node/kubernetes/hyperkube/main.go
+++ b/metropolis/node/kubernetes/hyperkube/main.go
@@ -1,31 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-/*
-Copyright 2014 The Kubernetes Authors.
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-    http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
 
 // This is the entry point for our multicall Kubernetes binary. It can act as
 // any of the Kubernetes components we use depending on its first argument.
diff --git a/metropolis/node/kubernetes/kubelet.go b/metropolis/node/kubernetes/kubelet.go
index 7a75ecf..e35157d 100644
--- a/metropolis/node/kubernetes/kubelet.go
+++ b/metropolis/node/kubernetes/kubelet.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package kubernetes
 
diff --git a/metropolis/node/kubernetes/labelmaker.go b/metropolis/node/kubernetes/labelmaker.go
index 8cd513f..f08af95 100644
--- a/metropolis/node/kubernetes/labelmaker.go
+++ b/metropolis/node/kubernetes/labelmaker.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kubernetes
 
 import (
diff --git a/metropolis/node/kubernetes/metricsproxy/metricsproxy.go b/metropolis/node/kubernetes/metricsproxy/metricsproxy.go
index afa142d..1b98fa8 100644
--- a/metropolis/node/kubernetes/metricsproxy/metricsproxy.go
+++ b/metropolis/node/kubernetes/metricsproxy/metricsproxy.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package metricsproxy implements an authenticating proxy in front of the K8s
 // controller-manager and scheduler providing unauthenticated access to the
 // metrics via local ports
diff --git a/metropolis/node/kubernetes/nfproxy/nfproxy.go b/metropolis/node/kubernetes/nfproxy/nfproxy.go
index 8e0450b..b1616ad 100644
--- a/metropolis/node/kubernetes/nfproxy/nfproxy.go
+++ b/metropolis/node/kubernetes/nfproxy/nfproxy.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package nfproxy is a Kubernetes Service IP proxy based exclusively on the
 // Linux nftables interface.  It uses netfilter's NAT capabilities to accept
diff --git a/metropolis/node/kubernetes/pki/kubernetes.go b/metropolis/node/kubernetes/pki/kubernetes.go
index 5ea1e3e..2d67875 100644
--- a/metropolis/node/kubernetes/pki/kubernetes.go
+++ b/metropolis/node/kubernetes/pki/kubernetes.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // package pki builds upon osbase/pki/ to provide an
 // etcd-backed implementation of all x509 PKI Certificates/CAs required to run
diff --git a/metropolis/node/kubernetes/plugins/kvmdevice/kvmdevice.go b/metropolis/node/kubernetes/plugins/kvmdevice/kvmdevice.go
index d29112f..b75831a 100644
--- a/metropolis/node/kubernetes/plugins/kvmdevice/kvmdevice.go
+++ b/metropolis/node/kubernetes/plugins/kvmdevice/kvmdevice.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package kvmdevice implements a Kubernetes device plugin for the virtual KVM
 // device. Using the device plugin API allows us to take advantage of the
diff --git a/metropolis/node/kubernetes/provisioner.go b/metropolis/node/kubernetes/provisioner.go
index f92acf2..1ec6f5d 100644
--- a/metropolis/node/kubernetes/provisioner.go
+++ b/metropolis/node/kubernetes/provisioner.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package kubernetes
 
diff --git a/metropolis/node/kubernetes/reconciler/reconciler.go b/metropolis/node/kubernetes/reconciler/reconciler.go
index b791341..efc513e 100644
--- a/metropolis/node/kubernetes/reconciler/reconciler.go
+++ b/metropolis/node/kubernetes/reconciler/reconciler.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // The reconciler ensures that a base set of K8s resources is always available
 // in the cluster. These are necessary to ensure correct out-of-the-box
diff --git a/metropolis/node/kubernetes/reconciler/reconciler_status.go b/metropolis/node/kubernetes/reconciler/reconciler_status.go
index b139e0a..b516207 100644
--- a/metropolis/node/kubernetes/reconciler/reconciler_status.go
+++ b/metropolis/node/kubernetes/reconciler/reconciler_status.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package reconciler
 
 import (
diff --git a/metropolis/node/kubernetes/reconciler/reconciler_status_test.go b/metropolis/node/kubernetes/reconciler/reconciler_status_test.go
index 9eedfbe..f9d839f 100644
--- a/metropolis/node/kubernetes/reconciler/reconciler_status_test.go
+++ b/metropolis/node/kubernetes/reconciler/reconciler_status_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package reconciler
 
 import (
diff --git a/metropolis/node/kubernetes/reconciler/reconciler_test.go b/metropolis/node/kubernetes/reconciler/reconciler_test.go
index 5116b0a..a905648 100644
--- a/metropolis/node/kubernetes/reconciler/reconciler_test.go
+++ b/metropolis/node/kubernetes/reconciler/reconciler_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package reconciler
 
diff --git a/metropolis/node/kubernetes/reconciler/resources_csi.go b/metropolis/node/kubernetes/reconciler/resources_csi.go
index 2754528..c909854 100644
--- a/metropolis/node/kubernetes/reconciler/resources_csi.go
+++ b/metropolis/node/kubernetes/reconciler/resources_csi.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package reconciler
 
diff --git a/metropolis/node/kubernetes/reconciler/resources_rbac.go b/metropolis/node/kubernetes/reconciler/resources_rbac.go
index 42cd202..60d1ba4 100644
--- a/metropolis/node/kubernetes/reconciler/resources_rbac.go
+++ b/metropolis/node/kubernetes/reconciler/resources_rbac.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package reconciler
 
diff --git a/metropolis/node/kubernetes/reconciler/resources_runtimeclass.go b/metropolis/node/kubernetes/reconciler/resources_runtimeclass.go
index 070cb96..2fde6f0 100644
--- a/metropolis/node/kubernetes/reconciler/resources_runtimeclass.go
+++ b/metropolis/node/kubernetes/reconciler/resources_runtimeclass.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package reconciler
 
diff --git a/metropolis/node/kubernetes/reconciler/resources_storageclass.go b/metropolis/node/kubernetes/reconciler/resources_storageclass.go
index 6b4ec73..1a1dda1 100644
--- a/metropolis/node/kubernetes/reconciler/resources_storageclass.go
+++ b/metropolis/node/kubernetes/reconciler/resources_storageclass.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package reconciler
 
diff --git a/metropolis/node/kubernetes/scheduler.go b/metropolis/node/kubernetes/scheduler.go
index d058970..7455869 100644
--- a/metropolis/node/kubernetes/scheduler.go
+++ b/metropolis/node/kubernetes/scheduler.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package kubernetes
 
diff --git a/metropolis/node/kubernetes/service_controller.go b/metropolis/node/kubernetes/service_controller.go
index 02cce8c..b91c455 100644
--- a/metropolis/node/kubernetes/service_controller.go
+++ b/metropolis/node/kubernetes/service_controller.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package kubernetes
 
diff --git a/metropolis/node/kubernetes/service_worker.go b/metropolis/node/kubernetes/service_worker.go
index c07217f..e65d39b 100644
--- a/metropolis/node/kubernetes/service_worker.go
+++ b/metropolis/node/kubernetes/service_worker.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kubernetes
 
 import (
diff --git a/metropolis/node/labels.go b/metropolis/node/labels.go
index b829302..6b95db9 100644
--- a/metropolis/node/labels.go
+++ b/metropolis/node/labels.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package node
 
 import (
diff --git a/metropolis/node/labels_test.go b/metropolis/node/labels_test.go
index 0457b1e..08c27bb 100644
--- a/metropolis/node/labels_test.go
+++ b/metropolis/node/labels_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package node
 
 import (
diff --git a/metropolis/node/net_ips.go b/metropolis/node/net_ips.go
index 27bc4b1..415f84d 100644
--- a/metropolis/node/net_ips.go
+++ b/metropolis/node/net_ips.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package node
 
 import "net"
diff --git a/metropolis/node/net_protocols.go b/metropolis/node/net_protocols.go
index 26dd0c0..f3e69b8 100644
--- a/metropolis/node/net_protocols.go
+++ b/metropolis/node/net_protocols.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package node
 
 // These are netlink protocol numbers used internally for various netlink
diff --git a/metropolis/node/ports.go b/metropolis/node/ports.go
index f46e4db..014eb90 100644
--- a/metropolis/node/ports.go
+++ b/metropolis/node/ports.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package node
 
diff --git a/metropolis/node/tools/tools.go b/metropolis/node/tools/tools.go
index aec9de4..5377496 100644
--- a/metropolis/node/tools/tools.go
+++ b/metropolis/node/tools/tools.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 //go:build tools
 // +build tools
 
diff --git a/metropolis/node/validation.go b/metropolis/node/validation.go
index cf6d520..982740c 100644
--- a/metropolis/node/validation.go
+++ b/metropolis/node/validation.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package node
 
 import (
diff --git a/metropolis/node/validation_test.go b/metropolis/node/validation_test.go
index 1a9765e..1a5f84d 100644
--- a/metropolis/node/validation_test.go
+++ b/metropolis/node/validation_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package node
 
 import (
diff --git a/metropolis/proto/api/gomod-generated-placeholder.go b/metropolis/proto/api/gomod-generated-placeholder.go
index 778f64e..da08b30 100644
--- a/metropolis/proto/api/gomod-generated-placeholder.go
+++ b/metropolis/proto/api/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package api
diff --git a/metropolis/proto/common/gomod-generated-placeholder.go b/metropolis/proto/common/gomod-generated-placeholder.go
index 805d0c7..6c06f8c 100644
--- a/metropolis/proto/common/gomod-generated-placeholder.go
+++ b/metropolis/proto/common/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package common
diff --git a/metropolis/proto/ext/gomod-generated-placeholder.go b/metropolis/proto/ext/gomod-generated-placeholder.go
index b39f0bb..5373719 100644
--- a/metropolis/proto/ext/gomod-generated-placeholder.go
+++ b/metropolis/proto/ext/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package ext
diff --git a/metropolis/proto/private/gomod-generated-placeholder.go b/metropolis/proto/private/gomod-generated-placeholder.go
index 735e4dc..b4ed19a 100644
--- a/metropolis/proto/private/gomod-generated-placeholder.go
+++ b/metropolis/proto/private/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package private
diff --git a/metropolis/test/e2e/httpserver/main.go b/metropolis/test/e2e/httpserver/main.go
index 3b593db..be83934 100644
--- a/metropolis/test/e2e/httpserver/main.go
+++ b/metropolis/test/e2e/httpserver/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // httpserver serves a test HTTP endpoint for E2E testing.
 package main
 
diff --git a/metropolis/test/e2e/k8s_cts/main.go b/metropolis/test/e2e/k8s_cts/main.go
index b9818b3..de0bbcc 100644
--- a/metropolis/test/e2e/k8s_cts/main.go
+++ b/metropolis/test/e2e/k8s_cts/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // This package launches a Metropolis cluster with two nodes and spawns in the
 // CTS container. Then it streams its output to the console. When the CTS has
diff --git a/metropolis/test/e2e/persistentvolume/main.go b/metropolis/test/e2e/persistentvolume/main.go
index d9ff958..c80700a 100644
--- a/metropolis/test/e2e/persistentvolume/main.go
+++ b/metropolis/test/e2e/persistentvolume/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // This is a test for PersistentVolumes provided by our provisioner. It tests
 // that volumes have the right mount flags, and the expected quotas.
 //
diff --git a/metropolis/test/e2e/preseedtest/main.go b/metropolis/test/e2e/preseedtest/main.go
index 77fcba6..baeb1e5 100644
--- a/metropolis/test/e2e/preseedtest/main.go
+++ b/metropolis/test/e2e/preseedtest/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package main
 
diff --git a/metropolis/test/e2e/selftest/main.go b/metropolis/test/e2e/selftest/main.go
index 2603eae..3b31c5b 100644
--- a/metropolis/test/e2e/selftest/main.go
+++ b/metropolis/test/e2e/selftest/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/test/e2e/suites/core/run_test.go b/metropolis/test/e2e/suites/core/run_test.go
index 7a07b1e..692969d 100644
--- a/metropolis/test/e2e/suites/core/run_test.go
+++ b/metropolis/test/e2e/suites/core/run_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package test_core
 
 import (
diff --git a/metropolis/test/e2e/suites/ha/run_test.go b/metropolis/test/e2e/suites/ha/run_test.go
index f2f7cc2..b56e40c 100644
--- a/metropolis/test/e2e/suites/ha/run_test.go
+++ b/metropolis/test/e2e/suites/ha/run_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package ha
 
 import (
diff --git a/metropolis/test/e2e/suites/ha_cold/run_test.go b/metropolis/test/e2e/suites/ha_cold/run_test.go
index ae6a043..0684a0b 100644
--- a/metropolis/test/e2e/suites/ha_cold/run_test.go
+++ b/metropolis/test/e2e/suites/ha_cold/run_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package ha_cold
 
 import (
diff --git a/metropolis/test/e2e/suites/kubernetes/kubernetes_helpers.go b/metropolis/test/e2e/suites/kubernetes/kubernetes_helpers.go
index c8e04bf..1f45fab 100644
--- a/metropolis/test/e2e/suites/kubernetes/kubernetes_helpers.go
+++ b/metropolis/test/e2e/suites/kubernetes/kubernetes_helpers.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package kubernetes
 
diff --git a/metropolis/test/e2e/suites/kubernetes/run_test.go b/metropolis/test/e2e/suites/kubernetes/run_test.go
index 0c116f6..0acc473 100644
--- a/metropolis/test/e2e/suites/kubernetes/run_test.go
+++ b/metropolis/test/e2e/suites/kubernetes/run_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kubernetes
 
 import (
diff --git a/metropolis/test/lacp/lacp_test.go b/metropolis/test/lacp/lacp_test.go
index dbcc79e..f28302c 100644
--- a/metropolis/test/lacp/lacp_test.go
+++ b/metropolis/test/lacp/lacp_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package lacp contains an integration test for our custom LACP patches.
 // It tests relevant behavior that other parts of the Monogon network stack
 // rely on, like proper carrier state indications.
diff --git a/metropolis/test/launch/cli/launch-cluster/main.go b/metropolis/test/launch/cli/launch-cluster/main.go
index f5e0537..1aec556 100644
--- a/metropolis/test/launch/cli/launch-cluster/main.go
+++ b/metropolis/test/launch/cli/launch-cluster/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package main
 
diff --git a/metropolis/test/launch/cli/launch/main.go b/metropolis/test/launch/cli/launch/main.go
index eb3f003..b4acd68 100644
--- a/metropolis/test/launch/cli/launch/main.go
+++ b/metropolis/test/launch/cli/launch/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package main
 
diff --git a/metropolis/test/launch/cluster.go b/metropolis/test/launch/cluster.go
index 20c3c67..dab453b 100644
--- a/metropolis/test/launch/cluster.go
+++ b/metropolis/test/launch/cluster.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // cluster builds on the launch package and implements launching Metropolis
 // nodes and clusters in a virtualized environment using qemu. It's kept in a
 // separate package as it depends on a Metropolis node image, which might not be
diff --git a/metropolis/test/launch/insecure_key.go b/metropolis/test/launch/insecure_key.go
index 72af26f..3c39835 100644
--- a/metropolis/test/launch/insecure_key.go
+++ b/metropolis/test/launch/insecure_key.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package launch
 
diff --git a/metropolis/test/launch/launch.go b/metropolis/test/launch/launch.go
index d6c29fe..759bf28 100644
--- a/metropolis/test/launch/launch.go
+++ b/metropolis/test/launch/launch.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package launch
 
 import (
diff --git a/metropolis/test/launch/metroctl.go b/metropolis/test/launch/metroctl.go
index 711855b..0d33849 100644
--- a/metropolis/test/launch/metroctl.go
+++ b/metropolis/test/launch/metroctl.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package launch
 
 import (
diff --git a/metropolis/test/launch/prefixed_stdio.go b/metropolis/test/launch/prefixed_stdio.go
index c851c44..2e4bbd2 100644
--- a/metropolis/test/launch/prefixed_stdio.go
+++ b/metropolis/test/launch/prefixed_stdio.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package launch
 
 import (
diff --git a/metropolis/test/launch/swtpm.go b/metropolis/test/launch/swtpm.go
index 5691c86..3c48227 100644
--- a/metropolis/test/launch/swtpm.go
+++ b/metropolis/test/launch/swtpm.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package launch
 
 import (
diff --git a/metropolis/test/localregistry/localregistry.go b/metropolis/test/localregistry/localregistry.go
index 120eb61..1f648e0 100644
--- a/metropolis/test/localregistry/localregistry.go
+++ b/metropolis/test/localregistry/localregistry.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package localregistry implements a read-only OCI Distribution / Docker
 // V2 container image registry backed by local layers.
 package localregistry
diff --git a/metropolis/test/localregistry/spec/gomod-generated-placeholder.go b/metropolis/test/localregistry/spec/gomod-generated-placeholder.go
index f09cd57..ca2145c 100644
--- a/metropolis/test/localregistry/spec/gomod-generated-placeholder.go
+++ b/metropolis/test/localregistry/spec/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package spec
diff --git a/metropolis/test/nanoswitch/nanoswitch.go b/metropolis/test/nanoswitch/nanoswitch.go
index ca1d77d..9ca2ff8 100644
--- a/metropolis/test/nanoswitch/nanoswitch.go
+++ b/metropolis/test/nanoswitch/nanoswitch.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // nanoswitch is a virtualized switch/router combo intended for testing.
 // It uses the first interface as an external interface to connect to the host
diff --git a/metropolis/test/nanoswitch/socks.go b/metropolis/test/nanoswitch/socks.go
index 1230903..4ba1d0a 100644
--- a/metropolis/test/nanoswitch/socks.go
+++ b/metropolis/test/nanoswitch/socks.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/test/swtpm/certtool/main.go b/metropolis/test/swtpm/certtool/main.go
index 5079c54..600d9aa 100644
--- a/metropolis/test/swtpm/certtool/main.go
+++ b/metropolis/test/swtpm/certtool/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 // Minimal GnuTLS certtool-like tool in Go. Implements only what's needed for
diff --git a/metropolis/test/swtpm/swtpm_cert/asn1.go b/metropolis/test/swtpm/swtpm_cert/asn1.go
index 4136a25..1fe87ee 100644
--- a/metropolis/test/swtpm/swtpm_cert/asn1.go
+++ b/metropolis/test/swtpm/swtpm_cert/asn1.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/metropolis/test/swtpm/swtpm_cert/main.go b/metropolis/test/swtpm/swtpm_cert/main.go
index 8d5663b..e6d1a01 100644
--- a/metropolis/test/swtpm/swtpm_cert/main.go
+++ b/metropolis/test/swtpm/swtpm_cert/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 // swtpm_cert (from swtpm project) reimplemented in Go.
diff --git a/metropolis/test/util/curator.go b/metropolis/test/util/curator.go
index 28fa7b1..35c0b97 100644
--- a/metropolis/test/util/curator.go
+++ b/metropolis/test/util/curator.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package util
 
 import (
diff --git a/metropolis/test/util/rpc.go b/metropolis/test/util/rpc.go
index c31c935..e2558a3 100644
--- a/metropolis/test/util/rpc.go
+++ b/metropolis/test/util/rpc.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package util
 
 import (
diff --git a/metropolis/test/util/runners.go b/metropolis/test/util/runners.go
index 95de02a..4a8a1e9 100644
--- a/metropolis/test/util/runners.go
+++ b/metropolis/test/util/runners.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // This file implements test helper functions that augment the way any given
 // test is run.
 package util
diff --git a/metropolis/version/gomod-generated-placeholder.go b/metropolis/version/gomod-generated-placeholder.go
index f37d99d..7b00a96 100644
--- a/metropolis/version/gomod-generated-placeholder.go
+++ b/metropolis/version/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package version
diff --git a/osbase/blkio/blkio.go b/osbase/blkio/blkio.go
index d0b7174..a4669ab 100644
--- a/osbase/blkio/blkio.go
+++ b/osbase/blkio/blkio.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package blkio
 
 import (
diff --git a/osbase/blockdev/blockdev.go b/osbase/blockdev/blockdev.go
index 9cf4ee2..a8d55cb 100644
--- a/osbase/blockdev/blockdev.go
+++ b/osbase/blockdev/blockdev.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package blockdev
 
 import (
diff --git a/osbase/blockdev/blockdev_darwin.go b/osbase/blockdev/blockdev_darwin.go
index 725c3a5..46fa1ce 100644
--- a/osbase/blockdev/blockdev_darwin.go
+++ b/osbase/blockdev/blockdev_darwin.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 //go:build darwin
 
 package blockdev
diff --git a/osbase/blockdev/blockdev_linux.go b/osbase/blockdev/blockdev_linux.go
index 7bc31fd..b8fb558 100644
--- a/osbase/blockdev/blockdev_linux.go
+++ b/osbase/blockdev/blockdev_linux.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 //go:build linux
 
 package blockdev
diff --git a/osbase/blockdev/blockdev_linux_test.go b/osbase/blockdev/blockdev_linux_test.go
index 31aa827..9cbf027 100644
--- a/osbase/blockdev/blockdev_linux_test.go
+++ b/osbase/blockdev/blockdev_linux_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 //go:build linux
 
 package blockdev
diff --git a/osbase/blockdev/blockdev_test.go b/osbase/blockdev/blockdev_test.go
index df4e8ae..9fc301a 100644
--- a/osbase/blockdev/blockdev_test.go
+++ b/osbase/blockdev/blockdev_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package blockdev
 
 import (
diff --git a/osbase/blockdev/blockdev_windows.go b/osbase/blockdev/blockdev_windows.go
index 9e3d51c..4541076 100644
--- a/osbase/blockdev/blockdev_windows.go
+++ b/osbase/blockdev/blockdev_windows.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 //go:build windows
 
 package blockdev
diff --git a/osbase/blockdev/memory.go b/osbase/blockdev/memory.go
index cf5e21d..72a3cb9 100644
--- a/osbase/blockdev/memory.go
+++ b/osbase/blockdev/memory.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package blockdev
 
 import (
diff --git a/osbase/bootparam/bootparam.go b/osbase/bootparam/bootparam.go
index 240abf3..86f6871 100644
--- a/osbase/bootparam/bootparam.go
+++ b/osbase/bootparam/bootparam.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package bootparam implements encoding and decoding of Linux kernel command
 // lines as documented in
 // https://docs.kernel.org/admin-guide/kernel-parameters.html
diff --git a/osbase/bootparam/bootparam_test.go b/osbase/bootparam/bootparam_test.go
index d864523..97711fd 100644
--- a/osbase/bootparam/bootparam_test.go
+++ b/osbase/bootparam/bootparam_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // If this is bootparam we have an import cycle
 package bootparam_test
 
diff --git a/osbase/bootparam/params.go b/osbase/bootparam/params.go
index bbb4fae..e90bde7 100644
--- a/osbase/bootparam/params.go
+++ b/osbase/bootparam/params.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package bootparam
 
 import (
diff --git a/osbase/bootparam/params_test.go b/osbase/bootparam/params_test.go
index c76dd88..85cf22a 100644
--- a/osbase/bootparam/params_test.go
+++ b/osbase/bootparam/params_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package bootparam
 
 import "testing"
diff --git a/osbase/bootparam/ref/ref.go b/osbase/bootparam/ref/ref.go
index cf16b09..bb2e844 100644
--- a/osbase/bootparam/ref/ref.go
+++ b/osbase/bootparam/ref/ref.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package ref provides the reference implementation for kernel command line
 // parsing as present in the Linux kernel. This is a separate package and
 // not part of the bootparam tests because Go does not let you use cgo in
diff --git a/osbase/bringup/bringup.go b/osbase/bringup/bringup.go
index 5095bfb..6373b64 100644
--- a/osbase/bringup/bringup.go
+++ b/osbase/bringup/bringup.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package bringup implements a simple wrapper which configures all default
 // mounts, logging and the corresponding forwarders to tty0 and ttyS0. It
 // then configures a new logtree and starts a supervisor to run the provided
diff --git a/osbase/bringup/panichandler.go b/osbase/bringup/panichandler.go
index 89cae68..9b6c3e6 100644
--- a/osbase/bringup/panichandler.go
+++ b/osbase/bringup/panichandler.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package bringup
 
 // This uses the unstable overrideWrite interface to also emit all runtime
diff --git a/osbase/bringup/pstore.go b/osbase/bringup/pstore.go
index 8aa41d9..df3b490 100644
--- a/osbase/bringup/pstore.go
+++ b/osbase/bringup/pstore.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package bringup
 
 import (
diff --git a/osbase/bringup/test/main_error.go b/osbase/bringup/test/main_error.go
index f632c1b..d94187e 100644
--- a/osbase/bringup/test/main_error.go
+++ b/osbase/bringup/test/main_error.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/osbase/bringup/test/main_panic.go b/osbase/bringup/test/main_panic.go
index 739f16e..e820a34 100644
--- a/osbase/bringup/test/main_panic.go
+++ b/osbase/bringup/test/main_panic.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/osbase/bringup/test/main_succeeded.go b/osbase/bringup/test/main_succeeded.go
index b86d314..e7bbc39 100644
--- a/osbase/bringup/test/main_succeeded.go
+++ b/osbase/bringup/test/main_succeeded.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/osbase/bringup/test/run_test.go b/osbase/bringup/test/run_test.go
index b560c8c..70003cb 100644
--- a/osbase/bringup/test/run_test.go
+++ b/osbase/bringup/test/run_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package test
 
 import (
diff --git a/osbase/build/fsspec/utils.go b/osbase/build/fsspec/utils.go
index f5a45e3..b291376 100644
--- a/osbase/build/fsspec/utils.go
+++ b/osbase/build/fsspec/utils.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package fsspec
 
 import (
diff --git a/osbase/build/fwprune/main.go b/osbase/build/fwprune/main.go
index 0bedcfd..791c794 100644
--- a/osbase/build/fwprune/main.go
+++ b/osbase/build/fwprune/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // fwprune is a buildsystem utility that filters linux-firmware repository
 // contents to include only files required by the built-in kernel modules,
 // that are specified in modules.builtin.modinfo.
diff --git a/osbase/build/genosrelease/main.go b/osbase/build/genosrelease/main.go
index c4b2a79..8d061f9 100644
--- a/osbase/build/genosrelease/main.go
+++ b/osbase/build/genosrelease/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // genosrelease provides rudimentary support to generate os-release files
 // following the freedesktop spec from arguments and stamping
diff --git a/osbase/build/kconfig-patcher/main.go b/osbase/build/kconfig-patcher/main.go
index 1b5f24f..45288e3 100644
--- a/osbase/build/kconfig-patcher/main.go
+++ b/osbase/build/kconfig-patcher/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package main
 
diff --git a/osbase/build/kconfig-patcher/main_test.go b/osbase/build/kconfig-patcher/main_test.go
index 11c7d84..f90c860 100644
--- a/osbase/build/kconfig-patcher/main_test.go
+++ b/osbase/build/kconfig-patcher/main_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package main
 
diff --git a/osbase/build/mkcpio/main.go b/osbase/build/mkcpio/main.go
index 000a979..ab946d1 100644
--- a/osbase/build/mkcpio/main.go
+++ b/osbase/build/mkcpio/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/osbase/build/mkerofs/main.go b/osbase/build/mkerofs/main.go
index 12cde48..26a6689 100644
--- a/osbase/build/mkerofs/main.go
+++ b/osbase/build/mkerofs/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // mkerofs takes a specification in the form of a prototext file (see fsspec
 // next to this) and assembles an EROFS filesystem according to it. The output
diff --git a/osbase/build/mkimage/main.go b/osbase/build/mkimage/main.go
index 5e2b082..79e2920 100644
--- a/osbase/build/mkimage/main.go
+++ b/osbase/build/mkimage/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // mkimage is a tool to generate node disk images.
 // It can be used both to initialize block devices and to create image
diff --git a/osbase/build/mkimage/osimage/osimage.go b/osbase/build/mkimage/osimage/osimage.go
index 2f497a8..71b5499 100644
--- a/osbase/build/mkimage/osimage/osimage.go
+++ b/osbase/build/mkimage/osimage/osimage.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // This package provides self-contained implementation used to generate
 // Metropolis disk images.
diff --git a/osbase/build/mkpayload/mkpayload.go b/osbase/build/mkpayload/mkpayload.go
index a66d458..c1433f3 100644
--- a/osbase/build/mkpayload/mkpayload.go
+++ b/osbase/build/mkpayload/mkpayload.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // mkpayload is an objcopy wrapper that builds EFI unified kernel images. It
 // performs actions that can't be realized by either objcopy or the
diff --git a/osbase/build/mkucode/main.go b/osbase/build/mkucode/main.go
index 58561e3..dcce5fb 100644
--- a/osbase/build/mkucode/main.go
+++ b/osbase/build/mkucode/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // This assembles standalone microcode files into the format expected by the
 // Linux microcode loader. See
 // https://www.kernel.org/doc/html/latest/x86/microcode.html for further
diff --git a/osbase/build/mkucode/spec/gomod-generated-placeholder.go b/osbase/build/mkucode/spec/gomod-generated-placeholder.go
index f09cd57..ca2145c 100644
--- a/osbase/build/mkucode/spec/gomod-generated-placeholder.go
+++ b/osbase/build/mkucode/spec/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package spec
diff --git a/osbase/build/mkverity/mkverity.go b/osbase/build/mkverity/mkverity.go
index ff2807b..82db0da 100644
--- a/osbase/build/mkverity/mkverity.go
+++ b/osbase/build/mkverity/mkverity.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // This package implements a command line tool that creates dm-verity hash
 // images at a selected path, given an existing data image. The tool
diff --git a/osbase/cmd/run.go b/osbase/cmd/run.go
index f569979..9649c03 100644
--- a/osbase/cmd/run.go
+++ b/osbase/cmd/run.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package cmd contains helpers that abstract away the chore of starting new
 // processes, tracking their lifetime, inspecting their output, etc.
 package cmd
diff --git a/osbase/devicemapper/ctype.go b/osbase/devicemapper/ctype.go
index 05e6934..28e7b5c 100644
--- a/osbase/devicemapper/ctype.go
+++ b/osbase/devicemapper/ctype.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package devicemapper
 
 // Linux kernel ctype data from @linux//include/linux:ctype.h
diff --git a/osbase/devicemapper/devicemapper.go b/osbase/devicemapper/devicemapper.go
index 1999a00..3c7acc1 100644
--- a/osbase/devicemapper/devicemapper.go
+++ b/osbase/devicemapper/devicemapper.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // package devicemapper is a thin wrapper for the devicemapper ioctl API.
 // See: https://github.com/torvalds/linux/blob/master/include/uapi/linux/dm-ioctl.h
diff --git a/osbase/efivarfs/boot.go b/osbase/efivarfs/boot.go
index 8fe1a55..41fa7ce 100644
--- a/osbase/efivarfs/boot.go
+++ b/osbase/efivarfs/boot.go
@@ -1,25 +1,5 @@
-// MIT License
-//
-// Copyright (c) 2021 Philippe Voinov (philippevoinov@gmail.com)
-// Copyright 2021 The Monogon Project Authors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-// SOFTWARE.
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
 
 package efivarfs
 
diff --git a/osbase/efivarfs/boot_test.go b/osbase/efivarfs/boot_test.go
index 9abd8f9..741a1e6 100644
--- a/osbase/efivarfs/boot_test.go
+++ b/osbase/efivarfs/boot_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package efivarfs
 
 import (
diff --git a/osbase/efivarfs/devicepath.go b/osbase/efivarfs/devicepath.go
index d06960c..ada393c 100644
--- a/osbase/efivarfs/devicepath.go
+++ b/osbase/efivarfs/devicepath.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package efivarfs
 
 import (
diff --git a/osbase/efivarfs/devicepath_test.go b/osbase/efivarfs/devicepath_test.go
index ad81279..1e4d3bd 100644
--- a/osbase/efivarfs/devicepath_test.go
+++ b/osbase/efivarfs/devicepath_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package efivarfs
 
 import (
diff --git a/osbase/efivarfs/efivarfs.go b/osbase/efivarfs/efivarfs.go
index ab6da26..f6c489b 100644
--- a/osbase/efivarfs/efivarfs.go
+++ b/osbase/efivarfs/efivarfs.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package efivarfs provides functions to read and manipulate UEFI runtime
 // variables. It uses Linux's efivarfs [1] to access the variables and all
diff --git a/osbase/efivarfs/osindications.go b/osbase/efivarfs/osindications.go
index a112163..1c2effe 100644
--- a/osbase/efivarfs/osindications.go
+++ b/osbase/efivarfs/osindications.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package efivarfs
 
 import (
diff --git a/osbase/efivarfs/variables.go b/osbase/efivarfs/variables.go
index fe59324..01ed9f9 100644
--- a/osbase/efivarfs/variables.go
+++ b/osbase/efivarfs/variables.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package efivarfs
 
 import (
diff --git a/osbase/erofs/compression.go b/osbase/erofs/compression.go
index dca9946..984f597 100644
--- a/osbase/erofs/compression.go
+++ b/osbase/erofs/compression.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package erofs
 
diff --git a/osbase/erofs/compression_test.go b/osbase/erofs/compression_test.go
index 8d5d656..2e4938e 100644
--- a/osbase/erofs/compression_test.go
+++ b/osbase/erofs/compression_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package erofs
 
diff --git a/osbase/erofs/defs.go b/osbase/erofs/defs.go
index 85898bf..14fccda 100644
--- a/osbase/erofs/defs.go
+++ b/osbase/erofs/defs.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package erofs
 
diff --git a/osbase/erofs/defs_test.go b/osbase/erofs/defs_test.go
index 1d31bff..c1444a2 100644
--- a/osbase/erofs/defs_test.go
+++ b/osbase/erofs/defs_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package erofs
 
diff --git a/osbase/erofs/erofs.go b/osbase/erofs/erofs.go
index ab87115..fae87ec 100644
--- a/osbase/erofs/erofs.go
+++ b/osbase/erofs/erofs.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package erofs
 
diff --git a/osbase/erofs/erofs_test.go b/osbase/erofs/erofs_test.go
index fa5f248..cc02047 100644
--- a/osbase/erofs/erofs_test.go
+++ b/osbase/erofs/erofs_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package erofs
 
diff --git a/osbase/erofs/inode_types.go b/osbase/erofs/inode_types.go
index 8147892..85d8502 100644
--- a/osbase/erofs/inode_types.go
+++ b/osbase/erofs/inode_types.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package erofs
 
diff --git a/osbase/erofs/uncompressed_inode_writer.go b/osbase/erofs/uncompressed_inode_writer.go
index 97aefc0..1e0d21c 100644
--- a/osbase/erofs/uncompressed_inode_writer.go
+++ b/osbase/erofs/uncompressed_inode_writer.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package erofs
 
diff --git a/osbase/event/etcd/etcd.go b/osbase/event/etcd/etcd.go
index 8cf2440..3d554f1 100644
--- a/osbase/event/etcd/etcd.go
+++ b/osbase/event/etcd/etcd.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package etcd
 
 import (
diff --git a/osbase/event/etcd/etcd_test.go b/osbase/event/etcd/etcd_test.go
index 5effa6e..a5cde20 100644
--- a/osbase/event/etcd/etcd_test.go
+++ b/osbase/event/etcd/etcd_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package etcd
 
 import (
diff --git a/osbase/event/event.go b/osbase/event/event.go
index e2e0bd8..8d2c077 100644
--- a/osbase/event/event.go
+++ b/osbase/event/event.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package event defines and implements Event Values, a mechanism in which
 // multiple consumers can watch a value for updates in a reliable way.
diff --git a/osbase/event/memory/example_test.go b/osbase/event/memory/example_test.go
index 1ae12c6..d452b34 100644
--- a/osbase/event/memory/example_test.go
+++ b/osbase/event/memory/example_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package memory
 
diff --git a/osbase/event/memory/memory.go b/osbase/event/memory/memory.go
index 09b120f..4960771 100644
--- a/osbase/event/memory/memory.go
+++ b/osbase/event/memory/memory.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package memory
 
diff --git a/osbase/event/memory/memory_test.go b/osbase/event/memory/memory_test.go
index b7d168b..c98eb42 100644
--- a/osbase/event/memory/memory_test.go
+++ b/osbase/event/memory/memory_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package memory
 
diff --git a/osbase/fat32/dos83.go b/osbase/fat32/dos83.go
index 650df96..1d988be 100644
--- a/osbase/fat32/dos83.go
+++ b/osbase/fat32/dos83.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package fat32
 
 import (
diff --git a/osbase/fat32/fat32.go b/osbase/fat32/fat32.go
index c8d4ec9..e5c2e58 100644
--- a/osbase/fat32/fat32.go
+++ b/osbase/fat32/fat32.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package fat32 implements a writer for the FAT32 filesystem.
 package fat32
 
diff --git a/osbase/fat32/fsck_test.go b/osbase/fat32/fsck_test.go
index 4b5f97d..d4908be 100644
--- a/osbase/fat32/fsck_test.go
+++ b/osbase/fat32/fsck_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package fat32
 
 import (
diff --git a/osbase/fat32/linux_test.go b/osbase/fat32/linux_test.go
index 2237f38..ffe7672 100644
--- a/osbase/fat32/linux_test.go
+++ b/osbase/fat32/linux_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package fat32
 
 import (
diff --git a/osbase/fat32/structs.go b/osbase/fat32/structs.go
index 396361d..3292798 100644
--- a/osbase/fat32/structs.go
+++ b/osbase/fat32/structs.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package fat32
 
 const (
diff --git a/osbase/fat32/structs_test.go b/osbase/fat32/structs_test.go
index 77a7df0..f361a89 100644
--- a/osbase/fat32/structs_test.go
+++ b/osbase/fat32/structs_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package fat32
 
 import (
diff --git a/osbase/fat32/utils.go b/osbase/fat32/utils.go
index 833665c..8ddb162 100644
--- a/osbase/fat32/utils.go
+++ b/osbase/fat32/utils.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package fat32
 
 import (
diff --git a/osbase/fileargs/fileargs.go b/osbase/fileargs/fileargs.go
index 7b14550..d3be1f7 100644
--- a/osbase/fileargs/fileargs.go
+++ b/osbase/fileargs/fileargs.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package fileargs
 
diff --git a/osbase/freeport/freeport.go b/osbase/freeport/freeport.go
index da52311..ec6a417 100644
--- a/osbase/freeport/freeport.go
+++ b/osbase/freeport/freeport.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package freeport
 
diff --git a/osbase/fsquota/fsquota.go b/osbase/fsquota/fsquota.go
index 57acf75..4919841 100644
--- a/osbase/fsquota/fsquota.go
+++ b/osbase/fsquota/fsquota.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package fsquota provides a simplified interface to interact with Linux's
 // filesystem qouta API.  It only supports setting quotas on directories, not
diff --git a/osbase/fsquota/fsquota_test.go b/osbase/fsquota/fsquota_test.go
index 01f69c2..97cf8bc 100644
--- a/osbase/fsquota/fsquota_test.go
+++ b/osbase/fsquota/fsquota_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package fsquota
 
diff --git a/osbase/fsquota/fsxattrs/fsxattrs.go b/osbase/fsquota/fsxattrs/fsxattrs.go
index 8c94657..740ee3b 100644
--- a/osbase/fsquota/fsxattrs/fsxattrs.go
+++ b/osbase/fsquota/fsxattrs/fsxattrs.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package fsxattrs
 
diff --git a/osbase/fsquota/quotactl/quotactl.go b/osbase/fsquota/quotactl/quotactl.go
index c7939ed..a246b7c 100644
--- a/osbase/fsquota/quotactl/quotactl.go
+++ b/osbase/fsquota/quotactl/quotactl.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package quotactl implements a low-level wrapper around the modern portion of
 // Linux's quotactl() syscall. See the fsquota package for a nicer interface to
diff --git a/osbase/gpt/gpt.go b/osbase/gpt/gpt.go
index 126021b..3d3cadb 100644
--- a/osbase/gpt/gpt.go
+++ b/osbase/gpt/gpt.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package gpt implements reading and writing GUID Partition Tables as specified
 // in the UEFI Specification. It only implements up to 128 partitions per table
 // (same as most other implementations) as more would require a dynamic table
diff --git a/osbase/gpt/gpt_test.go b/osbase/gpt/gpt_test.go
index 8e63a58..0174266 100644
--- a/osbase/gpt/gpt_test.go
+++ b/osbase/gpt/gpt_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package gpt
 
 import (
diff --git a/osbase/gpt/linux_test.go b/osbase/gpt/linux_test.go
index 030c8eb..decf5ec 100644
--- a/osbase/gpt/linux_test.go
+++ b/osbase/gpt/linux_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package gpt
 
 import (
diff --git a/osbase/gpt/mbr.go b/osbase/gpt/mbr.go
index fa82359..0489afc 100644
--- a/osbase/gpt/mbr.go
+++ b/osbase/gpt/mbr.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package gpt
 
 import (
diff --git a/osbase/gpt/mbr_test.go b/osbase/gpt/mbr_test.go
index 2ed4ed1..dd9ef48 100644
--- a/osbase/gpt/mbr_test.go
+++ b/osbase/gpt/mbr_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package gpt
 
 import "testing"
diff --git a/osbase/gpt/structs_test.go b/osbase/gpt/structs_test.go
index dc53635..5b612ac 100644
--- a/osbase/gpt/structs_test.go
+++ b/osbase/gpt/structs_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package gpt
 
 import (
diff --git a/osbase/jsonpatch/jsonpatch.go b/osbase/jsonpatch/jsonpatch.go
index fe0fbac..5f9c20d 100644
--- a/osbase/jsonpatch/jsonpatch.go
+++ b/osbase/jsonpatch/jsonpatch.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package jsonpatch contains data structures and encoders for JSON Patch (RFC
 // 6902) and JSON Pointers (RFC 6901)
diff --git a/osbase/jsonpatch/jsonpatch_test.go b/osbase/jsonpatch/jsonpatch_test.go
index 33a56ba..f41b030 100644
--- a/osbase/jsonpatch/jsonpatch_test.go
+++ b/osbase/jsonpatch/jsonpatch_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package jsonpatch
 
diff --git a/osbase/kexec/kexec.go b/osbase/kexec/kexec.go
index f1f8d99..09d955b 100644
--- a/osbase/kexec/kexec.go
+++ b/osbase/kexec/kexec.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 //go:build amd64 || arm64 || riscv64
 // +build amd64 arm64 riscv64
 
diff --git a/osbase/kmod/manager.go b/osbase/kmod/manager.go
index 6369212..78cc3da 100644
--- a/osbase/kmod/manager.go
+++ b/osbase/kmod/manager.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kmod
 
 import (
diff --git a/osbase/kmod/manager_test.go b/osbase/kmod/manager_test.go
index 43c9428..2169703 100644
--- a/osbase/kmod/manager_test.go
+++ b/osbase/kmod/manager_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kmod
 
 import (
diff --git a/osbase/kmod/meta.go b/osbase/kmod/meta.go
index 1c96c46..1eb2c36 100644
--- a/osbase/kmod/meta.go
+++ b/osbase/kmod/meta.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kmod
 
 import (
diff --git a/osbase/kmod/modinfo.go b/osbase/kmod/modinfo.go
index 5c01681..b778317 100644
--- a/osbase/kmod/modinfo.go
+++ b/osbase/kmod/modinfo.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kmod
 
 import (
diff --git a/osbase/kmod/radix.go b/osbase/kmod/radix.go
index 1631d87..19898f1 100644
--- a/osbase/kmod/radix.go
+++ b/osbase/kmod/radix.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kmod
 
 import (
diff --git a/osbase/kmod/radix_test.go b/osbase/kmod/radix_test.go
index e89a514..6185beb 100644
--- a/osbase/kmod/radix_test.go
+++ b/osbase/kmod/radix_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kmod
 
 import (
diff --git a/osbase/kmod/spec/gomod-generated-placeholder.go b/osbase/kmod/spec/gomod-generated-placeholder.go
index f09cd57..ca2145c 100644
--- a/osbase/kmod/spec/gomod-generated-placeholder.go
+++ b/osbase/kmod/spec/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package spec
diff --git a/osbase/kmod/syscall.go b/osbase/kmod/syscall.go
index 41d3233..6ca32e1 100644
--- a/osbase/kmod/syscall.go
+++ b/osbase/kmod/syscall.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kmod
 
 import (
diff --git a/osbase/logbuffer/linebuffer.go b/osbase/logbuffer/linebuffer.go
index 2195ec3..5d1590d 100644
--- a/osbase/logbuffer/linebuffer.go
+++ b/osbase/logbuffer/linebuffer.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package logbuffer
 
diff --git a/osbase/logbuffer/linebuffer_test.go b/osbase/logbuffer/linebuffer_test.go
index 699c3dc..5ae0df3 100644
--- a/osbase/logbuffer/linebuffer_test.go
+++ b/osbase/logbuffer/linebuffer_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package logbuffer
 
diff --git a/osbase/logbuffer/logbuffer.go b/osbase/logbuffer/logbuffer.go
index cd18420..de115f8 100644
--- a/osbase/logbuffer/logbuffer.go
+++ b/osbase/logbuffer/logbuffer.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package logbuffer implements a fixed-size in-memory ring buffer for
 // line-separated logs. It implements io.Writer and splits the data into lines.
diff --git a/osbase/logbuffer/logbuffer_test.go b/osbase/logbuffer/logbuffer_test.go
index c38d7a6..d53b53b 100644
--- a/osbase/logbuffer/logbuffer_test.go
+++ b/osbase/logbuffer/logbuffer_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package logbuffer
 
diff --git a/osbase/logtree/doc.go b/osbase/logtree/doc.go
index 1fe6d46..a532f26 100644
--- a/osbase/logtree/doc.go
+++ b/osbase/logtree/doc.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 /*
 Package logtree implements a tree-shaped logger for debug events. It provides log publishers (ie. Go code) with a
diff --git a/osbase/logtree/grpc.go b/osbase/logtree/grpc.go
index 7e17c56..277cd36 100644
--- a/osbase/logtree/grpc.go
+++ b/osbase/logtree/grpc.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package logtree
 
 import (
diff --git a/osbase/logtree/journal.go b/osbase/logtree/journal.go
index d0e8663..c6cc503 100644
--- a/osbase/logtree/journal.go
+++ b/osbase/logtree/journal.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package logtree
 
diff --git a/osbase/logtree/journal_entry.go b/osbase/logtree/journal_entry.go
index 547a711..1f10c0f 100644
--- a/osbase/logtree/journal_entry.go
+++ b/osbase/logtree/journal_entry.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package logtree
 
diff --git a/osbase/logtree/journal_subscriber.go b/osbase/logtree/journal_subscriber.go
index dc9750f..3c27272 100644
--- a/osbase/logtree/journal_subscriber.go
+++ b/osbase/logtree/journal_subscriber.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package logtree
 
diff --git a/osbase/logtree/journal_test.go b/osbase/logtree/journal_test.go
index d295732..23aaeae 100644
--- a/osbase/logtree/journal_test.go
+++ b/osbase/logtree/journal_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package logtree
 
diff --git a/osbase/logtree/klog.go b/osbase/logtree/klog.go
index dca5a82..54e7f68 100644
--- a/osbase/logtree/klog.go
+++ b/osbase/logtree/klog.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package logtree
 
diff --git a/osbase/logtree/klog_test.go b/osbase/logtree/klog_test.go
index 788a7eb..3c25d8a 100644
--- a/osbase/logtree/klog_test.go
+++ b/osbase/logtree/klog_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package logtree
 
diff --git a/osbase/logtree/kmsg.go b/osbase/logtree/kmsg.go
index 11e140a..91a4cf3 100644
--- a/osbase/logtree/kmsg.go
+++ b/osbase/logtree/kmsg.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 //go:build linux
 // +build linux
 
diff --git a/osbase/logtree/kmsg_test.go b/osbase/logtree/kmsg_test.go
index 24f2acf..ff97a6d 100644
--- a/osbase/logtree/kmsg_test.go
+++ b/osbase/logtree/kmsg_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 //go:build linux
 // +build linux
 
diff --git a/osbase/logtree/leveled.go b/osbase/logtree/leveled.go
index 0ca6e48..d4be193 100644
--- a/osbase/logtree/leveled.go
+++ b/osbase/logtree/leveled.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package logtree
 
diff --git a/osbase/logtree/leveled_payload.go b/osbase/logtree/leveled_payload.go
index b038848..524c81b 100644
--- a/osbase/logtree/leveled_payload.go
+++ b/osbase/logtree/leveled_payload.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package logtree
 
diff --git a/osbase/logtree/logtree.go b/osbase/logtree/logtree.go
index b6f8a06..9fcaa4c 100644
--- a/osbase/logtree/logtree.go
+++ b/osbase/logtree/logtree.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package logtree
 
diff --git a/osbase/logtree/logtree_access.go b/osbase/logtree/logtree_access.go
index 30ceccf..dd3bf4e 100644
--- a/osbase/logtree/logtree_access.go
+++ b/osbase/logtree/logtree_access.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package logtree
 
diff --git a/osbase/logtree/logtree_entry.go b/osbase/logtree/logtree_entry.go
index 5fcb392..833081f 100644
--- a/osbase/logtree/logtree_entry.go
+++ b/osbase/logtree/logtree_entry.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package logtree
 
diff --git a/osbase/logtree/logtree_publisher.go b/osbase/logtree/logtree_publisher.go
index 2df7037..9d196bc 100644
--- a/osbase/logtree/logtree_publisher.go
+++ b/osbase/logtree/logtree_publisher.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package logtree
 
diff --git a/osbase/logtree/logtree_test.go b/osbase/logtree/logtree_test.go
index 8ddd3d0..ecc3253 100644
--- a/osbase/logtree/logtree_test.go
+++ b/osbase/logtree/logtree_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package logtree
 
diff --git a/osbase/logtree/proto/gomod-generated-placeholder.go b/osbase/logtree/proto/gomod-generated-placeholder.go
index 92256db..5805fe0 100644
--- a/osbase/logtree/proto/gomod-generated-placeholder.go
+++ b/osbase/logtree/proto/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proto
diff --git a/osbase/logtree/testhelpers.go b/osbase/logtree/testhelpers.go
index 45bcaf2..f67cc84 100644
--- a/osbase/logtree/testhelpers.go
+++ b/osbase/logtree/testhelpers.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package logtree
 
 import (
diff --git a/osbase/logtree/unraw/unraw.go b/osbase/logtree/unraw/unraw.go
index 88ab9d1..6f84e5a 100644
--- a/osbase/logtree/unraw/unraw.go
+++ b/osbase/logtree/unraw/unraw.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package unraw implements a facility to convert raw logs from external sources
 // into leveled logs.
 //
diff --git a/osbase/logtree/unraw/unraw_test.go b/osbase/logtree/unraw/unraw_test.go
index 994e55e..63a8d60 100644
--- a/osbase/logtree/unraw/unraw_test.go
+++ b/osbase/logtree/unraw/unraw_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package unraw
 
 import (
diff --git a/osbase/logtree/zap.go b/osbase/logtree/zap.go
index e00109b..f38a092 100644
--- a/osbase/logtree/zap.go
+++ b/osbase/logtree/zap.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package logtree
 
 import (
diff --git a/osbase/logtree/zap_test.go b/osbase/logtree/zap_test.go
index b03b8cf..b8c617a 100644
--- a/osbase/logtree/zap_test.go
+++ b/osbase/logtree/zap_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package logtree
 
 import (
diff --git a/osbase/loop/loop.go b/osbase/loop/loop.go
index d30bdce..f51c0f0 100644
--- a/osbase/loop/loop.go
+++ b/osbase/loop/loop.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Package loop implements an interface to configure Linux loop devices.
 //
diff --git a/osbase/loop/loop_test.go b/osbase/loop/loop_test.go
index ca6a760..8624eb4 100644
--- a/osbase/loop/loop_test.go
+++ b/osbase/loop/loop_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package loop
 
diff --git a/osbase/msguid/msguid.go b/osbase/msguid/msguid.go
index 4074f8a..b5f4b6a 100644
--- a/osbase/msguid/msguid.go
+++ b/osbase/msguid/msguid.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package msguid provides functions to convert UUIDs/GUIDs to and from
 // Microsoft's idiosyncratic "mixed-endian" format.
 // See https://uefi.org/specs/UEFI/2.10/Apx_A_GUID_and_Time_Formats.html#text-representation-relationships-apxa-guid-and-time-formats
diff --git a/osbase/msguid/msguid_test.go b/osbase/msguid/msguid_test.go
index b8cdfea..226c7a6 100644
--- a/osbase/msguid/msguid_test.go
+++ b/osbase/msguid/msguid_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package msguid
 
 import (
diff --git a/osbase/net/dns/dns.go b/osbase/net/dns/dns.go
index 3207622..f7094b9 100644
--- a/osbase/net/dns/dns.go
+++ b/osbase/net/dns/dns.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package dns provides a DNS server for resolving services against.
 package dns
 
diff --git a/osbase/net/dns/dns_test.go b/osbase/net/dns/dns_test.go
index 7dd670c..5b61b36 100644
--- a/osbase/net/dns/dns_test.go
+++ b/osbase/net/dns/dns_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package dns
 
 import (
diff --git a/osbase/net/dns/forward/cache.go b/osbase/net/dns/forward/cache.go
index d2422a9..55697ca 100644
--- a/osbase/net/dns/forward/cache.go
+++ b/osbase/net/dns/forward/cache.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package forward
 
 import (
diff --git a/osbase/net/dns/forward/cache/cache.go b/osbase/net/dns/forward/cache/cache.go
index 8c151a6..114939b 100644
--- a/osbase/net/dns/forward/cache/cache.go
+++ b/osbase/net/dns/forward/cache/cache.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package cache implements a cache. The cache hold 256 shards, each shard
 // holds a cache: a map with a mutex. There is no fancy expunge algorithm, it
 // just randomly evicts elements when it gets full.
diff --git a/osbase/net/dns/forward/cache/cache_test.go b/osbase/net/dns/forward/cache/cache_test.go
index 8a2b80c..5542158 100644
--- a/osbase/net/dns/forward/cache/cache_test.go
+++ b/osbase/net/dns/forward/cache/cache_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package cache
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/cache/shard_test.go b/osbase/net/dns/forward/cache/shard_test.go
index 452f8cc..f8e3153 100644
--- a/osbase/net/dns/forward/cache/shard_test.go
+++ b/osbase/net/dns/forward/cache/shard_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package cache
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/forward.go b/osbase/net/dns/forward/forward.go
index 00271ec..c4222c9 100644
--- a/osbase/net/dns/forward/forward.go
+++ b/osbase/net/dns/forward/forward.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package forward implements a forwarding proxy.
 //
 // A cache is used to reduce load on the upstream servers. Cached items are only
diff --git a/osbase/net/dns/forward/forward_test.go b/osbase/net/dns/forward/forward_test.go
index f850591..ddab957 100644
--- a/osbase/net/dns/forward/forward_test.go
+++ b/osbase/net/dns/forward/forward_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package forward
 
 import (
diff --git a/osbase/net/dns/forward/metrics.go b/osbase/net/dns/forward/metrics.go
index 4977b02..78753d1 100644
--- a/osbase/net/dns/forward/metrics.go
+++ b/osbase/net/dns/forward/metrics.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package forward
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/proxy/connect.go b/osbase/net/dns/forward/proxy/connect.go
index d1c5b8e..a11e8e6 100644
--- a/osbase/net/dns/forward/proxy/connect.go
+++ b/osbase/net/dns/forward/proxy/connect.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package proxy implements a forwarding proxy. It caches an upstream net.Conn
 // for some time, so if the same client returns the upstream's Conn will be
 // precached. Depending on how you benchmark this looks to be 50% faster than
diff --git a/osbase/net/dns/forward/proxy/health.go b/osbase/net/dns/forward/proxy/health.go
index 4630cdc..29fe848 100644
--- a/osbase/net/dns/forward/proxy/health.go
+++ b/osbase/net/dns/forward/proxy/health.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proxy
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/proxy/health_test.go b/osbase/net/dns/forward/proxy/health_test.go
index ef8b60a..d7b3280 100644
--- a/osbase/net/dns/forward/proxy/health_test.go
+++ b/osbase/net/dns/forward/proxy/health_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proxy
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/proxy/metrics.go b/osbase/net/dns/forward/proxy/metrics.go
index c08f1d8..625ab99 100644
--- a/osbase/net/dns/forward/proxy/metrics.go
+++ b/osbase/net/dns/forward/proxy/metrics.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proxy
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/proxy/persistent.go b/osbase/net/dns/forward/proxy/persistent.go
index cb4f618..83fea11 100644
--- a/osbase/net/dns/forward/proxy/persistent.go
+++ b/osbase/net/dns/forward/proxy/persistent.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proxy
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/proxy/persistent_test.go b/osbase/net/dns/forward/proxy/persistent_test.go
index 2856c3f..b54c0dd 100644
--- a/osbase/net/dns/forward/proxy/persistent_test.go
+++ b/osbase/net/dns/forward/proxy/persistent_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proxy
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/proxy/proxy.go b/osbase/net/dns/forward/proxy/proxy.go
index dc25a31..a1da587 100644
--- a/osbase/net/dns/forward/proxy/proxy.go
+++ b/osbase/net/dns/forward/proxy/proxy.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proxy
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/proxy/proxy_test.go b/osbase/net/dns/forward/proxy/proxy_test.go
index a9297da..4d120a6 100644
--- a/osbase/net/dns/forward/proxy/proxy_test.go
+++ b/osbase/net/dns/forward/proxy/proxy_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proxy
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/proxy/type.go b/osbase/net/dns/forward/proxy/type.go
index 6eb78ce..65821cc 100644
--- a/osbase/net/dns/forward/proxy/type.go
+++ b/osbase/net/dns/forward/proxy/type.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proxy
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/forward/up/up.go b/osbase/net/dns/forward/up/up.go
index 9806319..3b208d9 100644
--- a/osbase/net/dns/forward/up/up.go
+++ b/osbase/net/dns/forward/up/up.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package up is used to run a function for some duration. If a new function is
 // added while a previous run is still ongoing, nothing new will be executed.
 package up
diff --git a/osbase/net/dns/forward/up/up_test.go b/osbase/net/dns/forward/up/up_test.go
index 0d0f928..acf3b96 100644
--- a/osbase/net/dns/forward/up/up_test.go
+++ b/osbase/net/dns/forward/up/up_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package up
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/kubernetes/controller.go b/osbase/net/dns/kubernetes/controller.go
index 61a33fc..dd19f24 100644
--- a/osbase/net/dns/kubernetes/controller.go
+++ b/osbase/net/dns/kubernetes/controller.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kubernetes
 
 // Taken and modified from the Kubernetes plugin of CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/kubernetes/handler.go b/osbase/net/dns/kubernetes/handler.go
index e6adf84..000ea1f 100644
--- a/osbase/net/dns/kubernetes/handler.go
+++ b/osbase/net/dns/kubernetes/handler.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kubernetes
 
 import (
diff --git a/osbase/net/dns/kubernetes/handler_test.go b/osbase/net/dns/kubernetes/handler_test.go
index 76bd32d..9b628fd 100644
--- a/osbase/net/dns/kubernetes/handler_test.go
+++ b/osbase/net/dns/kubernetes/handler_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kubernetes
 
 import (
diff --git a/osbase/net/dns/kubernetes/kubernetes.go b/osbase/net/dns/kubernetes/kubernetes.go
index efcb60e..b69d132 100644
--- a/osbase/net/dns/kubernetes/kubernetes.go
+++ b/osbase/net/dns/kubernetes/kubernetes.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package kubernetes provides the kubernetes backend.
 package kubernetes
 
diff --git a/osbase/net/dns/kubernetes/metrics.go b/osbase/net/dns/kubernetes/metrics.go
index 83deeee..4d90671 100644
--- a/osbase/net/dns/kubernetes/metrics.go
+++ b/osbase/net/dns/kubernetes/metrics.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package kubernetes
 
 // Taken and modified from the Kubernetes plugin of CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/kubernetes/object/endpoint.go b/osbase/net/dns/kubernetes/object/endpoint.go
index a675ad2..55ce53f 100644
--- a/osbase/net/dns/kubernetes/object/endpoint.go
+++ b/osbase/net/dns/kubernetes/object/endpoint.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package object
 
 // Taken and modified from the Kubernetes plugin of CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/kubernetes/object/informer.go b/osbase/net/dns/kubernetes/object/informer.go
index dee2da0..c5158dd 100644
--- a/osbase/net/dns/kubernetes/object/informer.go
+++ b/osbase/net/dns/kubernetes/object/informer.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package object
 
 // Taken and modified from the Kubernetes plugin of CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/kubernetes/object/informer_test.go b/osbase/net/dns/kubernetes/object/informer_test.go
index 68face5..18c321c 100644
--- a/osbase/net/dns/kubernetes/object/informer_test.go
+++ b/osbase/net/dns/kubernetes/object/informer_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package object
 
 // Taken and modified from the Kubernetes plugin of CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/kubernetes/object/namespace.go b/osbase/net/dns/kubernetes/object/namespace.go
index f7e7e56..dc78fac 100644
--- a/osbase/net/dns/kubernetes/object/namespace.go
+++ b/osbase/net/dns/kubernetes/object/namespace.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package object
 
 // Taken and modified from the Kubernetes plugin of CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/kubernetes/object/object.go b/osbase/net/dns/kubernetes/object/object.go
index 05724fc..b9f77d5 100644
--- a/osbase/net/dns/kubernetes/object/object.go
+++ b/osbase/net/dns/kubernetes/object/object.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package object holds functions that convert the objects from the k8s API in
 // to a more memory efficient structures.
 //
diff --git a/osbase/net/dns/kubernetes/object/service.go b/osbase/net/dns/kubernetes/object/service.go
index 5a6ca77..705493e 100644
--- a/osbase/net/dns/kubernetes/object/service.go
+++ b/osbase/net/dns/kubernetes/object/service.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package object
 
 // Taken and modified from the Kubernetes plugin of CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/metrics.go b/osbase/net/dns/metrics.go
index 13d046a..81789dd 100644
--- a/osbase/net/dns/metrics.go
+++ b/osbase/net/dns/metrics.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package dns
 
 import (
diff --git a/osbase/net/dns/name.go b/osbase/net/dns/name.go
index 9769d7e..0d681cc 100644
--- a/osbase/net/dns/name.go
+++ b/osbase/net/dns/name.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package dns
 
 import (
diff --git a/osbase/net/dns/name_test.go b/osbase/net/dns/name_test.go
index fab7bba..5a87d1d 100644
--- a/osbase/net/dns/name_test.go
+++ b/osbase/net/dns/name_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package dns
 
 import (
diff --git a/osbase/net/dns/test/server.go b/osbase/net/dns/test/server.go
index a877820..ddc1722 100644
--- a/osbase/net/dns/test/server.go
+++ b/osbase/net/dns/test/server.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package test
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/test/server_test.go b/osbase/net/dns/test/server_test.go
index ea60845..a96e513 100644
--- a/osbase/net/dns/test/server_test.go
+++ b/osbase/net/dns/test/server_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package test
 
 // Taken and modified from CoreDNS, under Apache 2.0.
diff --git a/osbase/net/dns/testhelpers.go b/osbase/net/dns/testhelpers.go
index b8943fd..56d3b70 100644
--- a/osbase/net/dns/testhelpers.go
+++ b/osbase/net/dns/testhelpers.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package dns
 
 import (
diff --git a/osbase/net/dump/cli/main.go b/osbase/net/dump/cli/main.go
index c2de81a..4ecfef6 100644
--- a/osbase/net/dump/cli/main.go
+++ b/osbase/net/dump/cli/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package main
 
 import (
diff --git a/osbase/net/dump/hwaddr_compat.go b/osbase/net/dump/hwaddr_compat.go
index 07067bf..7c952a5 100644
--- a/osbase/net/dump/hwaddr_compat.go
+++ b/osbase/net/dump/hwaddr_compat.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package netdump
 
 import (
diff --git a/osbase/net/dump/netdump.go b/osbase/net/dump/netdump.go
index d9586ed..318343e 100644
--- a/osbase/net/dump/netdump.go
+++ b/osbase/net/dump/netdump.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package netdump
 
 import (
diff --git a/osbase/net/proto/gomod-generated-placeholder.go b/osbase/net/proto/gomod-generated-placeholder.go
index 92256db..5805fe0 100644
--- a/osbase/net/proto/gomod-generated-placeholder.go
+++ b/osbase/net/proto/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proto
diff --git a/osbase/nvme/cmd_linux.go b/osbase/nvme/cmd_linux.go
index 96054ff..0fd45dd 100644
--- a/osbase/nvme/cmd_linux.go
+++ b/osbase/nvme/cmd_linux.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 //go:build linux
 
 package nvme
diff --git a/osbase/nvme/cmd_unsupported.go b/osbase/nvme/cmd_unsupported.go
index 747a33d..cd2ab08 100644
--- a/osbase/nvme/cmd_unsupported.go
+++ b/osbase/nvme/cmd_unsupported.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 //go:build !linux
 
 package nvme
diff --git a/osbase/nvme/error.go b/osbase/nvme/error.go
index 8c4a207..a2a60d0 100644
--- a/osbase/nvme/error.go
+++ b/osbase/nvme/error.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package nvme
 
 import "fmt"
diff --git a/osbase/nvme/format.go b/osbase/nvme/format.go
index 8bde44a..703daad 100644
--- a/osbase/nvme/format.go
+++ b/osbase/nvme/format.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package nvme
 
 // SecureEraseType specifices what type of secure erase should be performed by
diff --git a/osbase/nvme/health.go b/osbase/nvme/health.go
index 775742f..929c307 100644
--- a/osbase/nvme/health.go
+++ b/osbase/nvme/health.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package nvme
 
 import (
diff --git a/osbase/nvme/identify.go b/osbase/nvme/identify.go
index 218d089..8e15a3f 100644
--- a/osbase/nvme/identify.go
+++ b/osbase/nvme/identify.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package nvme
 
 import (
diff --git a/osbase/nvme/nvme.go b/osbase/nvme/nvme.go
index f46546d..f8573e2 100644
--- a/osbase/nvme/nvme.go
+++ b/osbase/nvme/nvme.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package nvme provides methods and data structures for issuing commands to
 // device speaking the NVMe protocol.
 // This package is written against the NVMe Specification Revision 1.3 and
diff --git a/osbase/nvme/selftest.go b/osbase/nvme/selftest.go
index 8f46995..ad2bb9b 100644
--- a/osbase/nvme/selftest.go
+++ b/osbase/nvme/selftest.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package nvme
 
 import (
diff --git a/osbase/nvme/struct_test.go b/osbase/nvme/struct_test.go
index b26a48e..9741664 100644
--- a/osbase/nvme/struct_test.go
+++ b/osbase/nvme/struct_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package nvme
 
 import (
diff --git a/osbase/nvme/uint128le.go b/osbase/nvme/uint128le.go
index a25adb7..3b98f7d 100644
--- a/osbase/nvme/uint128le.go
+++ b/osbase/nvme/uint128le.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package nvme
 
 import (
diff --git a/osbase/pki/ca.go b/osbase/pki/ca.go
index b8c2aed..ff6d639 100644
--- a/osbase/pki/ca.go
+++ b/osbase/pki/ca.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package pki
 
diff --git a/osbase/pki/certificate.go b/osbase/pki/certificate.go
index 93e6ed9..e999003 100644
--- a/osbase/pki/certificate.go
+++ b/osbase/pki/certificate.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // package pki implements an x509 PKI (Public Key Infrastructure) system backed
 // on etcd.
diff --git a/osbase/pki/certificate_test.go b/osbase/pki/certificate_test.go
index e751c54..10dce40 100644
--- a/osbase/pki/certificate_test.go
+++ b/osbase/pki/certificate_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package pki
 
 import (
diff --git a/osbase/pki/crl.go b/osbase/pki/crl.go
index 40118aa..c53054f 100644
--- a/osbase/pki/crl.go
+++ b/osbase/pki/crl.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package pki
 
 import (
diff --git a/osbase/pki/crl_test.go b/osbase/pki/crl_test.go
index e47eab9..d2becf7 100644
--- a/osbase/pki/crl_test.go
+++ b/osbase/pki/crl_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package pki
 
 import (
diff --git a/osbase/pki/x509.go b/osbase/pki/x509.go
index 40e7a08..2db1b19 100644
--- a/osbase/pki/x509.go
+++ b/osbase/pki/x509.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package pki
 
diff --git a/osbase/pstore/pstore.go b/osbase/pstore/pstore.go
index 610f565..62d0085 100644
--- a/osbase/pstore/pstore.go
+++ b/osbase/pstore/pstore.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // The pstore package provides functions for interfacing with the Linux kernel's
 // pstore (persistent storage) system.
 // Documentation for pstore itself can be found at
diff --git a/osbase/pstore/pstore_test.go b/osbase/pstore/pstore_test.go
index 0190f04..d4024e6 100644
--- a/osbase/pstore/pstore_test.go
+++ b/osbase/pstore/pstore_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package pstore
 
 import (
diff --git a/osbase/scsi/dev_block.go b/osbase/scsi/dev_block.go
index fba0512..3d1c5d2 100644
--- a/osbase/scsi/dev_block.go
+++ b/osbase/scsi/dev_block.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package scsi
 
 // Written against SBC-4
diff --git a/osbase/scsi/health.go b/osbase/scsi/health.go
index 724fd75..91b84c3 100644
--- a/osbase/scsi/health.go
+++ b/osbase/scsi/health.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package scsi
 
 import "errors"
diff --git a/osbase/scsi/inquiry.go b/osbase/scsi/inquiry.go
index 819b011..73164c7 100644
--- a/osbase/scsi/inquiry.go
+++ b/osbase/scsi/inquiry.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package scsi
 
 import (
diff --git a/osbase/scsi/log.go b/osbase/scsi/log.go
index 3aecd5e..86d23fa 100644
--- a/osbase/scsi/log.go
+++ b/osbase/scsi/log.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package scsi
 
 import (
diff --git a/osbase/scsi/scsi.go b/osbase/scsi/scsi.go
index f09bf44..fa8dab9 100644
--- a/osbase/scsi/scsi.go
+++ b/osbase/scsi/scsi.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // INCITS 502 Revision 19 / SPC-5 R19
 package scsi
 
diff --git a/osbase/scsi/scsi_linux.go b/osbase/scsi/scsi_linux.go
index 21af01d..907d643 100644
--- a/osbase/scsi/scsi_linux.go
+++ b/osbase/scsi/scsi_linux.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 //go:build linux
 
 package scsi
diff --git a/osbase/scsi/scsi_linux_defs1.go b/osbase/scsi/scsi_linux_defs1.go
index e2e410d..a963e53 100644
--- a/osbase/scsi/scsi_linux_defs1.go
+++ b/osbase/scsi/scsi_linux_defs1.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 //go:build ignore
 
 package scsi
diff --git a/osbase/scsi/sensekeydata.go b/osbase/scsi/sensekeydata.go
index 37a31c2..7326e11 100644
--- a/osbase/scsi/sensekeydata.go
+++ b/osbase/scsi/sensekeydata.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package scsi
 
 // Generated from Table F.1
diff --git a/osbase/smbios/smbios.go b/osbase/smbios/smbios.go
index e9bcfc3..4f43e50 100644
--- a/osbase/smbios/smbios.go
+++ b/osbase/smbios/smbios.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package smbios implements parsing of SMBIOS data structures.
 // SMBIOS data is commonly populated by platform firmware to convey various
 // metadata (including name, vendor, slots and serial numbers) about the
diff --git a/osbase/smbios/structures.go b/osbase/smbios/structures.go
index 4c75709..f8b5312 100644
--- a/osbase/smbios/structures.go
+++ b/osbase/smbios/structures.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package smbios
 
 import (
diff --git a/osbase/socksproxy/protocol.go b/osbase/socksproxy/protocol.go
index d920099..0d5d133 100644
--- a/osbase/socksproxy/protocol.go
+++ b/osbase/socksproxy/protocol.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package socksproxy
 
 import (
diff --git a/osbase/socksproxy/socksproxy.go b/osbase/socksproxy/socksproxy.go
index 2dd0c35..47a398c 100644
--- a/osbase/socksproxy/socksproxy.go
+++ b/osbase/socksproxy/socksproxy.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package socksproxy implements a limited subset of the SOCKS 5 (RFC1928)
 // protocol in the form of a pluggable Proxy object. However, this
 // implementation is _not_ RFC1928 compliant, as it does not implement GSSAPI
diff --git a/osbase/socksproxy/socksproxy_test.go b/osbase/socksproxy/socksproxy_test.go
index 0132ab3..2c49ebd 100644
--- a/osbase/socksproxy/socksproxy_test.go
+++ b/osbase/socksproxy/socksproxy_test.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package socksproxy
 
 import (
diff --git a/osbase/supervisor/supervisor.go b/osbase/supervisor/supervisor.go
index b11c1a9..45c5996 100644
--- a/osbase/supervisor/supervisor.go
+++ b/osbase/supervisor/supervisor.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package supervisor
 
diff --git a/osbase/supervisor/supervisor_metrics.go b/osbase/supervisor/supervisor_metrics.go
index d83b7a7..30dac3b 100644
--- a/osbase/supervisor/supervisor_metrics.go
+++ b/osbase/supervisor/supervisor_metrics.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package supervisor
 
 import (
diff --git a/osbase/supervisor/supervisor_metrics_prometheus.go b/osbase/supervisor/supervisor_metrics_prometheus.go
index 9ae18a8..87f3104 100644
--- a/osbase/supervisor/supervisor_metrics_prometheus.go
+++ b/osbase/supervisor/supervisor_metrics_prometheus.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package supervisor
 
 import (
diff --git a/osbase/supervisor/supervisor_node.go b/osbase/supervisor/supervisor_node.go
index 4f4d180..6ca576b 100644
--- a/osbase/supervisor/supervisor_node.go
+++ b/osbase/supervisor/supervisor_node.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package supervisor
 
diff --git a/osbase/supervisor/supervisor_processor.go b/osbase/supervisor/supervisor_processor.go
index a65a364..832ec73 100644
--- a/osbase/supervisor/supervisor_processor.go
+++ b/osbase/supervisor/supervisor_processor.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package supervisor
 
diff --git a/osbase/supervisor/supervisor_support.go b/osbase/supervisor/supervisor_support.go
index c554c08..5163443 100644
--- a/osbase/supervisor/supervisor_support.go
+++ b/osbase/supervisor/supervisor_support.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package supervisor
 
diff --git a/osbase/supervisor/supervisor_test.go b/osbase/supervisor/supervisor_test.go
index e426c8b..7f4fb2a 100644
--- a/osbase/supervisor/supervisor_test.go
+++ b/osbase/supervisor/supervisor_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package supervisor
 
diff --git a/osbase/supervisor/supervisor_testhelpers.go b/osbase/supervisor/supervisor_testhelpers.go
index cca93ff..fd1f91b 100644
--- a/osbase/supervisor/supervisor_testhelpers.go
+++ b/osbase/supervisor/supervisor_testhelpers.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package supervisor
 
diff --git a/osbase/sysctl/options.go b/osbase/sysctl/options.go
index b5e1e36..583a1dc 100644
--- a/osbase/sysctl/options.go
+++ b/osbase/sysctl/options.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package sysctl
 
 import (
diff --git a/osbase/sysfs/block.go b/osbase/sysfs/block.go
index c7cbbd7..c32b407 100644
--- a/osbase/sysfs/block.go
+++ b/osbase/sysfs/block.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Implementation included in this file was written with the aim of easing
 // integration with the interface exposed at /sys/class/block. It assumes sysfs
diff --git a/osbase/sysfs/uevents.go b/osbase/sysfs/uevents.go
index fed4319..3fc3fd7 100644
--- a/osbase/sysfs/uevents.go
+++ b/osbase/sysfs/uevents.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package sysfs
 
diff --git a/osbase/test/ktest/init/main.go b/osbase/test/ktest/init/main.go
index 16ffa29..caeb61b 100644
--- a/osbase/test/ktest/init/main.go
+++ b/osbase/test/ktest/init/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // ktestinit is an init designed to run inside a lightweight VM for running
 // tests in there.  It performs basic platform initialization like mounting
diff --git a/osbase/test/ktest/main.go b/osbase/test/ktest/main.go
index 7d76bc5..9f17f68 100644
--- a/osbase/test/ktest/main.go
+++ b/osbase/test/ktest/main.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // ktest is a test launcher for running tests inside a custom kernel and passes
 // the results back out.
diff --git a/osbase/test/ktest/run_ktest.sh b/osbase/test/ktest/run_ktest.sh
index 02920a1..3607b85 100755
--- a/osbase/test/ktest/run_ktest.sh
+++ b/osbase/test/ktest/run_ktest.sh
@@ -1,2 +1,7 @@
 #!/bin/bash
+#
+# Copyright The Monogon Project Authors.
+# SPDX-License-Identifier: Apache-2.0
+#
+
 exec "$1" -initrd-path "$2" -kernel-path "$3" -cmdline "$4"
\ No newline at end of file
diff --git a/osbase/test/launch/launch.go b/osbase/test/launch/launch.go
index df84e7d..d38df79 100644
--- a/osbase/test/launch/launch.go
+++ b/osbase/test/launch/launch.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // launch implements test harnesses for running qemu VMs from tests.
 package launch
diff --git a/osbase/test/launch/log.go b/osbase/test/launch/log.go
index 2637e24..4cddd61 100644
--- a/osbase/test/launch/log.go
+++ b/osbase/test/launch/log.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package launch
 
 import (
diff --git a/osbase/tpm/credactivation_compat.go b/osbase/tpm/credactivation_compat.go
index 2c5ee3b..5d54ee3 100644
--- a/osbase/tpm/credactivation_compat.go
+++ b/osbase/tpm/credactivation_compat.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package tpm
 
diff --git a/osbase/tpm/eventlog/compat.go b/osbase/tpm/eventlog/compat.go
index f83972b..c2210d2 100644
--- a/osbase/tpm/eventlog/compat.go
+++ b/osbase/tpm/eventlog/compat.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package eventlog
 
diff --git a/osbase/tpm/eventlog/eventlog.go b/osbase/tpm/eventlog/eventlog.go
index 2166e54..39d076b 100644
--- a/osbase/tpm/eventlog/eventlog.go
+++ b/osbase/tpm/eventlog/eventlog.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Taken and pruned from go-attestation revision
 // 2453c8f39a4ff46009f6a9db6fb7c6cca789d9a1 under Apache 2.0
diff --git a/osbase/tpm/eventlog/internal/events.go b/osbase/tpm/eventlog/internal/events.go
index 23b00c2..fdc18d5 100644
--- a/osbase/tpm/eventlog/internal/events.go
+++ b/osbase/tpm/eventlog/internal/events.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Taken from go-attestation under Apache 2.0
 package internal
diff --git a/osbase/tpm/eventlog/secureboot.go b/osbase/tpm/eventlog/secureboot.go
index 1e870ad..4ce5696 100644
--- a/osbase/tpm/eventlog/secureboot.go
+++ b/osbase/tpm/eventlog/secureboot.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // Taken and pruned from go-attestation under Apache 2.0
 package eventlog
diff --git a/osbase/tpm/proto/gomod-generated-placeholder.go b/osbase/tpm/proto/gomod-generated-placeholder.go
index 92256db..5805fe0 100644
--- a/osbase/tpm/proto/gomod-generated-placeholder.go
+++ b/osbase/tpm/proto/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package proto
diff --git a/osbase/tpm/tpm.go b/osbase/tpm/tpm.go
index f664c75..f15517d 100644
--- a/osbase/tpm/tpm.go
+++ b/osbase/tpm/tpm.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package tpm
 
diff --git a/osbase/verity/encoder.go b/osbase/verity/encoder.go
index 1b7913b..5a968cd 100644
--- a/osbase/verity/encoder.go
+++ b/osbase/verity/encoder.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 // This package implements the minimum of functionality needed to generate and
 // map dm-verity images. It's provided in order to avoid a perceived higher
diff --git a/osbase/verity/encoder_test.go b/osbase/verity/encoder_test.go
index 31e765c..012cb27 100644
--- a/osbase/verity/encoder_test.go
+++ b/osbase/verity/encoder_test.go
@@ -1,18 +1,5 @@
-// Copyright 2020 The Monogon Project Authors.
-//
+// Copyright The Monogon Project Authors.
 // SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
 package verity
 
diff --git a/osbase/watchdog/watchdog.go b/osbase/watchdog/watchdog.go
index d9a14bf..5321c0d 100644
--- a/osbase/watchdog/watchdog.go
+++ b/osbase/watchdog/watchdog.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package watchdog provides access to hardware watchdogs. These can be used to
 // automatically reset/reboot a system if they are no longer pinged.
 package watchdog
diff --git a/third_party/sandboxroot/tools.go b/third_party/sandboxroot/tools.go
index 578e592..8ca9f15 100644
--- a/third_party/sandboxroot/tools.go
+++ b/third_party/sandboxroot/tools.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 //go:build tools
 // +build tools
 
diff --git a/version/spec/gomod-generated-placeholder.go b/version/spec/gomod-generated-placeholder.go
index f09cd57..ca2145c 100644
--- a/version/spec/gomod-generated-placeholder.go
+++ b/version/spec/gomod-generated-placeholder.go
@@ -1 +1,4 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 package spec
diff --git a/version/stampgo/main.go b/version/stampgo/main.go
index 164e08a..8cb590e 100644
--- a/version/stampgo/main.go
+++ b/version/stampgo/main.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package main implements 'stampgo', a tool to convert build status data into a
 // version.spec.Version proto, which is then embedded into a Go source file.
 package main
diff --git a/version/version.go b/version/version.go
index 668e0fa..999854e 100644
--- a/version/version.go
+++ b/version/version.go
@@ -1,3 +1,6 @@
+// Copyright The Monogon Project Authors.
+// SPDX-License-Identifier: Apache-2.0
+
 // Package version is a companion library to the //version/spec proto.
 package version