Skip to content

chore: normalize SPDX source copyright headers - #2989

Merged
ibgreen-openai merged 2 commits into
masterfrom
codex/spdx-header-normalization
Aug 6, 2026
Merged

chore: normalize SPDX source copyright headers#2989
ibgreen-openai merged 2 commits into
masterfrom
codex/spdx-header-normalization

Conversation

@ibgreen-openai

@ibgreen-openai ibgreen-openai commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Goals

  • Make luma.gl source-file licensing and copyright ownership machine-readable without inventing third-party authorship.
  • Preserve existing RAPIDS attribution and accurately describe independently licensed upstream material.
  • Keep unresolved mixed-license cases visible instead of incorrectly stamping them as MIT-only.

Changes

  • Normalize existing first-party // Copyright (c) vis.gl contributors comments into SPDX-FileCopyrightText declarations throughout already-licensed source files.
  • Add complete MIT/SPDX headers to 30 previously unlabeled, demonstrably first-party production module sources, including the ANARI package and malformed legacy headers.
  • Preserve additional, genuine copyright holders for Mapbox, three.js authors, Gregg Tavares, and Mohamad Moneimne and Contributors.
  • Correct Mapbox earcut's invalid MIT and ISC expression to MIT AND ISC, preserving its complete existing ISC notice.
  • Correct PBR documentation to reference the historical MIT-licensed Khronos shader snapshot rather than the upstream project's later Apache license.
  • Document the header convention in AGENTS.md.
  • Add a Node-only repository-wide guard covering every existing SPDX-licensed source, every first-party production module, multiple PBR owners, the earcut ISC notice, stale exceptions, and new unstaged source files.

Explicit exclusions

  • modules/effects/src/passes/postprocessing/fxaa/fxaa.ts: existing NVIDIA BSD/Cesium Apache material requires separate mixed-license remediation.
  • Three engine geometry files identify Google/BSD or PhiloGL provenance that needs a dedicated ownership review.
  • modules/text/src/fonts/helvetiker.ts: embedded MAGENTA/MgOpen font data carries additional non-MIT conditions.
  • modules/webgl/src/context/debug/spector-types.ts: copied Spector.js declarations do not identify a sufficiently precise upstream copyright holder.
  • Existing unlicensed examples, website fixtures, scripts, generated bundles, and vendored sources were not blindly assigned MIT ownership.

Verification

  • nvm use
  • yarn lint fix
  • Focused SPDX and RAPIDS regression tests: 14 passing tests.
  • yarn build
  • yarn test-node: 874 passing tests, including the required pre-commit hook.
  • yarn test: the Node phase passes locally; the unsharded local Chromium runner disconnects after 916 passing browser tests. GitHub Actions runs the complete browser/WebGPU coverage in three independent shards; all seven checks passed on the initial PR revision and are rerunning after review feedback.
  • yarn website:build: passed; validated 474 raw documentation pages.
  • (cd website && yarn build): passed; validated 474 raw documentation pages independently.
  • Audited every modified source hunk: source changes are confined to file-header comments; generated, vendored, third-party, and explicitly deferred files remain unchanged.

Risks and follow-up

  • This is intentionally a large mechanical source-header change; no runtime implementation or shader body changes are included.
  • GitHub's web UI displays only the first 300 changed files; inspect the full deterministic change with git diff master...HEAD or the paginated pull-request files API.
  • The five mixed-license source files and headerless Spector.js fork remain explicit, self-expiring test exceptions pending separate package-level legal remediation.
  • @math.gl/geoarrow already included Mapbox ISC material; package-level license metadata can be evaluated separately from this source-header correction.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 53a98d5dce

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread test/examples/spdx-source-headers.node.spec.ts
@ibgreen-openai
ibgreen-openai merged commit 1a733ce into master Aug 6, 2026
8 checks passed
@ibgreen-openai
ibgreen-openai deleted the codex/spdx-header-normalization branch August 6, 2026 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants