From 23dd7f09ce6c2c76ca2ef6d11cf7c23a94466cd5 Mon Sep 17 00:00:00 2001 From: mstrhakr Date: Mon, 12 Oct 2026 08:50:40 -0400 Subject: [PATCH 1/2] docs: add scoped MIT license and fork provenance audit --- LICENSE | 37 ++ README.md | 11 +- source/compose.manager/licenses/LICENSING.md | 195 ++++++++ .../licenses/PROJECT-LICENSE.txt | 37 ++ .../licenses/THIRD-PARTY-NOTICES.md | 415 ++++++++++++++++++ 5 files changed, 694 insertions(+), 1 deletion(-) create mode 100644 LICENSE create mode 100644 source/compose.manager/licenses/LICENSING.md create mode 100644 source/compose.manager/licenses/PROJECT-LICENSE.txt create mode 100644 source/compose.manager/licenses/THIRD-PARTY-NOTICES.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..f2868b54 --- /dev/null +++ b/LICENSE @@ -0,0 +1,37 @@ +License scope +============= + +The MIT license below applies only to original material in this fork whose +copyright is held by Nick Szittai (mstrhakr) and which he has the authority to +license. It does not grant rights in inherited dcflachs/compose_plugin code, +independently owned contributions, third-party software, or third-party assets. +Changes to an inherited file do not relicense its underlying material. + +No license grant for the original upstream plugin has been established. This +repository as a whole is not cleared for unrestricted redistribution by this +file. Other rights holders retain their rights; separately licensed components +retain their own licenses. See source/compose.manager/licenses/LICENSING.md and +source/compose.manager/licenses/THIRD-PARTY-NOTICES.md for evidence and unresolved +permissions. This scope notice is separate from the unmodified MIT terms below. + +MIT License + +Copyright (c) 2026 Nick Szittai (mstrhakr) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index e4ffc63b..e1783750 100644 --- a/README.md +++ b/README.md @@ -343,7 +343,16 @@ Contributions are welcome — we added issue and PR templates to guide reports a ## License -This project is open source. See the repository for license details. +Original material owned and licensable by **Nick Szittai (mstrhakr)** is offered +under the [MIT License](LICENSE). This is **not a blanket license for the plugin**: +inherited dcflachs/compose_plugin code and independently owned contributions are +excluded, and upstream permission remains unresolved. Changes to inherited files +do not relicense their underlying material. + +See the [licensing and provenance audit](source/compose.manager/licenses/LICENSING.md) +for surviving upstream code, scope, and required permissions. Third-party +components retain their [own licenses and notices](source/compose.manager/licenses/THIRD-PARTY-NOTICES.md). +The complete project is not yet cleared for unrestricted redistribution. ## Credits diff --git a/source/compose.manager/licenses/LICENSING.md b/source/compose.manager/licenses/LICENSING.md new file mode 100644 index 00000000..5e7e75fd --- /dev/null +++ b/source/compose.manager/licenses/LICENSING.md @@ -0,0 +1,195 @@ +# Licensing and fork provenance audit + +Audit date: 2026-10-12. This is a technical provenance assessment, not legal +advice or a determination of copyright ownership. + +## License status + +[The project license](../../../LICENSE) grants MIT permissions only for original +material owned and licensable by Nick Szittai (mstrhakr). It does **not** license +inherited upstream material, independently owned contributions, or third-party +components. The same scoped text is shipped as [PROJECT-LICENSE.txt](PROJECT-LICENSE.txt). + +MIT permits commercial use, modification, redistribution, and sublicensing, +without a requirement to publish source. Its copyright and permission notice +must be retained. It cannot grant rights the licensor does not own. + +**The complete plugin is not yet established to be MIT-licensed or cleared for +unrestricted redistribution.** Permission for surviving upstream material and +other independently owned material remains unresolved. This applies even where +new MIT-covered changes share a file with inherited code. + +## Compared revisions + +- Fork `dev` HEAD before this licensing change: + `99a17fc6c8cdd6761463ba049f5dac5615a32a77`. +- Original upstream `dcflachs/compose_plugin` main: + `074a9af3a29d14b346e5dae8a700a0649cda601c`. +- The merge base is the same upstream commit: the complete upstream tip is an + ancestor of the audited fork HEAD. Its commit date is 2025-11-08 UTC. +- Upstream repository HEAD was checked against GitHub on the audit date. +- The local repository is not shallow; upstream ancestry contains 147 commits, + beginning with dcflachs's 2021-10-01 initial commit, `4cfb0fa`. + +References: [original repository](https://github.com/dcflachs/compose_plugin), +[audited upstream commit](https://github.com/dcflachs/compose_plugin/commit/074a9af3a29d14b346e5dae8a700a0649cda601c), +[audited fork commit](https://github.com/mstrhakr/compose_plugin/commit/99a17fc6c8cdd6761463ba049f5dac5615a32a77). + +## How much upstream material remains? + +**Yes, inherited implementation remains, not just names or configuration.** + +Git line attribution finds **518 upstream-attributed lines in 18 files**, out +of **37,901 lines in 69 application text files: 1.37%**. Those totals exclude +the two known vendored JavaScript libraries and PNG assets. This is a measure +of surviving Git attribution, **not a percentage of legal copyright ownership +or proof that the other 98.63% is independent work**. Edited/adapted upstream +code can retain copyright significance without retaining its blame attribution. + +The upstream application-text baseline contains 2,147 lines in 21 files, with +the same vendor exclusions. The fork is much larger; a small fraction of its +current size does not eliminate upstream licensing requirements. + +### Surviving application line attribution + +Counts include blank lines, comments, markup, and configuration, not just +executable statements. File paths refer to the audited fork revision. + +| Current file | Upstream-attributed lines | Total lines | +| --- | ---: | ---: | +| [Compose.page](../Compose.page) | 11 | 22 | +| [compose.manager.page](../compose.manager.page) | 5 | 34 | +| [compose.manager.settings.page](../compose.manager.settings.page) | 76 | 3,478 | +| [default.cfg](../default.cfg) | 4 | 35 | +| [event/docker_started](../event/docker_started) | 21 | 354 | +| [event/stopping_docker](../event/stopping_docker) | 14 | 122 | +| [include/ComposeList.php](../include/ComposeList.php) | 2 | 486 | +| [include/ComposeManager.php](../include/ComposeManager.php) | 18 | 855 | +| [include/ComposeUtil.php](../include/ComposeUtil.php) | 14 | 154 | +| [include/Defines.php](../include/Defines.php) | 16 | 68 | +| [include/Exec.php](../include/Exec.php) | 159 | 2,690 | +| [include/Helpers.php](../include/Helpers.php) | 23 | 615 | +| [include/ShowTtyd.php](../include/ShowTtyd.php) | 6 | 203 | +| [include/Util.php](../include/Util.php) | 2 | 4,543 | +| [javascript/common.js](../javascript/common.js) | 2 | 253 | +| [javascript/composeManagerMain.js](../javascript/composeManagerMain.js) | 27 | 9,362 | +| [scripts/arrayNotStarted.sh](../scripts/arrayNotStarted.sh) | 3 | 6 | +| [scripts/compose.sh](../scripts/compose.sh) | 115 | 779 | + +Concrete remnants include compose shell option/environment handling, PHP action +dispatch and stack metadata operations, plugin configuration setup, array/Docker +event setup, settings-page integration, and UI helpers. Several former `php/` +files were renamed and refactored into `include/`; moving them is not a rewrite. + +Installer/build attribution, **outside the application totals above**: + +| File | Upstream-attributed lines | Total lines | +| --- | ---: | ---: | +| [compose.manager.plg](../../../compose.manager.plg) | 51 | 134 | +| [build_in_docker.sh](../../../build_in_docker.sh) | 1 | 20 | +| [source/pkg_build.sh](../../pkg_build.sh) | 15 | 248 | +| [.github/workflows/build.yml](../../../.github/workflows/build.yml) | 26 | 293 | + +The only current tracked file whose entire Git blob is identical to an upstream +tracked blob is [js-yaml.min.js](../javascript/js-yaml/js-yaml.min.js). This is +third-party MIT code, not evidence of MIT permission for dcflachs's plugin. +There are **no wholly byte-identical upstream first-party files**, but the +line-level remnants above demonstrate that whole-file replacement is not the +right test for inherited code. + +### Reproducing the measurements + +Use the fixed revisions above, not a later working-tree snapshot. Enumerate +tracked files under `source/compose.manager/` at the audited fork commit with +`git ls-tree -r --name-only`. Exclude paths containing `/javascript/js-yaml/`, +`/javascript/qrcode/`, and paths ending in `.png`. + +For each remaining path, inspect `git blame --line-porcelain -w -M -C -C` at +the audited fork commit. Count each content record (a line starting with a tab) +once. Classify it as upstream-attributed if its associated commit SHA is in +`git rev-list` of the audited upstream commit. Sum per-file counts. The flags +ignore whitespace changes and attempt to follow moved/copied lines; rename +following is also provided by Git blame. For identical-file results, compare +blob IDs from each revision's recursive `git ls-tree` output. + +This method can miss heavily rewritten derivations and can count trivial shared +boilerplate. It is evidence for review, not an exhaustive originality analysis. +New audit/license documents added by this change are not in the measured HEAD. + +## Original upstream permissions + +No project LICENSE, COPYING, or NOTICE grant was found in the upstream tip or +historical tracked filenames. Historical upstream README versions examined did +not supply copying, modification, redistribution, or relicensing permission. +GitHub's repository API reported `license: null`; its license endpoint returned +404. These API results support, but do not replace, the source/history review. + +A public GitHub repository and permission to fork on GitHub do not establish a +general open-source license. The fork's former README claim that it was "open +source" was not a license grant. The existing MIT metadata in +[composer.json](../../../composer.json) names the fork's tests project; it does +not establish upstream permission for inherited plugin code. + +Upstream history records dcflachs, Emiel de Jong, Christoph Hummer, Enkows Zhang, +Eric Nemchik, Leandro Zazzi, and mtongnz. Commit attribution is not proof of legal +ownership. dcflachs's permission alone may not resolve independently owned +contributions; determine which owners' material survives and what authority or +permissions cover it. The same principle applies to other contributors to this +fork: this license does not silently relicense their past work. + +## Third-party and historical material + +[THIRD-PARTY-NOTICES.md](THIRD-PARTY-NOTICES.md) includes complete direct-component +license texts for js-yaml 4.1.0 (MIT), qrcode-generator 1.4.4 (MIT), Docker +Compose 5.5.0 (Apache-2.0 plus NOTICE), resvg 0.48.1 (MIT option), and Ace builds +1.43.5 (BSD-3-Clause). These permissive licenses do not clear original plugin +rights. Notices are version-specific and need review when versions change. + +The build recursively copies this source subtree, so the scoped project license, +this audit, and the direct-component notices are included in new packages +without changing the package scripts. Existing releases are not retroactively +repackaged or cleared by this change. + +Additional issues: + +- [question.png](../images/question.png) is byte-identical to the + [Unraid WebUI image](https://github.com/unraid/webgui/blob/master/emhttp/plugins/dynamix.docker.manager/images/question.png). + SHA-256: `85b3ab5476c3cdcdfac6f1b31a0da98fe582fff692b05ba597594cf49b6e721b`. + No image-specific license grant was established. Obtain permission or replace + it with an independently created/licensed asset; do not assume a neighboring + source file's license covers it. +- Documentation screenshots and artwork need their own provenance/rights review, + especially depicted third-party UI, logos, and icons. This MIT grant conveys + no third-party trademark rights. +- Legacy Docker WebUI patches were removed from current HEAD by `ff9cb58`. + Their original DockerClient target has an explicit GPL version 2 grant, with + Lime Technology and other copyright holders. Historical DockerContainers + targets also carry GPL-v2 grants. Distribution of derivatives may trigger + GPL obligations for those derivatives; this does not by itself prove the + whole independent plugin must be GPL. Older releases need separate review. + [Verified historical target](https://github.com/unraid/webgui/blob/c2478b16bd5b8261ed8aca040f58679b2d06de5c/plugins/dynamix.docker.manager/include/DockerClient.php). +- Historical Compose Switch, Ace, and SweetAlert bundles have separate licenses. + Older releases must be assessed against their actual included components. +- Docker Compose/resvg binaries contain dependencies beyond their top-level + licenses. Their transitive notices and source/distribution obligations have + not been fully audited. A top-level notice file is not proof of full compliance. +- Host-provided ttyd, PHP, Unraid libraries, and UI assets are not relicensed by + the plugin. Their actual versions and use/distribution require separate review. + +## Permission checklist before claiming a complete open-source license + +1. Ask dcflachs for an explicit written MIT grant covering the inherited plugin + material, identifying the repository and commit/revisions. Prefer an upstream + license commit or a permission record that can be preserved with this project. +2. Clarify authority over other upstream contributions and obtain any additional + required rights-holder permissions. Do the same for independently owned fork + contributions; do not infer retroactive consent from this PR. +3. Clear or replace the copied question icon; review other asset provenance. +4. Finish binary transitive-dependency notices and historical GPL/distribution + review as applicable. Preserve existing third-party copyright/license notices. +5. Once permissions are established, update the scope and copyright attribution + with the actual evidence. Keep this unresolved status explicit until then. + +If permission cannot be obtained, independent replacement of affected material +is an alternative to investigate. Merely changing filenames, formatting, most +lines, or the license file does not establish an independent implementation. diff --git a/source/compose.manager/licenses/PROJECT-LICENSE.txt b/source/compose.manager/licenses/PROJECT-LICENSE.txt new file mode 100644 index 00000000..f2868b54 --- /dev/null +++ b/source/compose.manager/licenses/PROJECT-LICENSE.txt @@ -0,0 +1,37 @@ +License scope +============= + +The MIT license below applies only to original material in this fork whose +copyright is held by Nick Szittai (mstrhakr) and which he has the authority to +license. It does not grant rights in inherited dcflachs/compose_plugin code, +independently owned contributions, third-party software, or third-party assets. +Changes to an inherited file do not relicense its underlying material. + +No license grant for the original upstream plugin has been established. This +repository as a whole is not cleared for unrestricted redistribution by this +file. Other rights holders retain their rights; separately licensed components +retain their own licenses. See source/compose.manager/licenses/LICENSING.md and +source/compose.manager/licenses/THIRD-PARTY-NOTICES.md for evidence and unresolved +permissions. This scope notice is separate from the unmodified MIT terms below. + +MIT License + +Copyright (c) 2026 Nick Szittai (mstrhakr) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/source/compose.manager/licenses/THIRD-PARTY-NOTICES.md b/source/compose.manager/licenses/THIRD-PARTY-NOTICES.md new file mode 100644 index 00000000..97dafc6e --- /dev/null +++ b/source/compose.manager/licenses/THIRD-PARTY-NOTICES.md @@ -0,0 +1,415 @@ +# Third-party notices + +These notices and license texts apply only to the named third-party components +below. They do not license the plugin itself or its upstream plugin code, and +do not replace or resolve the plugin's separate license and attribution review. + +This is a nonexhaustive inventory of direct third-party components, not a +complete software bill of materials or a statement of blanket license +compliance. Review of transitive dependencies, including dependencies embedded +in distributed binaries, remains outstanding; additional licenses and notices +may be required. + +This file resides in the plugin source subtree, which the package build copies +recursively, so these notices are automatically included in the plugin package. +The version-specific upstream sources below were retrieved and verified on +2026-10-12. License and NOTICE blocks are reproduced in full; the QR section +also supplies the complete canonical MIT terms referenced by its source header. + +| Direct component | Version / upstream tag | License included here | +| --- | --- | --- | +| js-yaml | 4.1.0 / `4.1.0` | MIT | +| qrcode-generator (JavaScript) | 1.4.4 / `js1.4.4` | MIT | +| Docker Compose | v5.5.0 / `v5.5.0` | Apache-2.0, with upstream NOTICE | +| resvg | v0.48.1 / `v0.48.1` | MIT explicitly selected | +| Ace builds | v1.43.5 / `v1.43.5` | BSD-3-Clause | + +## js-yaml 4.1.0 — MIT + +Upstream license source: + + +Complete upstream license text: + +```text +(The MIT License) + +Copyright (C) 2011-2015 by Vitaly Puzrin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +``` + +## qrcode-generator 1.4.4 (JavaScript) — MIT + +The JavaScript release tag is `js1.4.4`, not `1.4.4` or `v1.4.4`. +Its tagged package metadata identifies version 1.4.4 and the MIT license: + + +Upstream source notice: + + +Complete tagged JavaScript header, including its attribution and trademark notice: + +```text +//--------------------------------------------------------------------- +// +// QR Code Generator for JavaScript +// +// Copyright (c) 2009 Kazuhiko Arase +// +// URL: http://www.d-project.com/ +// +// Licensed under the MIT license: +// http://www.opensource.org/licenses/mit-license.php +// +// The word 'QR Code' is registered trademark of +// DENSO WAVE INCORPORATED +// http://www.denso-wave.com/qrcode/faqpatent-e.html +// +//--------------------------------------------------------------------- +``` + +The header references MIT rather than embedding its full terms. The complete +canonical MIT text is supplied below with the header's copyright attribution. +Its permission, condition, and disclaimer text matches the MIT terms above; +canonical terms were also checked against +. + +```text +MIT License + +Copyright (c) 2009 Kazuhiko Arase + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +``` + +## Docker Compose v5.5.0 — Apache-2.0 + +Upstream license source: + + +Complete upstream license text, including its appendix: + +```text + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +``` + +### Docker Compose v5.5.0 — NOTICE + +Upstream NOTICE source: + + +Complete upstream NOTICE text (the upstream heading says "V2" even at this tag): + +```text +Docker Compose V2 +Copyright 2020 Docker Compose authors + +This product includes software developed at Docker, Inc. (https://www.docker.com). +``` + +## resvg v0.48.1 — MIT selected + +For resvg itself, the MIT license option is explicitly selected from upstream's +MIT OR Apache-2.0 licensing. This selection does not license resvg's transitive +dependencies; their review remains outstanding. + +Upstream MIT license source: + + +Complete upstream MIT license text: + +```text +Copyright 2017 the Resvg Authors + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +``` + +## Ace builds v1.43.5 — BSD-3-Clause + +Upstream license source: + + +Complete upstream license text: + +```text +Copyright (c) 2010, Ajax.org B.V. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Ajax.org B.V. nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +``` From 87b7b213b0d80cfa9d46eb98dbe710fe7537e332 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 12 Oct 2026 14:24:58 +0000 Subject: [PATCH 2/2] fix packaged licensing document links Co-authored-by: mstrhakr <37352843+mstrhakr@users.noreply.github.com> --- source/compose.manager/licenses/LICENSING.md | 2 +- source/compose.manager/licenses/PROJECT-LICENSE.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/compose.manager/licenses/LICENSING.md b/source/compose.manager/licenses/LICENSING.md index 5e7e75fd..43a2faa1 100644 --- a/source/compose.manager/licenses/LICENSING.md +++ b/source/compose.manager/licenses/LICENSING.md @@ -5,7 +5,7 @@ advice or a determination of copyright ownership. ## License status -[The project license](../../../LICENSE) grants MIT permissions only for original +[The project license](PROJECT-LICENSE.txt) grants MIT permissions only for original material owned and licensable by Nick Szittai (mstrhakr). It does **not** license inherited upstream material, independently owned contributions, or third-party components. The same scoped text is shipped as [PROJECT-LICENSE.txt](PROJECT-LICENSE.txt). diff --git a/source/compose.manager/licenses/PROJECT-LICENSE.txt b/source/compose.manager/licenses/PROJECT-LICENSE.txt index f2868b54..c8748221 100644 --- a/source/compose.manager/licenses/PROJECT-LICENSE.txt +++ b/source/compose.manager/licenses/PROJECT-LICENSE.txt @@ -10,8 +10,8 @@ Changes to an inherited file do not relicense its underlying material. No license grant for the original upstream plugin has been established. This repository as a whole is not cleared for unrestricted redistribution by this file. Other rights holders retain their rights; separately licensed components -retain their own licenses. See source/compose.manager/licenses/LICENSING.md and -source/compose.manager/licenses/THIRD-PARTY-NOTICES.md for evidence and unresolved +retain their own licenses. See LICENSING.md and +THIRD-PARTY-NOTICES.md for evidence and unresolved permissions. This scope notice is separate from the unmodified MIT terms below. MIT License