mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-10-04 00:03:59 +00:00
license: 明确内核 AGPL / SDK MIT 的边界(插件不受 AGPL 传染)
SDK 仓改为 MIT(同批提交 e97cafc)后,核心仓几处「插件静态链接 SDK 故须同许可」 的论述不再成立,一并更正。 ## 边界(现在写清楚了) - **AGPL-3.0-only 覆盖内核与随包内置插件**:homed、internal/、internal/plugins/ 下 18 个内置插件。§13 网络条款照旧适用。 - **MIT 覆盖公开 SDK**:sdk/ 零外部依赖、只依赖 Go 标准库,不引用内核任何代码。 - 因此**外部插件不是本项目的衍生作品**,作者可自行选择许可(含闭源、商业、 私有),既不必同许可、也不受 §13 约束。 ## 改动 - README.md / README_EN.md「许可」章节:改写静态链接那段,写明上述边界与理由 (决定许可的是被链接的 SDK 代码,而它是 MIT;子进程隔离不再是关键论点) - README.md / README_EN.md changelog:**按本仓惯例保留历史原文**,在既有更正 注记区追加一条「许可口径已变更(2026-09-24)」,而不是去改写 v1.2.0 的原文 —— 避免伪造当时的语境 - site/index.html footer:状态栏拆成「内核许可:AGPL-3.0-only」+「插件 SDK:MIT」 两行;声明区分「AGPL(内核与其内置插件)」与「SDK 以 MIT 发布,插件不受传染」 - .gitignore:example/ 注释里的计数 20 → 21(实际 10 个示例 ×2 + qq/plugin_test.go; 规则本身与「有意保留」的说明不变) 验证:go build ./internal/meta/ ./internal/agent/core/ 通过;官网 1440px 无横向溢出、 无控制台错误,footer 许可两行正确渲染(/tmp/lic-footer.png)。
This commit is contained in:
15
README.md
15
README.md
@ -257,6 +257,11 @@ internal/
|
||||
> 以下历史条目保留原文以呈现演进,其中两条机制**已在 v1.2.0 移除**:
|
||||
> 「媒体以 `[<mime> <短digest>] <描述>` 标记参与检索」(描述式索引)与「媒体引用计数式 GC」。
|
||||
>
|
||||
> 另有**一处许可口径已变更**(2026-09-24):上面 v1.2.0 条目里的「插件静态链接 SDK 故须同许可」
|
||||
> **自今日起不成立**。SDK 改以 **MIT** 发布(宽松许可,不继承内核的 AGPL),故外部插件**不是**
|
||||
> 本项目的衍生作品,作者可自行选择许可(含闭源、商业、私有),亦不受 §13 网络条款约束。
|
||||
> 原文保留以呈现当时的口径。
|
||||
>
|
||||
> 另有**两项性能断言的量纲需要更正**(2026-09-20 实测):
|
||||
> 「崩溃到恢复 <1s」不成立 —— 崩溃后是**线性退避重启**,即 1s / 2s / 3s(`procRestartBackoff=1s × 第 n 次`),
|
||||
> 首次重启就要等 1s。且 5 分钟窗口内第 **4** 次崩溃即停止自动重启待人工介入(`procMaxRestarts=3`,判定为 `n > 3`)。
|
||||
@ -323,8 +328,14 @@ make install # 安装到系统
|
||||
**通过网络提供服务时也要向使用者提供源码**(§13 Remote Network Interaction)。
|
||||
即:任何人把改过的 HomeAgent 对外提供网络服务,都必须让该服务的使用者拿到改动后的源码。
|
||||
|
||||
插件与本项目通过公开 SDK **静态链接**(SDK 源码会进入插件二进制),因此插件是本项目的
|
||||
衍生作品,需以相同许可发布;子进程隔离不改变这一点,因为被链接的是 SDK 代码本身。
|
||||
插件与本项目通过公开 [homeagent-sdk](https://gitcode.com/JianFeeeee/homeagent-sdk) 静态链接
|
||||
(SDK 源码会进入插件二进制),但那个仓**以 MIT 发布**——MIT 是宽松许可,拿到授权的代码不继承
|
||||
本项目的 AGPL。因此**外部插件不是本项目的衍生作品**,作者可自行选择许可(含闭源、商业、私有),
|
||||
既不必同许可、也不受 §13 网络条款约束。第三方插件生态的安全与活跃正建立在这条之上。
|
||||
|
||||
边界很清楚:**AGPL 覆盖内核与随包内置插件**(`homed`、`internal/`、`internal/plugins/` 下 18 个内置插件);
|
||||
**MIT 覆盖公开 SDK**(`sdk/`,`go.mod` 零外部依赖、只依赖 Go 标准库,不引用内核任何代码)。
|
||||
子进程隔离在这里不重要了——决定许可的是被链接的 SDK 代码本身,而它是 MIT。
|
||||
|
||||
### 随包分发的第三方组件
|
||||
|
||||
|
||||
Reference in New Issue
Block a user