许可证
按组件阅读 Apache-2.0、Linux GPL-2.0 和 BusyBox GPL-2.0。
本页目录
组件许可
仓库不是单一许可证。根 LICENSE 是 Apache License 2.0;LICENSE-NOTICE 列出 XTOS 用户态材料,并单独列出内核、补丁和 BusyBox。具体文件还要看其 SPDX 标记。
| 路径 | 许可证 | 依据 |
|---|---|---|
| sdk/libxtos-rt、libxtos-signal、libxtos-bci | Apache-2.0 | 源文件和头文件由 LICENSE-NOTICE 第 1 部分列出。 |
| tools/、examples/、system/、scripts/ | Apache-2.0 | XTOS 用户态工具、示例、rootfs 和自动化。 |
| kernel/xtos_defconfig | Apache-2.0 | LICENSE-NOTICE 单独列出的配置片段。 |
| kernel/linux/ | GPL-2.0 WITH Linux-syscall-note | kernel/linux/COPYING;文件仍可能有其他 SPDX。 |
| kernel/patches/ | GPL-2.0 | PREEMPT_RT 和 XTOS 内核侧集成补丁。 |
| userspace/busybox/ | GPL-2.0,仅第 2 版 | BusyBox 1.37.0 的独立 LICENSE。 |
Apache-2.0 用户态
Apache-2.0 允许在条款范围内复制、修改、再许可以及分发源码或目标形式,并提供相应贡献者专利许可。分发 XTOS SDK 和工具时保留许可证、署名、NOTICE 和修改说明。
- 随副本提供 Apache License 2.0 文本。
- 在修改文件中显著说明修改。
- 保留适用的版权、专利、商标和署名通知。
- 分发内容含 NOTICE 时,保留可读 NOTICE 副本。
- Apache-2.0 不授予一般商标权;专利诉讼终止条件按 LICENSE 第 3 部分执行。
/* SPDX-License-Identifier: Apache-2.0 */
/* Describe modifications in the changed file. */GPL 与组件
kernel/linux/COPYING 使用 GPL-2.0 WITH Linux-syscall-note。内核补丁按 GPL-2.0 处理。BusyBox LICENSE 明确本版本只能按 GPL 第 2 版分发,不是“第 2 版或更高版本”。
| 分发形式 | 材料 |
|---|---|
| 源码 | 保留版权、许可、无担保通知、修改说明和对应 GPL 文本。 |
| 内核、模块或 BusyBox 二进制 | 按 GPL-2.0 第 3 部分提供对应源码;随附完整对应源码是直接方式。 |
| 对应源码 | 包括修改源码、接口定义、编译/安装脚本、配置和内核补丁。 |
| 书面要约 | 选择 GPL-2.0 第 3(b) 部分时,书面要约至少有效三年,并满足向第三方提供源码的条件。 |
把 BusyBox、Apache SDK 和内核放进同一个 initramfs,不会合并它们的许可证。系统镜像分发要同时提供内核、BusyBox、SDK 和工具各自需要的材料;根 LICENSE 单独不够。
UAPI 边界
LICENSE-NOTICE 说明 Apache-2.0 用户态 SDK 通过 ioctl 和系统调用 ABI 使用 GPL 内核服务,而不是链接 XTOS 内核实现。Linux-syscall-note 说明普通系统调用使用不使用户程序成为内核衍生作品;它不授权把内核驱动复制进用户态。
| 接口或实现 | 许可与边界 |
|---|---|
| kernel/linux/include/uapi/linux/xtos_bci.h | GPL-2.0 WITH Linux-syscall-note;定义整数 ioctl ABI。 |
| sdk/libxtos-bci/include/xtos/bci_uapi.h | LICENSE-NOTICE 将 SDK 头文件列为 Apache-2.0;必须与内核 ABI 对齐。 |
| 用户态 session.c | open/read/ioctl/mmap 使用内核服务,不表示链接内核驱动代码。 |
| XTOS 内核调度和 BCI | 内核侧 GPL-2.0;保留原文件许可。 |
分发材料
按准确提交和构建产物列出组件,保留许可证原文、组件边界和修改记录。镜像、模块、BusyBox、SDK archive 和工具可以同包分发,但许可证和对应源码要逐项对应。
git rev-parse HEAD
git show HEAD:LICENSE-NOTICE
git show HEAD:LICENSE
git show HEAD:kernel/linux/COPYING
git show HEAD:kernel/linux/LICENSES/preferred/GPL-2.0
git show HEAD:kernel/linux/LICENSES/exceptions/Linux-syscall-note
git show HEAD:userspace/busybox/LICENSE
git show HEAD:kernel/linux/include/uapi/linux/xtos_bci.h- 保留根 LICENSE、LICENSE-NOTICE、内核 COPYING、GPL 和 syscall-note 文本。
- 分发 BusyBox 时保留独立 LICENSE,并提供匹配二进制的源码和修改。
- 检查新增文件 SPDX、上游署名和修改说明;不要把第三方文件统一改为 Apache-2.0。
- 让源码提交、配置、内核补丁和构建脚本与产物匹配。
源码:LICENSE-NOTICE、LICENSE、kernel/linux/COPYING、kernel/linux/LICENSES/preferred/GPL-2.0、kernel/linux/LICENSES/exceptions/Linux-syscall-note、userspace/busybox/LICENSE 和 kernel/linux/include/uapi/linux/xtos_bci.h。