license: relicense first-party code from GPL-2.0-or-later to Apache-2.0
Build / macOS (macos-latest) (push) Successful in 33s
Build / Linux (ubuntu-24.04) (push) Successful in 54s
Build / Windows (windows-latest) (push) Successful in 12m10s

Owner sign-off: replace root LICENSE with Apache License 2.0, add a root
NOTICE file, and swap the GPL-2.0 boilerplate header in every first-party
core/ and obs-adapter/ source file for a short Apache-2.0 notice.

This resolves review finding C2 (GPLv2 top-level LICENSE vs. the vendored
Apache-2.0 LiveKit SDK is a license-compatibility violation): the whole
repo is now Apache-2.0, matching LiveKit, so there's no GPL/Apache clash
left. Updated the README Status gate and the CI workflow comment to reflect
that C2 is resolved, while leaving the C1 WebRTC/OpenH264 patent/royalty
gate untouched -- that question is still open and still blocks release.

third_party/ stays under its own upstream licenses; only this project's own
code changed hands. All 6 CTest suites still pass after the header swap.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RL8abRmgFXkVASHkkqiJbE
This commit is contained in:
2026-09-07 04:44:16 -07:00
co-authored by Claude Sonnet 5
parent c4db99414d
commit 969b8db94a
31 changed files with 300 additions and 608 deletions
+16 -11
View File
@@ -10,17 +10,22 @@ Media-Source path for directors. Full design:
**Release/distribution of built binaries is blocked pending owner sign-off.**
This plugin statically/dynamically pulls in Google WebRTC and OpenH264 code
through the LiveKit SDK, and this repository's own top-level `LICENSE` is
GPLv2 while the vendored LiveKit binaries are Apache-2.0 — both a real patent/
royalty question (OpenH264/WebRTC) and a real license-compatibility question
(GPLv2 vs. Apache-2.0-linked code) that only the project owner can decide.
Nothing in this repo should be built into a package and handed out, posted,
or attached to a public release until that sign-off happens. See
`third_party/livekit/README.md` for the specifics of what is and is not
currently known/shipped on the licensing side. (CI in `.gitea/workflows/build.yml`
currently only builds, tests, and uploads CI-internal build artifacts — it
does not create a Gitea Release or otherwise publish anything publicly; if
that ever changes, the new step must carry this same gate.)
through the LiveKit SDK — a real patent/royalty question (OpenH264/WebRTC)
that only the project owner can decide. Nothing in this repo should be built
into a package and handed out, posted, or attached to a public release until
that sign-off happens. See `third_party/livekit/README.md` for the specifics
of what is and is not currently known/shipped on the licensing side. (CI in
`.gitea/workflows/build.yml` currently only builds, tests, and uploads
CI-internal build artifacts — it does not create a Gitea Release or otherwise
publish anything publicly; if that ever changes, the new step must carry this
same gate.)
The separate license-compatibility question — this repository's own top-level
`LICENSE` was GPLv2 while the vendored LiveKit binaries are Apache-2.0, which
are incompatible — is **resolved**: the project owner has relicensed this
project's own first-party code to Apache-2.0, matching LiveKit. Everything in
this repo is now Apache-2.0, so there is no remaining GPL/Apache
incompatibility.
The plugin is **functionally complete on Linux and verified end to end there**
(module loads into real libobs, connects to a real LiveKit server through the