[STM32L4] 如何正确声明STM32项目的开源许可证?

[复制链接]
lilaiju 发表于 2025-8-23 04:30 | 显示全部楼层 |阅读模式

我开发了一个STM32 应用程序,使用的是STM32CubeIDE。我想将源代码以GPLv3许可证的形式发布在Github上作为开源项目。但ST提供的源代码适用不同的许可证:HAL驱动程序使用BSD-3-Clause许可证,CMSIS使用Apache许可证,而总体则遵循SLA0048许可证文件。我了解到这些许可证应与GPLv3兼容。
但如何声明许可证信息呢?我想在git仓库的根目录放置GPLv3许可证文本,并在每个我自己编写的文件开头添加简短的许可证声明。还有我会保留所有ST源代码文件中的原始许可证文本。这样可以吗?还是需要明确声明项目中包含的软件组件及其对应的许可证?

公羊子丹 发表于 2025-8-24 07:27 | 显示全部楼层
你这个做法基本正确,自己的代码用GPLv3声明,ST的代码保留原始许可证就行。
周半梅 发表于 2025-8-24 07:28 | 显示全部楼层
一般在仓库根目录放个LICENSE文件,再写个NOTICE或README标明第三方组件及其协议。
帛灿灿 发表于 2025-8-24 07:29 | 显示全部楼层
BSD、Apache跟GPL是兼容的,不冲突,所以可以放心分发。
童雨竹 发表于 2025-8-24 07:30 | 显示全部楼层
建议你在README里写清楚哪些文件是你写的,哪些是ST库,免得别人混淆。
万图 发表于 2025-8-24 07:30 | 显示全部楼层
每个源文件头部保留ST的license注释,这样也符合开源要求。
Wordsworth 发表于 2025-8-24 07:31 | 显示全部楼层
你自己新写的.c/.h文件,加上GPLv3的声明格式就可以了。
Bblythe 发表于 2025-8-24 07:32 | 显示全部楼层
如果想更规范,可以在项目里加一个“LICENSES”目录,分别放置BSD、Apache、GPL的全文。
Pulitzer 发表于 2025-8-24 07:35 | 显示全部楼层
SLA0048其实是ST的使用许可,你在开源时只要不去掉原始声明就不会有问题。
Uriah 发表于 2025-8-24 07:36 | 显示全部楼层
在GitHub上开源项目的话,最好在项目描述里直接注明多许可证情况。
Clyde011 发表于 2025-8-24 07:37 | 显示全部楼层
总之,别混改ST代码的license,保持独立声明,就完全合规。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

37

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

37

主题

37

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部