Files
Workspace/THIRD-PARTY-NOTICES.md
T
2026-09-04 23:03:02 +08:00

5.3 KiB
Raw Blame History

第三方声明(THIRD-PARTY NOTICES

本文件说明 ShrinkSDK Workspace 的第三方概念参考、依赖与对应许可证遵从情况。最后核对日期:2026-08-29。

结论速览

对象 关系 许可证 义务
NeoForge / Minecraft Forge 设计概念参考(未复制代码) LGPL-2.1 无强制义务,本文档致谢
MessagePipeCysharp 设计概念参考(未复制代码、未引入包) MIT 无强制义务,本文档致谢
AlicizaXGitHub 组织) 无引用 MIT / Apache-2.0
Kcp-CSharp.dll 内嵌二进制(Assets/Modules/ShrinkNetwork/Plugins/ MIT 保留版权与许可声明(见下)
System.Runtime.CompilerServices.Unsafe.dll 内嵌二进制(Assets/Modules/ShrinkNetwork/Plugins/ MIT 保留版权与许可声明(见下)
UniTask 包管理器依赖(不随本仓库再分发) MIT 许可文本随包分发
MessagePack 包管理器依赖(不随本仓库再分发) MIT 许可文本随包分发
Newtonsoft.Json 包管理器依赖(不随本仓库再分发) MIT 许可文本随包分发

概念参考归致

NeoForge / Minecraft ForgeLGPL-2.1

ShrinkEventBusShrinkModFramework 在 API 语义与设计思路上参考了 Forge / NeoForge

  • 五级订阅优先级 ShrinkEventPriority.Highest / High / Normal / Low / Lowest 对应 Forge EventPriority
  • [ShrinkSubscribe(receiveCanceled: ...)] 对应 @SubscribeEvent(receiveCanceled = ...)
  • EventResult { DEFAULT, ALLOW, DENY } 对应 Forge Event.Result
  • IShrinkEventBus.Attach(object) 的对象注册范式对应 MinecraftForge.EVENT_BUS.register(...)

以上为 API 概念与命名语义层面的借鉴。实现(IL 后处理静态绑定、泛型静态槽位通道、UniTask 调度集成、写时复制 handler 快照等)均为本项目原创,未复制 NeoForge / Minecraft Forge 的任何源代码,因此不构成 LGPL-2.1 意义上的衍生作品。该边界与 Docs/JustAnyProjectArchitectureAudit.mdA.3 参考边界)的既有声明一致。

MessagePipeMIT

MessagePipe 未作为依赖引入,EventBus 也不提供 IPublisher/ISubscriber 拆分或 DI 集成,与 MessagePipe 的 API 形态不构成高度相似。仅借鉴其"独立 broker + 稳定 handler 快照 + 低分配发布路径"的实现思路(见 Docs/JustAnyProjectArchitectureAudit.md A.3),不构成代码衍生。

AlicizaX

本仓库及全部子模块未引用、未复制、未派生 https://github.com/AlicizaX 下任何仓库的代码或资产。

随本仓库分发的第三方二进制

以下 DLL 直接存放在 Assets/Modules/ShrinkNetwork/Plugins/,随仓库与构建产物分发,按 MIT 要求保留其版权与许可声明:

Kcp-CSharp.dll

System.Runtime.CompilerServices.Unsafe.dll

  • 来源:NuGet 包 System.Runtime.CompilerServices.Unsafe
  • 许可证:MITCopyright (c) .NET Foundation and Contributors

MIT 许可证全文(适用于上述两个组件)

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.

包管理器依赖(不随本仓库再分发)

以下依赖通过 Unity Package Manager 或 NuGet 引入,许可证文本随各自包分发,此处仅作登记:

维护者注意

  • ShrinkNetwork 模块独立发布时,应把"随本仓库分发的第三方二进制"一节同步进该模块仓库(模块是独立公开仓库,根仓库声明不能覆盖其独立分发路径)。
  • Mod SDK 导出器(ShrinkModSdkExporter)目前只导出 ShrinkSDK 自有程序集;若未来把上述第三方 DLL 一并打包进导出包,必须在导出包内附带对应许可声明。