Skip to content

Ship third-party license notices with the client - #61

Merged
markbackman merged 1 commit into
mainfrom
mark/third-party-notices
Sep 28, 2026
Merged

markbackman merged 1 commit into
mainfrom
mark/third-party-notices

Conversation

@markbackman

@markbackman markbackman commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

The Prebuilt wheel ships a Vite-built React client that bundles code from about 70 npm packages. Their licenses (MIT, Apache-2.0, BSD, ISC, OFL for the Geist font, and LGPL-2.1 for libav.js) require their notices to travel with that code, and the wheel didn't include any. This generates a notices file on every client build.

  • Notices file. A small Vite plugin runs after bundling, collects the npm packages whose code or assets are in the output, and writes THIRD_PARTY_NOTICES.txt to client/dist with each package's name, version, license, source link, and license text. The publish workflows already copy client/dist into the wheel, so it ships without packaging changes. The list follows the dependencies, so it stays current as they change.
  • Missing license files. Some packages (the MoQ packages, @libav.js/variant-opus-af, and a few others) publish no license file. For those, the plugin uses the standard text from client/licenses/, taken from SPDX's license list (GNU for LGPL-2.1), with a copyright line pointing to the package's source.
  • libav.js. It comes in through @pipecat-ai/moq-transport as a software Opus fallback for browsers without WebCodecs. It's listed with its LGPL-2.1 text and source repository. It stays a separate lazy-loaded file, so it can be replaced as the LGPL requires.

The client build writes THIRD_PARTY_NOTICES.txt into client/dist, listing each npm package bundled into the client with its license text and source. Packages without a license file get the standard text from client/licenses/.
@markbackman
markbackman force-pushed the mark/third-party-notices branch from c017ac6 to fa84791 Compare September 28, 2026 19:19
@markbackman
markbackman merged commit b8976d8 into main Sep 28, 2026
1 check failed
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.

1 participant