Licensing: adopt the Madeira Converter Exception (2026-09-24)

The copyright holder completed the adoption line of LICENSE-EXCEPTION.md
before the first public push; the draft markers are gone, and the copies in
the runtime licence, CONTRIBUTING.md and docs/LICENSING.md now record the
adoption. FEX, rpmalloc and DXMT carry the matching licensing commits.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Will Faust
2026-09-24 06:41:21 +08:00
co-authored by Claude Opus 5.5
parent 68ea73467b
commit 5a82d392ec
6 changed files with 18 additions and 20 deletions
+2 -2
View File
@@ -20,7 +20,7 @@ prohibits AI-generated code; see the note in `README.md`.
Madeira links with Apple's proprietary Metal Shader Converter library and
Apple system frameworks. Contributions to this repository are accepted under
GPL-3.0-or-later **with the Madeira Converter Exception, version 1** (the
additional permission in `LICENSE-EXCEPTION.md`, a draft of 2026-09-16 that
takes effect when its adoption line is completed, before any public push), so that the combination
additional permission in `LICENSE-EXCEPTION.md`, prepared 2026-09-16 and
adopted on 2026-09-24, before any public push), so that the combination
can be conveyed. By submitting a contribution you
agree that your contribution carries that additional permission too.
+1 -1
Submodule FEX updated: 2cf88d6757...0f8edf8f63
+4 -6
View File
@@ -1,6 +1,6 @@
# Additional permission for the Apple Metal Shader Converter (GPL-3.0 section 7)
DRAFT prepared 2026-09-16 for review. NOT IN EFFECT until the copyright
Prepared 2026-09-16 for review. NOT IN EFFECT until the copyright
holder completes the adoption line below. Distribution begins with the first
push to a public remote, not with a release tag, so the line must be
completed BEFORE any public push (the repository's `.githooks/pre-push`
@@ -9,17 +9,15 @@ refuses a remote push while this file is a draft; enable it with
forks and the runtime follows this adoption. See "Scope and authority" for
what it can and cannot cover.
Adopted on:
By:
(Both blank = draft. Once completed, remove the word DRAFT from this file.)
Adopted on: 2026-09-24
By: Will Faust
Madeira is licensed under the GNU General Public License, version 3 or (at
your option) any later version (see `COPYING`). The following additional
permission applies to the parts of Madeira whose copyright is held by the
Madeira authors (see "Scope and authority"):
### Madeira Converter Exception, version 1 (DRAFT of 2026-09-16; in effect from the adoption date above)
### Madeira Converter Exception, version 1 (of 2026-09-16; in effect from the adoption date above)
Additional permission under GNU GPL version 3 section 7.
+8 -8
View File
@@ -1,4 +1,4 @@
# Madeira licensing: the assembled iOS app (DRAFT 2026-09-16, for review)
# Madeira licensing: the assembled iOS app (working document of 2026-09-16, updated 2026-09-24; not legal advice)
This is a working document by the Madeira author, not legal advice. It
records what the shipped app contains, under which terms, and which
@@ -12,11 +12,11 @@ Statically linked into the main executable (`Madeira` / `Madeira.debug.dylib`):
| Component | Upstream licence | Madeira changes | Notes |
|---|---|---|---|
| Wine unix side (ntdll, wineserver, win32u, wineios.drv) from the `wine` fork (branch `madeira-lgpl`) and `build/*-unix` | LGPL-2.1-or-later | LGPL-2.1-or-later (rebuilt from upstream wine-11.4, see `docs/wine-lgpl-provenance.md`); the earlier GPL-converted branch is retired | statically linked |
| FEXCore and helpers (`FEX/build-ios/*.a`), including the rpmalloc fork under FEX/External | MIT (rpmalloc: 0BSD) | GPL-3.0-or-later + draft additional permission (Will Faust commits; Ryan Houdek rpmalloc commits stay 0BSD) | statically linked |
| DXMT unix side + airconv (`libdxmt_combined.a`) | MIT | GPL-3.0-or-later + draft additional permission | statically linked |
| FEXCore and helpers (`FEX/build-ios/*.a`), including the rpmalloc fork under FEX/External | MIT (rpmalloc: 0BSD) | GPL-3.0-or-later + additional permission (Will Faust commits; Ryan Houdek rpmalloc commits stay 0BSD) | statically linked |
| DXMT unix side + airconv (`libdxmt_combined.a`) | MIT | GPL-3.0-or-later + additional permission | statically linked |
| LLVM (inside `libdxmt_combined.a`) | Apache-2.0 with LLVM exception | none | statically linked |
| gnutls 3.8.9, nettle 3.10.1, hogweed 3.10.1, gmp 6.3.0 | LGPL-2.1+ / dual LGPL-3+ or GPL-2+ / dual LGPL-3+ or GPL-2+ | none; Madeira elects LGPL-3.0-or-later for the dual-licensed three | statically linked; LGPL obligations apply; sources tracked in build/gnutls-ios/src |
| Madeira app (Swift/ObjC), native D3D12 runtime (`madeira_d3d12.dll`, PE) | GPL-3.0-or-later + draft additional permission | author-owned | |
| Madeira app (Swift/ObjC), native D3D12 runtime (`madeira_d3d12.dll`, PE) | GPL-3.0-or-later + additional permission | author-owned | |
Dynamically loaded at runtime (dlopen; this is NOT a GPL-compatibility
exemption, the combination is still a combined work, see the GNU FAQ on
@@ -31,9 +31,9 @@ plugins):
## Obligations that follow
1. **GPL-3.0 code combined with the proprietary converter.** Allowed only
where the copyright holder grants an additional permission. Proposed
for author-owned code in `LICENSE-EXCEPTION.md`; not effective until
adopted in a tagged release. NOT grantable for upstream
where the copyright holder grants an additional permission. Granted
for author-owned code in `LICENSE-EXCEPTION.md` (adopted 2026-09-24,
before the first public push). NOT grantable for upstream
Wine code in the GPL-converted fork; hence the LGPL branch.
2. **LGPL components statically linked (Wine on the LGPL branch, gnutls,
nettle, hogweed, gmp).** LGPL-2.1 s.6 / LGPL-3 s.4 require, for the
@@ -76,7 +76,7 @@ plugins):
missing inputs and the reconstructed recipes are in `docs/BUILDING.md`.
Still open: re-executing every UNVERIFIED step there from scratch, then
signing and installing.
- DONE 2026-09-16: the bundle carries `licenses/` (GPL-3.0, the draft
- DONE 2026-09-16: the bundle carries `licenses/` (GPL-3.0, the
exception, LGPL-2.1, LGPL-3.0, MIT, 0BSD, LLVM texts and
THIRD-PARTY-NOTICES.txt); `build/stage-licenses.sh` refreshes the two
generated copies and the Xcode build fails if they are stale.
+2 -2
View File
@@ -11,8 +11,8 @@ The Madeira Converter Exception, version 1 (../../LICENSE-EXCEPTION.md in this
repository: an additional
permission under GPL-3.0 section 7 for combining with the Apple Metal
Shader Converter dynamic library and Apple system frameworks) is offered
for this runtime as a DRAFT of 2026-09-16 and is not in effect until the
adoption line in that file is completed.
for this runtime; it was prepared 2026-09-16 and adopted on 2026-09-24, as
recorded in the adoption line of that file.
The Apple Metal Shader Converter headers it compiles against are Apache-2.0
(see app/Madeira/d3d12/LICENSE-metal-shader-converter-headers.txt); the