diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 000000000..c19c8822e
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,19 @@
+# This is the list of Vello's significant contributors.
+#
+# This does not necessarily list everyone who has contributed code,
+# especially since many employees of one corporation may be contributing.
+# To see the full list of contributors, see the revision history in
+# source control.
+Google LLC
+Raph Levien
+Chad Brokaw
+Arman Uguray
+Elias Naur
+Daniel McNab
+Spencer C. Imbleau
+Bruce Mitchener
+Tatsuyuki Ishi
+Markus Siglreithmaier
+Rose Hudson
+Brian Merchant
+Matt Rice
diff --git a/README.md b/README.md
index 0862c3bfd..04dcf00df 100644
--- a/README.md
+++ b/README.md
@@ -206,8 +206,9 @@ Licensed under either of
at your option.
-In addition, all files in the [`shader`](shader) directory and subdirectories thereof are alternatively
-licensed under the Unlicense ([shader/UNLICENSE](shader/UNLICENSE) or ).
+In addition, all files in the [`shader`](shader) and [`src/cpu_shader`](src/cpu_shader)
+directories and subdirectories thereof are alternatively licensed under
+the Unlicense ([shader/UNLICENSE](shader/UNLICENSE) or ).
For clarity, these files are also licensed under either of the above licenses.
The intent is for this research to be used in as broad a context as possible.
diff --git a/crates/encoding/src/binning.rs b/crates/encoding/src/binning.rs
index bd76fb8da..6c1de3691 100644
--- a/crates/encoding/src/binning.rs
+++ b/crates/encoding/src/binning.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use bytemuck::{Pod, Zeroable};
diff --git a/crates/encoding/src/clip.rs b/crates/encoding/src/clip.rs
index 1a68fbab6..c0cec54d3 100644
--- a/crates/encoding/src/clip.rs
+++ b/crates/encoding/src/clip.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use bytemuck::{Pod, Zeroable};
diff --git a/crates/encoding/src/config.rs b/crates/encoding/src/config.rs
index 30fe8d7ee..37b1906ac 100644
--- a/crates/encoding/src/config.rs
+++ b/crates/encoding/src/config.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use crate::SegmentCount;
diff --git a/crates/encoding/src/draw.rs b/crates/encoding/src/draw.rs
index f760ca1c9..66e8bf069 100644
--- a/crates/encoding/src/draw.rs
+++ b/crates/encoding/src/draw.rs
@@ -1,4 +1,4 @@
-// Copyright 2022 The Vello authors
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use bytemuck::{Pod, Zeroable};
diff --git a/crates/encoding/src/encoding.rs b/crates/encoding/src/encoding.rs
index c9c7677b7..0ac663b9a 100644
--- a/crates/encoding/src/encoding.rs
+++ b/crates/encoding/src/encoding.rs
@@ -1,4 +1,4 @@
-// Copyright 2022 The Vello authors
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use super::{DrawColor, DrawTag, PathEncoder, PathTag, Style, Transform};
diff --git a/crates/encoding/src/glyph.rs b/crates/encoding/src/glyph.rs
index 116f02dbb..359260e0a 100644
--- a/crates/encoding/src/glyph.rs
+++ b/crates/encoding/src/glyph.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use std::ops::Range;
diff --git a/crates/encoding/src/glyph_cache.rs b/crates/encoding/src/glyph_cache.rs
index 925160e59..b83fd0a79 100644
--- a/crates/encoding/src/glyph_cache.rs
+++ b/crates/encoding/src/glyph_cache.rs
@@ -1,4 +1,4 @@
-// Copyright 2022 The Vello authors
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use std::collections::HashMap;
diff --git a/crates/encoding/src/image_cache.rs b/crates/encoding/src/image_cache.rs
index 78f5cf733..f581dbb5d 100644
--- a/crates/encoding/src/image_cache.rs
+++ b/crates/encoding/src/image_cache.rs
@@ -1,4 +1,4 @@
-// Copyright 2022 The Vello authors
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use guillotiere::{size2, AtlasAllocator};
diff --git a/crates/encoding/src/lib.rs b/crates/encoding/src/lib.rs
index 0c56fa5b8..dbf6ad18c 100644
--- a/crates/encoding/src/lib.rs
+++ b/crates/encoding/src/lib.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
//! Raw scene encoding.
diff --git a/crates/encoding/src/mask.rs b/crates/encoding/src/mask.rs
index 0d0ce78b3..eb5e9c9eb 100644
--- a/crates/encoding/src/mask.rs
+++ b/crates/encoding/src/mask.rs
@@ -1,4 +1,4 @@
-// Copyright 2022 The Vello authors
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
//! Create a lookup table of half-plane sample masks.
diff --git a/crates/encoding/src/math.rs b/crates/encoding/src/math.rs
index bb3224ddf..212b50fb5 100644
--- a/crates/encoding/src/math.rs
+++ b/crates/encoding/src/math.rs
@@ -1,4 +1,4 @@
-// Copyright 2022 The Vello authors
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use std::ops::Mul;
diff --git a/crates/encoding/src/monoid.rs b/crates/encoding/src/monoid.rs
index 29768b1ed..7ca48bd38 100644
--- a/crates/encoding/src/monoid.rs
+++ b/crates/encoding/src/monoid.rs
@@ -1,4 +1,4 @@
-// Copyright 2022 The Vello authors
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
/// Interface for a monoid. The default value must be the identity of
diff --git a/crates/encoding/src/path.rs b/crates/encoding/src/path.rs
index 3eb086804..2ef59d02b 100644
--- a/crates/encoding/src/path.rs
+++ b/crates/encoding/src/path.rs
@@ -1,4 +1,4 @@
-// Copyright 2022 The Vello authors
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use bytemuck::{Pod, Zeroable};
diff --git a/crates/encoding/src/ramp_cache.rs b/crates/encoding/src/ramp_cache.rs
index 8b0eaa7d1..957f98b02 100644
--- a/crates/encoding/src/ramp_cache.rs
+++ b/crates/encoding/src/ramp_cache.rs
@@ -1,4 +1,4 @@
-// Copyright 2022 The Vello authors
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use std::collections::HashMap;
diff --git a/crates/encoding/src/resolve.rs b/crates/encoding/src/resolve.rs
index 98abc3b83..1363f7811 100644
--- a/crates/encoding/src/resolve.rs
+++ b/crates/encoding/src/resolve.rs
@@ -1,4 +1,4 @@
-// Copyright 2022 The Vello authors
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use bytemuck::{Pod, Zeroable};
diff --git a/crates/shaders/build.rs b/crates/shaders/build.rs
index 78ba41b7b..d19229b4a 100644
--- a/crates/shaders/build.rs
+++ b/crates/shaders/build.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
#[path = "src/compile/mod.rs"]
diff --git a/crates/shaders/src/compile/mod.rs b/crates/shaders/src/compile/mod.rs
index 11363f2e7..8cf0f06a6 100644
--- a/crates/shaders/src/compile/mod.rs
+++ b/crates/shaders/src/compile/mod.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use {
diff --git a/crates/shaders/src/compile/msl.rs b/crates/shaders/src/compile/msl.rs
index 4c7d2ccdd..135dce818 100644
--- a/crates/shaders/src/compile/msl.rs
+++ b/crates/shaders/src/compile/msl.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use naga::back::msl as naga_msl;
diff --git a/crates/shaders/src/compile/permutations.rs b/crates/shaders/src/compile/permutations.rs
index f85f66757..2383b917a 100644
--- a/crates/shaders/src/compile/permutations.rs
+++ b/crates/shaders/src/compile/permutations.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use std::collections::HashMap;
diff --git a/crates/shaders/src/compile/preprocess.rs b/crates/shaders/src/compile/preprocess.rs
index 4ff666444..3c925a6c3 100644
--- a/crates/shaders/src/compile/preprocess.rs
+++ b/crates/shaders/src/compile/preprocess.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use std::{
diff --git a/crates/shaders/src/lib.rs b/crates/shaders/src/lib.rs
index e596f688d..a57037ac1 100644
--- a/crates/shaders/src/lib.rs
+++ b/crates/shaders/src/lib.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
#![warn(clippy::doc_markdown, clippy::semicolon_if_nothing_returned)]
diff --git a/crates/shaders/src/types.rs b/crates/shaders/src/types.rs
index 45c639ad4..9c533d415 100644
--- a/crates/shaders/src/types.rs
+++ b/crates/shaders/src/types.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
//! Types that are shared between the main crate and build.
diff --git a/crates/tests/build.rs b/crates/tests/build.rs
index b26a7b265..6e81f57f1 100644
--- a/crates/tests/build.rs
+++ b/crates/tests/build.rs
@@ -1,3 +1,6 @@
+// Copyright 2024 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
use std::env;
fn main() {
diff --git a/crates/tests/src/lib.rs b/crates/tests/src/lib.rs
index 3cceefcc6..cb6eb7685 100644
--- a/crates/tests/src/lib.rs
+++ b/crates/tests/src/lib.rs
@@ -1,3 +1,6 @@
+// Copyright 2024 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
use std::{env, fs::File, num::NonZeroUsize, path::Path, sync::Arc};
use anyhow::{anyhow, bail, Result};
diff --git a/crates/tests/tests/smoke.rs b/crates/tests/tests/smoke.rs
index 6395100b9..17920f346 100644
--- a/crates/tests/tests/smoke.rs
+++ b/crates/tests/tests/smoke.rs
@@ -1,3 +1,6 @@
+// Copyright 2024 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
use vello::{
kurbo::{Affine, Rect},
peniko::{Brush, Color, Format},
diff --git a/examples/headless/src/main.rs b/examples/headless/src/main.rs
index add53ba83..d0c7925ac 100644
--- a/examples/headless/src/main.rs
+++ b/examples/headless/src/main.rs
@@ -1,3 +1,6 @@
+// Copyright 2023 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
use std::{
fs::File,
num::NonZeroUsize,
diff --git a/examples/run_wasm/src/main.rs b/examples/run_wasm/src/main.rs
index 84868c6c3..01b27b0be 100644
--- a/examples/run_wasm/src/main.rs
+++ b/examples/run_wasm/src/main.rs
@@ -1,3 +1,6 @@
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
/// Use [cargo-run-wasm](https://github.com/rukai/cargo-run-wasm) to build an example for web
///
/// Usage:
diff --git a/examples/scenes/src/download.rs b/examples/scenes/src/download.rs
index a9c5ced54..2a0b69ccb 100644
--- a/examples/scenes/src/download.rs
+++ b/examples/scenes/src/download.rs
@@ -1,3 +1,6 @@
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
use std::{
io::Seek,
path::{Path, PathBuf},
diff --git a/examples/scenes/src/download/default_downloads.rs b/examples/scenes/src/download/default_downloads.rs
index c68407ff8..7a22a363f 100644
--- a/examples/scenes/src/download/default_downloads.rs
+++ b/examples/scenes/src/download/default_downloads.rs
@@ -1,3 +1,6 @@
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
// This content cannot be formatted by rustfmt because of the long strings, so it's in its own file
use super::{BuiltinSvgProps, SVGDownload};
diff --git a/examples/scenes/src/images.rs b/examples/scenes/src/images.rs
index 27b897845..83f43c46e 100644
--- a/examples/scenes/src/images.rs
+++ b/examples/scenes/src/images.rs
@@ -1,3 +1,6 @@
+// Copyright 2023 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
use std::collections::HashMap;
use std::path::{Path, PathBuf};
use std::sync::Arc;
diff --git a/examples/scenes/src/lib.rs b/examples/scenes/src/lib.rs
index b0974f533..ece27e2b1 100644
--- a/examples/scenes/src/lib.rs
+++ b/examples/scenes/src/lib.rs
@@ -1,3 +1,6 @@
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
#[cfg(not(target_arch = "wasm32"))]
pub mod download;
mod images;
diff --git a/examples/scenes/src/mmark.rs b/examples/scenes/src/mmark.rs
index 0648caa17..85f28e253 100644
--- a/examples/scenes/src/mmark.rs
+++ b/examples/scenes/src/mmark.rs
@@ -1,3 +1,6 @@
+// Copyright 2023 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
//! A benchmark based on MotionMark 1.2's path benchmark.
//! This is roughly comparable to:
//!
diff --git a/examples/scenes/src/simple_text.rs b/examples/scenes/src/simple_text.rs
index b10995274..c2e8078ae 100644
--- a/examples/scenes/src/simple_text.rs
+++ b/examples/scenes/src/simple_text.rs
@@ -1,18 +1,5 @@
-// Copyright 2022 The vello 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
-//
-// https://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.
-//
-// Also licensed under MIT license, at your choice.
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
use std::sync::Arc;
diff --git a/examples/scenes/src/svg.rs b/examples/scenes/src/svg.rs
index 3155bc9d8..9bc47d67a 100644
--- a/examples/scenes/src/svg.rs
+++ b/examples/scenes/src/svg.rs
@@ -1,3 +1,6 @@
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
use std::{
fs::read_dir,
path::{Path, PathBuf},
diff --git a/examples/scenes/src/test_scenes.rs b/examples/scenes/src/test_scenes.rs
index 3b772a0a6..c4e60aab6 100644
--- a/examples/scenes/src/test_scenes.rs
+++ b/examples/scenes/src/test_scenes.rs
@@ -1,4 +1,4 @@
-// Copyright 2022 The Vello authors
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use crate::{ExampleScene, SceneConfig, SceneParams, SceneSet};
diff --git a/examples/with_bevy/src/main.rs b/examples/with_bevy/src/main.rs
index b5c310e46..9e4d8ae0c 100644
--- a/examples/with_bevy/src/main.rs
+++ b/examples/with_bevy/src/main.rs
@@ -1,3 +1,6 @@
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
use std::num::NonZeroUsize;
use bevy::render::{Render, RenderSet};
diff --git a/examples/with_winit/src/hot_reload.rs b/examples/with_winit/src/hot_reload.rs
index dbfc6f480..e65f920dd 100644
--- a/examples/with_winit/src/hot_reload.rs
+++ b/examples/with_winit/src/hot_reload.rs
@@ -1,3 +1,6 @@
+// Copyright 2023 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
use std::{path::Path, time::Duration};
use anyhow::Result;
diff --git a/examples/with_winit/src/lib.rs b/examples/with_winit/src/lib.rs
index 2fc4dd731..1b1e1ce93 100644
--- a/examples/with_winit/src/lib.rs
+++ b/examples/with_winit/src/lib.rs
@@ -1,18 +1,5 @@
-// Copyright 2022 Google LLC
-//
-// 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
-//
-// https://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.
-//
-// Also licensed under MIT license, at your choice.
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
use instant::{Duration, Instant};
use std::num::NonZeroUsize;
diff --git a/examples/with_winit/src/main.rs b/examples/with_winit/src/main.rs
index 9ca2e3c68..1d498060d 100644
--- a/examples/with_winit/src/main.rs
+++ b/examples/with_winit/src/main.rs
@@ -1,3 +1,6 @@
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
use anyhow::Result;
fn main() -> Result<()> {
diff --git a/examples/with_winit/src/multi_touch.rs b/examples/with_winit/src/multi_touch.rs
index 14d5bcb79..f7be4abc9 100644
--- a/examples/with_winit/src/multi_touch.rs
+++ b/examples/with_winit/src/multi_touch.rs
@@ -1,3 +1,6 @@
+// Copyright 2023 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
/// Adapted from https://github.com/emilk/egui/blob/212656f3fc6b931b21eaad401e5cec2b0da93baa/crates/egui/src/input_state/touch_state.rs
use std::{collections::BTreeMap, fmt::Debug};
diff --git a/examples/with_winit/src/stats.rs b/examples/with_winit/src/stats.rs
index fe7b04889..72b433cf8 100644
--- a/examples/with_winit/src/stats.rs
+++ b/examples/with_winit/src/stats.rs
@@ -1,18 +1,5 @@
-// Copyright 2023 Google LLC
-//
-// 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
-//
-// https://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.
-//
-// Also licensed under MIT license, at your choice.
+// Copyright 2023 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
use scenes::SimpleText;
use std::{collections::VecDeque, time::Duration};
diff --git a/integrations/vello_svg/src/lib.rs b/integrations/vello_svg/src/lib.rs
index 37bb2fd27..d5d5c58fa 100644
--- a/integrations/vello_svg/src/lib.rs
+++ b/integrations/vello_svg/src/lib.rs
@@ -1,3 +1,6 @@
+// Copyright 2023 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
//! Append a [`usvg::Tree`] to a Vello [`Scene`]
//!
//! This currently lacks support for a [number of important](crate#unsupported-features) SVG features.
diff --git a/shader/backdrop.wgsl b/shader/backdrop.wgsl
index 0a5c59927..acf97aa2f 100644
--- a/shader/backdrop.wgsl
+++ b/shader/backdrop.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Note: this is the non-atomic version
diff --git a/shader/backdrop_dyn.wgsl b/shader/backdrop_dyn.wgsl
index 085f44c59..2664f6c37 100644
--- a/shader/backdrop_dyn.wgsl
+++ b/shader/backdrop_dyn.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Prefix sum for dynamically allocated backdrops
diff --git a/shader/bbox_clear.wgsl b/shader/bbox_clear.wgsl
index b2b9f93b3..067d7c2dd 100644
--- a/shader/bbox_clear.wgsl
+++ b/shader/bbox_clear.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
#import config
diff --git a/shader/binning.wgsl b/shader/binning.wgsl
index c46026dc8..daeb6f095 100644
--- a/shader/binning.wgsl
+++ b/shader/binning.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// The binning stage
diff --git a/shader/clip_leaf.wgsl b/shader/clip_leaf.wgsl
index 95bc94715..e947177d6 100644
--- a/shader/clip_leaf.wgsl
+++ b/shader/clip_leaf.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
#import config
diff --git a/shader/clip_reduce.wgsl b/shader/clip_reduce.wgsl
index 452505c22..bdbc0e989 100644
--- a/shader/clip_reduce.wgsl
+++ b/shader/clip_reduce.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
#import bbox
diff --git a/shader/coarse.wgsl b/shader/coarse.wgsl
index fcf543f43..2262e29ac 100644
--- a/shader/coarse.wgsl
+++ b/shader/coarse.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// The coarse rasterization stage.
diff --git a/shader/draw_leaf.wgsl b/shader/draw_leaf.wgsl
index bc5ac8a40..c738dcf6e 100644
--- a/shader/draw_leaf.wgsl
+++ b/shader/draw_leaf.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Finish prefix sum of drawtags, decode draw objects.
diff --git a/shader/draw_reduce.wgsl b/shader/draw_reduce.wgsl
index 051d8f84e..a39758bd3 100644
--- a/shader/draw_reduce.wgsl
+++ b/shader/draw_reduce.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
#import config
diff --git a/shader/fine.wgsl b/shader/fine.wgsl
index 9ad293dd9..f9fa09965 100644
--- a/shader/fine.wgsl
+++ b/shader/fine.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Fine rasterizer. This can run in simple (just path rendering) and full
diff --git a/shader/flatten.wgsl b/shader/flatten.wgsl
index 3d0b8aa66..65cb6545a 100644
--- a/shader/flatten.wgsl
+++ b/shader/flatten.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Flatten curves to lines
diff --git a/shader/path_count.wgsl b/shader/path_count.wgsl
index d0f970ddf..34913eb5a 100644
--- a/shader/path_count.wgsl
+++ b/shader/path_count.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Stage to compute counts of number of segments in each tile
diff --git a/shader/path_count_setup.wgsl b/shader/path_count_setup.wgsl
index 3715aa59b..92793590e 100644
--- a/shader/path_count_setup.wgsl
+++ b/shader/path_count_setup.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Set up dispatch size for path count stage.
diff --git a/shader/path_tiling.wgsl b/shader/path_tiling.wgsl
index 625b326f3..63f982b87 100644
--- a/shader/path_tiling.wgsl
+++ b/shader/path_tiling.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Write path segments
diff --git a/shader/path_tiling_setup.wgsl b/shader/path_tiling_setup.wgsl
index 466152a2b..6fc70c39d 100644
--- a/shader/path_tiling_setup.wgsl
+++ b/shader/path_tiling_setup.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Set up dispatch size for path tiling stage.
diff --git a/shader/pathtag_reduce.wgsl b/shader/pathtag_reduce.wgsl
index 3d00f4f69..ab6e10e98 100644
--- a/shader/pathtag_reduce.wgsl
+++ b/shader/pathtag_reduce.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
#import config
diff --git a/shader/pathtag_reduce2.wgsl b/shader/pathtag_reduce2.wgsl
index 59122becd..eb8621f0f 100644
--- a/shader/pathtag_reduce2.wgsl
+++ b/shader/pathtag_reduce2.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// This shader is the second stage of reduction for the pathtag
diff --git a/shader/pathtag_scan.wgsl b/shader/pathtag_scan.wgsl
index 0d8e9e5e4..27a34bdf7 100644
--- a/shader/pathtag_scan.wgsl
+++ b/shader/pathtag_scan.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
#import config
diff --git a/shader/pathtag_scan1.wgsl b/shader/pathtag_scan1.wgsl
index 13c31c57a..7f3b47659 100644
--- a/shader/pathtag_scan1.wgsl
+++ b/shader/pathtag_scan1.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// This shader computes the scan of reduced tag monoids given
diff --git a/shader/shared/bbox.wgsl b/shader/shared/bbox.wgsl
index a3e23040a..96b44229e 100644
--- a/shader/shared/bbox.wgsl
+++ b/shader/shared/bbox.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// The annotated bounding box for a path. It has been transformed,
diff --git a/shader/shared/blend.wgsl b/shader/shared/blend.wgsl
index e8ec3c75a..7a36f706c 100644
--- a/shader/shared/blend.wgsl
+++ b/shader/shared/blend.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Color mixing modes
diff --git a/shader/shared/bump.wgsl b/shader/shared/bump.wgsl
index 6c5789f15..48338f59f 100644
--- a/shader/shared/bump.wgsl
+++ b/shader/shared/bump.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Bitflags for each stage that can fail allocation.
diff --git a/shader/shared/clip.wgsl b/shader/shared/clip.wgsl
index a0a7a0e0c..b7d3a7a5b 100644
--- a/shader/shared/clip.wgsl
+++ b/shader/shared/clip.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
struct Bic {
diff --git a/shader/shared/config.wgsl b/shader/shared/config.wgsl
index c468f7a96..fe8580fd2 100644
--- a/shader/shared/config.wgsl
+++ b/shader/shared/config.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// This must be kept in sync with the struct in src/encoding/resolve.rs
diff --git a/shader/shared/cubic.wgsl b/shader/shared/cubic.wgsl
index 72292a821..158a4a36f 100644
--- a/shader/shared/cubic.wgsl
+++ b/shader/shared/cubic.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
struct Cubic {
diff --git a/shader/shared/drawtag.wgsl b/shader/shared/drawtag.wgsl
index 231657f52..34a402931 100644
--- a/shader/shared/drawtag.wgsl
+++ b/shader/shared/drawtag.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// The DrawMonoid is computed as a prefix sum to aid in decoding
diff --git a/shader/shared/pathtag.wgsl b/shader/shared/pathtag.wgsl
index 11979f960..3e9fa57c7 100644
--- a/shader/shared/pathtag.wgsl
+++ b/shader/shared/pathtag.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
struct TagMonoid {
diff --git a/shader/shared/ptcl.wgsl b/shader/shared/ptcl.wgsl
index cf759a5b4..d0f8ea30d 100644
--- a/shader/shared/ptcl.wgsl
+++ b/shader/shared/ptcl.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Layout of per-tile command list
diff --git a/shader/shared/segment.wgsl b/shader/shared/segment.wgsl
index 03a68e4c9..560f18c9e 100644
--- a/shader/shared/segment.wgsl
+++ b/shader/shared/segment.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Segments laid out for contiguous storage
diff --git a/shader/shared/tile.wgsl b/shader/shared/tile.wgsl
index 063a5bc16..f57c67433 100644
--- a/shader/shared/tile.wgsl
+++ b/shader/shared/tile.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Common datatypes for path and tile intermediate info.
diff --git a/shader/shared/transform.wgsl b/shader/shared/transform.wgsl
index 00d72799e..c59bf563d 100644
--- a/shader/shared/transform.wgsl
+++ b/shader/shared/transform.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Helpers for working with transforms.
diff --git a/shader/shared/util.wgsl b/shader/shared/util.wgsl
index 1e40fc457..8c13dd57c 100644
--- a/shader/shared/util.wgsl
+++ b/shader/shared/util.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// This file defines utility functions that interact with host-shareable buffer objects. It should
diff --git a/shader/tile_alloc.wgsl b/shader/tile_alloc.wgsl
index a407d6424..7b05bdceb 100644
--- a/shader/tile_alloc.wgsl
+++ b/shader/tile_alloc.wgsl
@@ -1,3 +1,4 @@
+// Copyright 2022 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Tile allocation (and zeroing of tiles)
diff --git a/src/cpu_dispatch.rs b/src/cpu_dispatch.rs
index 01c28c31b..901f5c127 100644
--- a/src/cpu_dispatch.rs
+++ b/src/cpu_dispatch.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
//! Support for CPU implementations of compute shaders.
diff --git a/src/cpu_shader/backdrop.rs b/src/cpu_shader/backdrop.rs
index 746efdcde..dadbbf99d 100644
--- a/src/cpu_shader/backdrop.rs
+++ b/src/cpu_shader/backdrop.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use vello_encoding::{ConfigUniform, Path, Tile};
diff --git a/src/cpu_shader/bbox_clear.rs b/src/cpu_shader/bbox_clear.rs
index 1e02127d0..9306e0e0a 100644
--- a/src/cpu_shader/bbox_clear.rs
+++ b/src/cpu_shader/bbox_clear.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use vello_encoding::{ConfigUniform, PathBbox};
diff --git a/src/cpu_shader/binning.rs b/src/cpu_shader/binning.rs
index 5ace850c3..6cbd5b4c2 100644
--- a/src/cpu_shader/binning.rs
+++ b/src/cpu_shader/binning.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use vello_encoding::{BinHeader, BumpAllocators, ConfigUniform, DrawMonoid, PathBbox};
diff --git a/src/cpu_shader/clip_leaf.rs b/src/cpu_shader/clip_leaf.rs
index 0f5fc6106..364eb2ccc 100644
--- a/src/cpu_shader/clip_leaf.rs
+++ b/src/cpu_shader/clip_leaf.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use vello_encoding::{Clip, ConfigUniform, DrawMonoid, PathBbox};
diff --git a/src/cpu_shader/clip_reduce.rs b/src/cpu_shader/clip_reduce.rs
index fc30661f1..6627547e5 100644
--- a/src/cpu_shader/clip_reduce.rs
+++ b/src/cpu_shader/clip_reduce.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use vello_encoding::{Clip, ClipBic, ClipElement, PathBbox};
diff --git a/src/cpu_shader/coarse.rs b/src/cpu_shader/coarse.rs
index ce9481da7..625e6618e 100644
--- a/src/cpu_shader/coarse.rs
+++ b/src/cpu_shader/coarse.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use vello_encoding::{
diff --git a/src/cpu_shader/draw_leaf.rs b/src/cpu_shader/draw_leaf.rs
index a422f6a27..2aeaa288a 100644
--- a/src/cpu_shader/draw_leaf.rs
+++ b/src/cpu_shader/draw_leaf.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use vello_encoding::{Clip, ConfigUniform, DrawMonoid, DrawTag, Monoid, PathBbox};
diff --git a/src/cpu_shader/draw_reduce.rs b/src/cpu_shader/draw_reduce.rs
index 61c338c71..24e15a134 100644
--- a/src/cpu_shader/draw_reduce.rs
+++ b/src/cpu_shader/draw_reduce.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use vello_encoding::{ConfigUniform, DrawMonoid, DrawTag, Monoid};
diff --git a/src/cpu_shader/fine.rs b/src/cpu_shader/fine.rs
index dc3203959..8cd39930e 100644
--- a/src/cpu_shader/fine.rs
+++ b/src/cpu_shader/fine.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use vello_encoding::{ConfigUniform, PathSegment, Tile};
diff --git a/src/cpu_shader/flatten.rs b/src/cpu_shader/flatten.rs
index a814e9eb9..34a616b6c 100644
--- a/src/cpu_shader/flatten.rs
+++ b/src/cpu_shader/flatten.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use crate::cpu_dispatch::CpuBinding;
diff --git a/src/cpu_shader/mod.rs b/src/cpu_shader/mod.rs
index 16d261f65..8b1fb0df6 100644
--- a/src/cpu_shader/mod.rs
+++ b/src/cpu_shader/mod.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
//! CPU implementations of shader stages.
diff --git a/src/cpu_shader/path_count.rs b/src/cpu_shader/path_count.rs
index ef44212a7..ed04d7a1f 100644
--- a/src/cpu_shader/path_count.rs
+++ b/src/cpu_shader/path_count.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use vello_encoding::{BumpAllocators, LineSoup, Path, SegmentCount, Tile};
diff --git a/src/cpu_shader/path_count_setup.rs b/src/cpu_shader/path_count_setup.rs
index 6336cfd47..5662e1035 100644
--- a/src/cpu_shader/path_count_setup.rs
+++ b/src/cpu_shader/path_count_setup.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use vello_encoding::{BumpAllocators, IndirectCount};
diff --git a/src/cpu_shader/path_tiling.rs b/src/cpu_shader/path_tiling.rs
index 25dd6a4e7..d512b36e0 100644
--- a/src/cpu_shader/path_tiling.rs
+++ b/src/cpu_shader/path_tiling.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use vello_encoding::{BumpAllocators, LineSoup, Path, PathSegment, SegmentCount, Tile};
diff --git a/src/cpu_shader/path_tiling_setup.rs b/src/cpu_shader/path_tiling_setup.rs
index 32e08f9ae..33ca6bb8d 100644
--- a/src/cpu_shader/path_tiling_setup.rs
+++ b/src/cpu_shader/path_tiling_setup.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use vello_encoding::{BumpAllocators, IndirectCount};
diff --git a/src/cpu_shader/pathtag_reduce.rs b/src/cpu_shader/pathtag_reduce.rs
index 58eb36c17..f723a1c6f 100644
--- a/src/cpu_shader/pathtag_reduce.rs
+++ b/src/cpu_shader/pathtag_reduce.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use vello_encoding::{ConfigUniform, Monoid, PathMonoid};
diff --git a/src/cpu_shader/pathtag_scan.rs b/src/cpu_shader/pathtag_scan.rs
index 8a8aa609a..223e4ced1 100644
--- a/src/cpu_shader/pathtag_scan.rs
+++ b/src/cpu_shader/pathtag_scan.rs
@@ -1,5 +1,5 @@
-// Copyright 2023 The Vello authors
-// SPDX-License-Identifier: Apache-2.0 OR MIT
+// Copyright 2023 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use vello_encoding::{ConfigUniform, Monoid, PathMonoid};
diff --git a/src/cpu_shader/tile_alloc.rs b/src/cpu_shader/tile_alloc.rs
index 367f28df2..9be36a213 100644
--- a/src/cpu_shader/tile_alloc.rs
+++ b/src/cpu_shader/tile_alloc.rs
@@ -1,5 +1,5 @@
-// Copyright 2023 The Vello authors
-// SPDX-License-Identifier: Apache-2.0 OR MIT
+// Copyright 2023 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
use vello_encoding::{BumpAllocators, ConfigUniform, DrawTag, Path, Tile};
diff --git a/src/cpu_shader/util.rs b/src/cpu_shader/util.rs
index da66f7b86..7748ffcd3 100644
--- a/src/cpu_shader/util.rs
+++ b/src/cpu_shader/util.rs
@@ -1,5 +1,5 @@
-// Copyright 2023 The Vello authors
-// SPDX-License-Identifier: Apache-2.0 OR MIT
+// Copyright 2023 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
//! Utility types
diff --git a/src/engine.rs b/src/engine.rs
index eb63a071e..7760c790a 100644
--- a/src/engine.rs
+++ b/src/engine.rs
@@ -1,18 +1,5 @@
-// Copyright 2022 Google LLC
-//
-// 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
-//
-// https://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.
-//
-// Also licensed under MIT license, at your choice.
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
use std::{
num::NonZeroU64,
diff --git a/src/glyph.rs b/src/glyph.rs
index edbc388d4..022d1bebb 100644
--- a/src/glyph.rs
+++ b/src/glyph.rs
@@ -1,18 +1,5 @@
-// Copyright 2022 The vello 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
-//
-// https://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.
-//
-// Also licensed under MIT license, at your choice.
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
//! Support for glyph rendering.
diff --git a/src/lib.rs b/src/lib.rs
index e9676cd32..fdb5bca2b 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,18 +1,5 @@
-// Copyright 2022 Google LLC
-//
-// 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
-//
-// https://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.
-//
-// Also licensed under MIT license, at your choice.
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
#![warn(clippy::doc_markdown, clippy::semicolon_if_nothing_returned)]
diff --git a/src/render.rs b/src/render.rs
index 9b5aefff6..9df420d26 100644
--- a/src/render.rs
+++ b/src/render.rs
@@ -1,3 +1,6 @@
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
//! Take an encoded scene and create a graph to render it
use crate::{
diff --git a/src/scene.rs b/src/scene.rs
index ebf41dd6c..136dc8b2c 100644
--- a/src/scene.rs
+++ b/src/scene.rs
@@ -1,18 +1,5 @@
-// Copyright 2022 The vello 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
-//
-// https://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.
-//
-// Also licensed under MIT license, at your choice.
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
use peniko::kurbo::{Affine, Rect, Shape, Stroke};
use peniko::{BlendMode, BrushRef, Color, Fill, Font, Image, StyleRef};
diff --git a/src/shaders.rs b/src/shaders.rs
index 90d55cd9a..025852d87 100644
--- a/src/shaders.rs
+++ b/src/shaders.rs
@@ -1,18 +1,5 @@
-// Copyright 2022 Google LLC
-//
-// 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
-//
-// https://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.
-//
-// Also licensed under MIT license, at your choice.
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
//! Load rendering shaders.
diff --git a/src/shaders/preprocess.rs b/src/shaders/preprocess.rs
index 0b7091213..a5c41dbc5 100644
--- a/src/shaders/preprocess.rs
+++ b/src/shaders/preprocess.rs
@@ -1,3 +1,6 @@
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
+
use std::{
collections::{HashMap, HashSet},
fs,
diff --git a/src/util.rs b/src/util.rs
index f7ad43952..fa82551a1 100644
--- a/src/util.rs
+++ b/src/util.rs
@@ -1,18 +1,5 @@
-// Copyright 2022 Google LLC
-//
-// 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
-//
-// https://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.
-//
-// Also licensed under MIT license, at your choice.
+// Copyright 2022 the Vello Authors
+// SPDX-License-Identifier: Apache-2.0 OR MIT
//! Simple helpers for managing wgpu state and surfaces.
diff --git a/src/wgpu_engine.rs b/src/wgpu_engine.rs
index bb2df60bf..1643ab796 100644
--- a/src/wgpu_engine.rs
+++ b/src/wgpu_engine.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 The Vello authors
+// Copyright 2023 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
use std::{