Licensing
Read Apache-2.0, Linux GPL-2.0, and BusyBox GPL-2.0 by component.
On this page
Component licenses
The repository uses multiple licenses. The root LICENSE is Apache License 2.0. LICENSE-NOTICE lists XTOS user-space material and separately identifies the kernel, patches, and BusyBox. Read each file SPDX notice too.
| Path | License | Basis |
|---|---|---|
| sdk/libxtos-rt, libxtos-signal, libxtos-bci | Apache-2.0 | Source and headers are listed in section 1 of LICENSE-NOTICE. |
| tools/, examples/, system/, scripts/ | Apache-2.0 | XTOS user-space tools, examples, rootfs, and automation. |
| kernel/xtos_defconfig | Apache-2.0 | The configuration fragment separately listed by LICENSE-NOTICE. |
| kernel/linux/ | GPL-2.0 WITH Linux-syscall-note | kernel/linux/COPYING; individual files may have other SPDX licenses. |
| kernel/patches/ | GPL-2.0 | PREEMPT_RT and XTOS kernel-side integration patches. |
| userspace/busybox/ | GPL-2.0, version 2 only | The separate LICENSE for BusyBox 1.37.0. |
Apache-2.0 user space
Apache-2.0 permits copying, modifying, sublicensing, and distributing source or object forms within its terms, and provides the stated contributor patent license. Distributions of XTOS SDKs and tools retain licenses, attribution, NOTICE, and modification notices.
- Provide the Apache License 2.0 text with the copy.
- State modifications prominently in changed files.
- Retain applicable copyright, patent, trademark, and attribution notices.
- Retain a readable NOTICE copy when the distribution includes NOTICE material.
- Apache-2.0 grants no general trademark rights; patent-litigation termination follows section 3 of LICENSE.
/* SPDX-License-Identifier: Apache-2.0 */
/* Describe modifications in the changed file. */GPL-2.0 kernel and BusyBox
kernel/linux/COPYING uses GPL-2.0 WITH Linux-syscall-note. Kernel patches use GPL-2.0. BusyBox LICENSE states that this version may be distributed under GPL version 2 only, not version 2 or later.
| Distribution | Materials |
|---|---|
| Source | Retain copyright, license, warranty, modification notices, and the applicable GPL text. |
| Kernel, module, or BusyBox binary | Provide corresponding source under GPL-2.0 section 3; bundling complete corresponding source is the direct option. |
| Corresponding source | Include modified source, interface definitions, build/install scripts, configuration, and kernel patches. |
| Written offer | Under GPL-2.0 section 3(b), the written offer lasts at least three years and must meet its third-party source-provision conditions. |
Putting BusyBox, the Apache SDK, and the kernel in one initramfs does not merge their licenses. A system-image distribution must provide the required materials for the kernel, BusyBox, SDK, and tools; the root LICENSE alone is insufficient.
UAPI boundary
LICENSE-NOTICE describes the Apache-2.0 user-space SDK using GPL kernel services through ioctl and syscall ABI without linking XTOS kernel implementation. Linux-syscall-note covers ordinary syscall use; it does not relicense copied kernel drivers in user space.
| Interface or implementation | License and boundary |
|---|---|
| kernel/linux/include/uapi/linux/xtos_bci.h | GPL-2.0 WITH Linux-syscall-note; defines the integer ioctl ABI. |
| sdk/libxtos-bci/include/xtos/bci_uapi.h | LICENSE-NOTICE lists the SDK header as Apache-2.0; it must match the kernel ABI. |
| User-space session.c | open/read/ioctl/mmap use kernel services; this does not link kernel driver code. |
| XTOS kernel scheduler and BCI | Kernel-side GPL-2.0; retain the original file licenses. |
Distribution materials
Inventory components for the exact commit and artifacts. Retain license texts, component boundaries, and modification records. Images, modules, BusyBox, SDK archives, and tools may share a package, but licenses and corresponding source must match each component.
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- Retain root LICENSE, LICENSE-NOTICE, kernel COPYING, GPL, and syscall-note texts.
- For BusyBox distributions, retain its separate LICENSE and source and changes matching the binary.
- Check SPDX, upstream attribution, and modification notices; do not relabel third-party files as Apache-2.0.
- Match the source commit, configuration, kernel patches, and build scripts to the artifacts.
Source: LICENSE-NOTICE, LICENSE, kernel/linux/COPYING, kernel/linux/LICENSES/preferred/GPL-2.0, kernel/linux/LICENSES/exceptions/Linux-syscall-note, userspace/busybox/LICENSE, and kernel/linux/include/uapi/linux/xtos_bci.h.