Repository navigation
chore: relicense to Apache-2.0 + DCO + TRADEMARKS + third-party notices - #39
Draft
guycochran wants to merge 1 commit into
Draft
guycochran wants to merge 1 commit into
guycochran wants to merge 1 commit into
Conversation
…ty notices - LICENSE: MIT -> Apache License 2.0 (verbatim text). New NOTICE carries the existing copyright line and notes that releases/tags published before the switch (v0.2.0, core-v1.0.0) remain available under MIT. - README license section, backend/package.json (+ lockfile root), companion module package.json + manifest.json -> Apache-2.0. - SPDX-License-Identifier: Apache-2.0 headers on py/js/sh/md sources (vendored code skipped; files under active edit in open PRs skipped). - DCO 1.1 (no CLA): CONTRIBUTING.md section + `git commit -s` guidance; scripts/check-dco.sh (dependency-free) + .github/workflows/dco.yml; tests. - CI: permissions: contents: read; actions pinned to commit SHAs. - TRADEMARKS.md: name/logo reserved, forks rebrand, nominative use allowed; recommendation that any protected brand be distinctive from "MXL". - THIRD-PARTY-NOTICES.md: ffmpeg.wasm wrapper/loader (MIT) and the fetched ffmpeg-core.wasm (GPL-2.0-or-later: --enable-gpl, x264/x265); fonts (OFL). fetch-core-wasm.sh now states the GPL status. Signed-off-by: Guy Cochran <guycochran@gmail.com>
This was referenced Oct 8, 2026
Owner
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Relicenses the project from MIT to Apache-2.0, adopts the DCO (no CLA), and adds TRADEMARKS.md and THIRD-PARTY-NOTICES.md. There are no code-behaviour changes.
1. License
LICENSE: the full Apache License 2.0 text (verbatim from apache.org).NOTICE(new):v0.2.0,core-v1.0.0) were MIT and remain available under MIT;README.md: new License section (Apache-2.0, the prior-MIT note, DCO, trademarks).license: Apache-2.0inbackend/package.json(added; plus the lockfile root entry),companion-module-mxl-switcher/package.jsonandcompanion/manifest.json.SPDX-License-Identifier: Apache-2.0added to 100 existingpy/js/sh/mdfiles, inserted after the shebang where present. Skipped:web/vendor/**;*.companionconfig;tools/nmos_node.py,tools/contribution_core.py,tools/adapters.py,tests/test_contribution_core.py,docs/CONFIG.md,docs/VERSIONS.md,tests/test_env_config.py, and the new files from those PRs (tests/test_nmos_is05.py,tools/ingress-soak.sh, the new ADR/roadmap docs).2. DCO (Developer Certificate of Origin 1.1)
CONTRIBUTING.md: new sections, License of contributions (Apache-2.0 §5, no CLA) and Developer Certificate of Origin. They cover:git commit -s;--amend -s,rebase --signoff);The sections are appended at the end of the file so they don't collide with other open edits.
scripts/check-dco.sh(new, bash + git only): every non-merge commit inBASE..HEADneeds aSigned-off-bywhose email matches the commit author (case-insensitive). It gives a clear failure message with the fix.tests/test_check_dco.pycovers pass, missing, mismatched, merge-ignored and usage-error cases against a throwaway repo..github/workflows/dco.yml(new): runs onpull_request, withpermissions: contents: readandactions/checkoutpinned by SHA (persist-credentials: false). No third-party DCO action..github/workflows/ci.yml: addedpermissions: contents: read, and pinnedactions/checkout/setup-python/setup-nodeto commit SHAs (same major versions as before; tag noted in a comment).3.
TRADEMARKS.md(new)/api/mxl/v1API", "for MXL".4.
THIRD-PARTY-NOTICES.md(new): ffmpeg.wasm findingweb/vendor/ffmpeg/fileffmpeg.js,814.ffmpeg.js@ffmpeg/ffmpeg0.12.10 (byte-identical to npm)ffmpeg-core.js@ffmpeg/core0.12.6 Emscripten loader (byte-identical to npm)ffmpeg-core.wasm@ffmpeg/core0.12.6 compiled FFmpeg 5.1fetch-core-wasm.sh, git-ignored)@ffmpeg/coresays "MIT", but the shipped.wasm's embedded FFmpeg build configuration includes--enable-gpl --enable-libx264 --enable-libx265(plus vpx, lame, theora, vorbis, opus, zlib, webp, freetype, fribidi, ass, zimg). The binary is therefore GPL-2.0-or-later.web/mxl-clip.html,web/mxl-tams.html) distributes GPL object code to browsers and takes on GPL obligations for it, such as offering the corresponding source.--enable-gpl, no x264/x265), or document the source offer in the deployment.fetch-core-wasm.shnow states the GPL status in a comment and in its output. The web fonts are covered as OFL-1.1 (existingweb/fonts/LICENSE).Tests
node --test tests/js/*.test.js→ 36/36 pass.python -m pytest tests/→ 138 passed, 2 skipped (+5 new DCO tests).bash -nis clean on all shell scripts;node --checkis clean on all non-vendored JS; both workflow files parse as YAML.Follow-ups