PX4 中 AMOVLAB Flycore 板级支持的开源许可证全景解析:BSD、Apache、MIT 与 CC-BY 的合规边界 嵌入式物联网机器人自动驾驶智能硬件【免费下载链接】PX4-AutopilotPX4 Autopilot Software项目地址https://gitcode.com/gh_mirrors/px/PX4-Autopilot点击查看免费下载AMOVLAB Flycore 是 PX4 支持的一款 STM32H7 飞控硬件其固件镜像由 PX4 板级代码、NuttX 实时操作系统与多款第三方库共同构建因此它的许可证构成比单一项目复杂得多。boards/amovlab/flycore/LICENSE.md 正是这样一份“许可全景图”它基于本仓库内实际存在的 LICENSE、README、NOTICE 与文件头逐项核对为 Flycore 板级支持及最终固件镜像给出逐路径的许可证归属说明。读完本文你将掌握 Flycore 固件中每一类源码的许可来源、SPDX 标识的落地方式以及商用与再分发时应当注意的合规边界。许可全景总览三层来源三种开放许可Flycore 固件镜像的代码并非单一许可。按该文档的梳理来源可以分为三个层次仓库主体PX4 仓库根目录采用 BSD-3-Clause 许可仓库根目录的 LICENSE 文件明确声明Copyright (c) 2012 - 2025, PX4 Development Team且根目录 README.md 同样声明 PX4 源码为 BSD-3-Clause。文档资产PX4 文档单独采用 CC-BY-4.0 许可与源码许可相互独立文档与图片不属于固件镜像的一部分。第三方组件各第三方组件保留各自许可Apache-2.0、MIT、ISC 等如下表逐项列出。这一分层结构决定了同一个固件镜像在“源码再分发”“二进制再分发”“文档复用”三个场景下的义务各不相同BSD-3-Clause 与 MIT 只需保留版权声明Apache-2.0 还需要保留 NOTICE 并标注修改而 CC-BY-4.0 的文档则要求署名与相同方式共享。逐路径许可证明细表核心内容下表完整继承自 boards/amovlab/flycore/LICENSE.md是 Flycore 合规核查的第一手依据。表格覆盖了 Flycore 板级支持代码、NuttX 配置、PX4 上游代码、RTOS、驱动集成与第三方子模块每一行都标注了路径范围、来源、许可与注意事项路径 / 模块来源许可版权备注boards/amovlab/flycore/src/*.c、*.cpp、*.h、src/CMakeLists.txtAMOVLAB Flycore 板级支持代码改编自 PX4 板级代码BSD-3-Clause存在 PX4 Development Team 版权头Flycore 适配为 AMOVLAB 板级支持贡献大部分源文件包含 BSD-3-Clause 许可文本与 PX4 版权头boards/amovlab/flycore/nuttx-config/include/board.h、nuttx-config/scripts/*.ld、src/sdio.cFlycore 专属 NuttX 板级配置源自 NuttX/PX4 板级支持BSD-3-Clause 风格 NuttX 许可文本文件头内Gregory Nutt 和/或 PX4 Development Team视文件而定文件含 NuttX/PX4 宽松许可头及 Flycore 专属硬件配置值boards/amovlab/flycore/default.px4board、bootloader.px4board、firmware.prototype、init/*、nuttx-config/Kconfig、nuttx-config/bootloader/defconfig、nuttx-config/nsh/defconfigAMOVLAB Flycore 板级构建、启动与默认配置BSD-3-ClauseAMOVLAB/PX4 贡献者可注释的配置文件内含 SPDX 标识firmware.prototype为 JSON故在本文档说明而非插入非法 JSON 注释boards/amovlab/flycore/extras/amovlab_flycore_bootloader.bin生成的 Flycore 引导程序二进制与构建其使用的引导源码组件相同的许可集合源自 PX4 与 NuttX 引导源码由make amovlab_flycore_bootloader生成二进制文件本身无法内嵌源码头LICENSE、README.md、src/**、platforms/common/**、platforms/nuttx/src/px4/**Flycore 固件复用的 PX4 上游代码BSD-3-ClausePX4 Development Team仓库根LICENSE为 BSD-3-Clause根README.md声明 PX4 源码为 BSD-3-Clausedocs/**含docs/en/flight_controller/amovlab_flycore.md与docs/assets/flight_controller/amovlab_flycore/**PX4 文档与 Flycore 文档素材CC-BY-4.0AMOVLAB 与 PX4 文档贡献者docs/LICENSE为 CC-BY-4.0Flycore 文档图片归 AMOVLAB 所有或经授权使用可按 PX4 文档许可贡献文档素材不属于固件镜像platforms/nuttx/NuttX/nuttx/**Apache NuttX RTOSApache-2.0含LICENSE/NOTICE中的附加第三方声明Apache Software Foundation 及列出的第三方作者NuttX 根LICENSE为 Apache-2.0部分旧文件或导入文件含兼容的 BSD 风格声明需按文件头核对逐文件归属platforms/nuttx/NuttX/apps/**Apache NuttX AppsApache-2.0含LICENSE/NOTICE中的附加第三方声明Apache Software Foundation 及列出的第三方作者NuttX Apps 根LICENSE为 Apache-2.0并记录捆绑的兼容组件platforms/nuttx/NuttX/nuttx/arch/arm/src/imxrt/**、s32k1xx/**、s32k3xx/**、platforms/nuttx/NuttX/nuttx/boards/arm/s32k*/**仓库内的 NXP i.MXRT/S32K NuttX HAL 与板级支持NuttX 文件为 Apache-2.0部分 NXP/Freescale 来源代码含兼容 BSD 风格声明Apache Software Foundation存在 NXP/Freescale 版权本地文件含 Apache Software Foundation 头与 NXP 版权声明。Flycore 使用 STM32H7这些 NXP 路径属于仓库组件但不参与 Flycore 目标构建src/drivers/uavcan/**不含libdronecanPX4 DroneCAN/UAVCAN 集成BSD-3-ClausePX4 Development TeamPX4 集成层遵循仓库许可与文件头Flycore 启用 UAVCAN 支持src/drivers/uavcan/libdronecan/**DroneCAN/libuavcan 第三方库MITPavel Kirienko存在 UAVCAN/DroneCAN Development Teamsrc/drivers/uavcan/libdronecan/LICENSE与dsdl/LICENSE均为 MITsrc/drivers/cyphal/**不含子模块与o1heapPX4 Cyphal 集成BSD-3-ClausePX4 Development Team本地 PX4 Cyphal 集成文件带 PX4 版权头遵循仓库 BSD-3-Clausesrc/drivers/cyphal/o1heap/**Cyphal 使用的 o1heap 分配器MIT 风格宽松许可文本文件头内Pavel Kirienko本地o1heap.c/o1heap.h含 MIT 授权与版权声明src/drivers/cyphal/libcanard、public_regulated_data_types、legacy_data_typesCyphal/OpenCyphal 数据类型与 libcanard 子模块待核实TBD待核实TBD本检出中为 gitlink 且未本地初始化无法本地核验其许可文件列出仅为仓库完整性。Flycore 默认固件构建启用的是src/drivers/uavcan/libdronecanMIT已本地核验src/modules/mavlink/mavlink/**MAVLink 子模块生成器为 (L)GPL v3生成的代码按COPYING中的例外条款为 MITMAVLink 贡献者与 Free Software Foundation视情况固件使用生成的 MAVLink 代码COPYING声明生成的二进制/产品输出为 MITsrc/modules/uxrce_dds_client/Micro-XRCE-DDS-Client/**Micro-XRCE-DDS Client PX4 子模块Apache-2.0上游贡献者需要时按文件核验版权本地LICENSE为 Apache-2.0src/drivers/gps/devices/**PX4 GPSDrivers 子模块BSD-3-ClausePX4 Pro Drone Autopilot本地LICENSE.md含 BSD-3-Clause 许可文本src/lib/events/libevents/**MAVLink libevents 子模块BSD-3-ClauseMAVLink Development Team本地LICENSE.md含 BSD-3-Clause 许可文本src/lib/heatshrink/heatshrink/**heatshrink 压缩库ISC 风格宽松许可文本Scott Vokes本地LICENSE授予使用、复制、修改与分发权利并要求署名src/drivers/ins/microstrain/mip_sdk/**MicroStrain MIP SDKMITParker Hannifin Corp.本地LICENSE.txt为 MITsrc/drivers/ins/sbgecom/sbgECom/**SBG Systems ECom SDKMITSBG Systems SAS本地LICENSE.md为 MITsrc/drivers/transponder/sagetech_mxs/sg_sdk/**Sagetech SDKApache-2.0待核实需核对文件头本地LICENSE为 Apache-2.0该 SDK 未选入本地 Flycore 默认固件构建src/lib/crypto/monocypher、libtomcrypt、libtommathPX4 引用的加密子模块待核实TBD待核实TBD本检出中为 gitlink 且未本地初始化无法本地核验许可文件未选入本地 Flycore 默认固件构建这张表的实用价值在于它明确区分了“已核验”“未选入默认构建”“gitlink 未初始化”三类状态避免把仓库内所有路径一概当作固件组成部分来处理。从源码看许可声明的实际落地该文档的结论并非空泛声明而是与仓库内的实际文件头一一对应。以 boards/amovlab/flycore/src/board_config.h 为例其文件头完整包含 BSD-3-Clause 三条款文本及Copyright (c) 2025 PX4 Development Team声明boards/amovlab/flycore/src/sdio.c 与 boards/amovlab/flycore/nuttx-config/include/board.h 则采用 NuttX 风格的 BSD 许可文本版权标注为 Gregory Nutt 与 David Sidrane——这正是上表第二行“NuttX/PX4 宽松许可头”的实物证据。可以从源码结构推断的是Flycore 板级代码整体沿用 PX4 板级支持的模板结构board_config.h、hw_config.h、init.c、led.c、usb.c等一应俱全因此许可头也继承了 PX4 与 NuttX 的既有署名Flycore 的适配贡献则以 AMOVLAB 名义补充。SPDX 标识可注释文件与 JSON 模板的不同处理文档单列“Flycore 文件头状态”一节说明 SPDX 标识的落地方式。以下 8 个可注释配置文件均加入了 SPDX 标识boards/amovlab/flycore/bootloader.px4boardboards/amovlab/flycore/default.px4boardboards/amovlab/flycore/init/rc.board_defaultsboards/amovlab/flycore/init/rc.board_sensorsboards/amovlab/flycore/nuttx-config/Kconfigboards/amovlab/flycore/nuttx-config/bootloader/defconfigboards/amovlab/flycore/nuttx-config/nsh/defconfigboards/amovlab/flycore/src/hw_config.h例如 default.px4board 第 2 行为# SPDX-License-Identifier: BSD-3-Clauseinit/rc.board_defaults 第 3 行同样以 shell 注释形式携带 SPDX 标识src/hw_config.h 第 1 行则以 C 注释形式书写。这体现了一个细节SPDX 标识必须依托合法的注释语法。而 firmware.prototype 是 JSON 模板内容包含board_id: 1218、magic: AMOVLABv1、image_maxsize: 1966080等字段若强行插入//或/* */注释将破坏 JSON 合法性因此它保持无内联 SPDX 注释其许可归属由本文档与 AMOVLAB Flycore 板级支持贡献声明覆盖。固件级合规结论仅限固件的许可兼容性说明文档最后一节“固件级许可兼容性说明”给出了面向最终固件镜像的结论Flycore 固件镜像由宽松许可的 PX4 板级代码、PX4 上游代码、Apache-2.0 的 NuttX RTOS 代码及上表记录的宽松许可第三方库构成在本地源码证据中未发现针对 Flycore 目标的非自由non-FOSS许可。需要特别强调的是两个适用前提表内TBD / needs verification条目均对应未选入本地 Flycore 默认固件构建的仓库组件如 Cyphal gitlink 子模块、Sagetech SDK、加密子模块。若这些组件被启用其许可仍需先完成核验才能将该文档视为覆盖所有仓库子模块的完整证据。NuttX 的 Apache-2.0 与个别 BSD 风格旧文件并存逐文件核验文件头仍是合规审计的推荐做法MAVLink 的“生成器 GPL / 生成代码 MIT”例外条款见src/modules/mavlink/mavlink/COPYING也是此类场景下常见的合规陷阱。延伸阅读Flycore 板级支持源码boards/amovlab/flycore/srcFlycore 构建配置boards/amovlab/flycore/default.px4board 与 bootloader.px4boardFlycore 用户文档docs/en/flight_controller/amovlab_flycore.md仓库根许可声明LICENSE赞分享嵌入式物联网机器人自动驾驶智能硬件【免费下载链接】PX4-AutopilotPX4 Autopilot Software项目地址https://gitcode.com/gh_mirrors/px/PX4-Autopilot点击查看免费下载相关推荐终极鼠标优化指南如何用Mac Mouse Fix让普通鼠标超越苹果触控板终极鼠标优化指南如何用Mac Mouse Fix让普通鼠标超越苹果触控板 还在为Mac上的鼠标体验而烦恼吗普通鼠标在macOS上总是感觉不够流畅Mac M桌面应用系统编程PX4-Autopilot 许可证体系全解BSD-3-Clause 主许可、CC BY 4.0 文档许可与第三方组件合规指南PX4 Autopilot 许可证体系全解BSD 3 Clause 主许可、CC BY 4.0 文档许可与第三方组件合规指南 本篇指南以 PX4 Autopi嵌入式物联网机器人自动驾驶智能硬件TensorRT Demos高级功能DLA核心与INT8校准的实战应用指南TensorRT Demos高级功能DLA核心与INT8校准的实战应用指南 在深度学习推理优化领域 TensorRT Demos 项目提供了强大的工具集特创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考