docs
This commit is contained in:
@@ -143,3 +143,4 @@ GeneratedServers/ExampleGreedMod.Rules/*
|
||||
!GeneratedServers/ExampleGreedMod.Rules/ExampleGreedMod.Rules.csproj
|
||||
!GeneratedServers/ExampleGreedMod.Rules/pack-mod.ps1
|
||||
GeneratedModSdk/
|
||||
.mimosa/
|
||||
|
||||
@@ -43,3 +43,7 @@ https://git.crash.work/ShrinkSDK/Installer.git#v0.2.4
|
||||
随后在 Unity 打开 `ShrinkSDK/包管理`。UI Toolkit 窗口会显示直接与间接依赖的真实安装状态,并按 Context 组合基础、应用宿主、独立功能和模块集成组织固定版本包与推荐组合。安装器只合并 `com.cneicy` registry 和依赖数据,不写认证信息,也不复制模板到 `Assets`。
|
||||
|
||||
发布、子模块迁移和独立开发宿主生成规则位于 [Tools/RepositoryMigration/Initialize-ShrinkSdkPackageRepositories.ps1](Tools/RepositoryMigration/Initialize-ShrinkSdkPackageRepositories.ps1)。架构约束与跨包验证要求见 [DESIGN.md](DESIGN.md)。
|
||||
|
||||
## 第三方与合规
|
||||
|
||||
概念参考(NeoForge / Minecraft Forge、MessagePipe)与随仓库分发的第三方二进制(Kcp-CSharp.dll 等)的许可证遵从情况见 [THIRD-PARTY-NOTICES.md](THIRD-PARTY-NOTICES.md)。
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
# 第三方声明(THIRD-PARTY NOTICES)
|
||||
|
||||
本文件说明 ShrinkSDK Workspace 的第三方概念参考、依赖与对应许可证遵从情况。最后核对日期:2026-08-29。
|
||||
|
||||
## 结论速览
|
||||
|
||||
| 对象 | 关系 | 许可证 | 义务 |
|
||||
| --- | --- | --- | --- |
|
||||
| NeoForge / Minecraft Forge | 设计概念参考(未复制代码) | LGPL-2.1 | 无强制义务,本文档致谢 |
|
||||
| MessagePipe(Cysharp) | 设计概念参考(未复制代码、未引入包) | MIT | 无强制义务,本文档致谢 |
|
||||
| AlicizaX(GitHub 组织) | 无引用 | 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 Forge(LGPL-2.1)
|
||||
|
||||
`ShrinkEventBus` 与 `ShrinkModFramework` 在 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.md`(A.3 参考边界)的既有声明一致。
|
||||
|
||||
### MessagePipe(MIT)
|
||||
|
||||
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
|
||||
|
||||
- 来源:https://github.com/Molth/Kcp-CSharp (NuGet 包 `Kcp-CSharp` 1.0.8)
|
||||
- 用途:`ShrinkNetwork` KCP 传输层
|
||||
- 许可证:MIT,Copyright (c) 2024 Nevin
|
||||
- 上游协议实现 KCP:https://github.com/skywind3000/kcp ,MIT,Copyright (c) 2017 Lin Wei (skywind3000 at gmail.com)
|
||||
|
||||
### System.Runtime.CompilerServices.Unsafe.dll
|
||||
|
||||
- 来源:NuGet 包 `System.Runtime.CompilerServices.Unsafe`
|
||||
- 许可证:MIT,Copyright (c) .NET Foundation and Contributors
|
||||
|
||||
### MIT 许可证全文(适用于上述两个组件)
|
||||
|
||||
```text
|
||||
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 引入,许可证文本随各自包分发,此处仅作登记:
|
||||
|
||||
- UniTask 2.5.10 — MIT — Copyright (c) 2019 Yoshifumi Kawai / Cysharp, Inc. — https://github.com/Cysharp/UniTask
|
||||
- MessagePack 3.1.4 — MIT — Copyright (c) 2017 Yoshifumi Kawai and contributors — https://github.com/MessagePack-CSharp/MessagePack-CSharp
|
||||
- Newtonsoft.Json 13.0.3 — MIT — Copyright (c) 2007 James Newton-King — https://github.com/JamesNK/Newtonsoft.Json
|
||||
- Unity 官方包 — 按 Unity 各自许可条款分发
|
||||
|
||||
## 维护者注意
|
||||
|
||||
- `ShrinkNetwork` 模块独立发布时,应把"随本仓库分发的第三方二进制"一节同步进该模块仓库(模块是独立公开仓库,根仓库声明不能覆盖其独立分发路径)。
|
||||
- Mod SDK 导出器(`ShrinkModSdkExporter`)目前只导出 ShrinkSDK 自有程序集;若未来把上述第三方 DLL 一并打包进导出包,必须在导出包内附带对应许可声明。
|
||||
Reference in New Issue
Block a user