XTOS / OPEN SOURCE REAL-TIME SYSTEMOPEN SOURCE · VERSION 0.9.0 · BUILD FROM SOURCE
文档许可证

许可证

按组件阅读 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-bciApache-2.0源文件和头文件由 LICENSE-NOTICE 第 1 部分列出。
tools/、examples/、system/、scripts/Apache-2.0XTOS 用户态工具、示例、rootfs 和自动化。
kernel/xtos_defconfigApache-2.0LICENSE-NOTICE 单独列出的配置片段。
kernel/linux/GPL-2.0 WITH Linux-syscall-notekernel/linux/COPYING;文件仍可能有其他 SPDX。
kernel/patches/GPL-2.0PREEMPT_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 部分执行。
新用户态 C 文件的标记和修改说明。
/* 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.hGPL-2.0 WITH Linux-syscall-note;定义整数 ioctl ABI。
sdk/libxtos-bci/include/xtos/bci_uapi.hLICENSE-NOTICE 将 SDK 头文件列为 Apache-2.0;必须与内核 ABI 对齐。
用户态 session.copen/read/ioctl/mmap 使用内核服务,不表示链接内核驱动代码。
XTOS 内核调度和 BCI内核侧 GPL-2.0;保留原文件许可。

分发材料

按准确提交和构建产物列出组件,保留许可证原文、组件边界和修改记录。镜像、模块、BusyBox、SDK archive 和工具可以同包分发,但许可证和对应源码要逐项对应。

主机:从提交读取许可证原文和 UAPI 标记。
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
  1. 保留根 LICENSE、LICENSE-NOTICE、内核 COPYING、GPL 和 syscall-note 文本。
  2. 分发 BusyBox 时保留独立 LICENSE,并提供匹配二进制的源码和修改。
  3. 检查新增文件 SPDX、上游署名和修改说明;不要把第三方文件统一改为 Apache-2.0。
  4. 让源码提交、配置、内核补丁和构建脚本与产物匹配。

源码: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。