由于CMSIS上的许可证在开源方面并不明确,因此将 CMSIS 包含在开源项目中可能是违规的,无论它使用 GPL 还是 BSD 样式的许可证。
对于基于 Cortex M 的 MCU,是否有任何 CMSIS 替代方案:与 BSD 或 Apache2.0 许可证兼容?
或者有谁知道是否可以将 CMSIS 包含在开源项目中?
谢谢
由于CMSIS上的许可证在开源方面并不明确,因此将 CMSIS 包含在开源项目中可能是违规的,无论它使用 GPL 还是 BSD 样式的许可证。
对于基于 Cortex M 的 MCU,是否有任何 CMSIS 替代方案:与 BSD 或 Apache2.0 许可证兼容?
或者有谁知道是否可以将 CMSIS 包含在开源项目中?
谢谢
从阅读当前的CMSIS 2.0 许可证来看,似乎不是要阻止您将软件开发为开源或其他方式,而是更多地涉及覆盖 ARM 的屁股。即,他们希望确保您不会声称对代码本身或其中可能包含的任何 IP 拥有所有权,并且它还用于开发符合 CMSIS 的代码,而不是用于其他目的。
根据第 2、3、4 和 5 条的规定,ARM 特此授予您以下任何知识产权:(a) 由 ARM 拥有或可自由许可且无需向非关联第三方支付费用,以及 (b) 体现在其中一个或两个方面源代码和规范,如适用,或必要(在下面的第 4 条中定义)复制或实施符合规范的应用程序二进制接口,永久、非排他性、不可转让、免版税的全球许可
:( i) 使用和复制规范以开发、开发、制造、制造、提供销售、销售、供应或以其他方式分销符合规范的产品;
(ii) 使用、复制、修改和再许可源代码(源代码或目标代码形式)仅用于开发、开发、制造、制造、提供销售、销售、供应或以其他方式分发符合规范,前提是您保留源代码中包含的所有版权声明。源代码和规范归 ARM 或其许可方所有,并受版权法和国际版权条约以及其他知识产权法律和条约的保护。源代码和规范未经许可出售。除非根据第 1 条获得特别许可,否则您不会获得源代码和规范或其中包含的任何知识产权的任何权利、所有权或利益。在任何情况下,根据第 1 条授予的许可均不得解释为以明示或暗示、禁止反言或其他方式授予您使用除源代码和规范之外的任何 ARM 技术的许可。除第 1 条规定外,您无权再许可根据本许可授予您的权利。
也就是说,如果你仍然对这些条款感到不舒服,你可以拿数据表自己制作标题。microbuilder.eu 的人已经做到了这一点,并在 BSD 下发布了他们的LPC1114和LPC1343代码库。
许多 CMSIS 软件组件现在在 BSD 许可下发布。
在CMSIS官方包中,这是“CMSIS END USER LICENSE AGREEMENT.pdf”的相关内容:
The package also includes the components contained in the following directories:
(a) ./CMSIS/DSP_Lib - DSP Library sources and examples;
(B) ./CMSIS/Include - Header files;
(c) ./CMSIS/Lib - DSP Library build for various toolchains;
(d) ./CMSIS/RTOS - Header file template for CMSIS-RTOS implementation; and
(e) ./Device - Template files and implementations for Cortex-M class processors.
All of the above components are licensed to you under the terms of the BSD licence,
which is incorporated within or alongside the above components.
我们在开源、Apache 许可、mbed SDK 中使用许多这些 CMSIS 软件组件:http: //mbed.org/blog/entry/CMSIS-Components-BSD-Licensed/
我不认为有问题。各个文件有这样的声明:
“* ARM Limited (ARM) 提供此软件,用于基于 Cortex-M * 处理器的微控制器。此文件可以在支持此类基于 ARM 的处理器的开发工具中自由分发*。”
而且我也没有在许可证中看到任何排除它的内容。
CMSIS 发行版中有一个 gcc 目录,这意味着它可以提供开源工具。
这个说法:
(i) 使用和复制 CMSIS 规范以开发、已开发、制造、已制造、提供销售、销售、供应或以其他方式分发符合 CMSIS 规范的产品,前提是您保留任何版权声明包含或包含在 CMSIS 规范中,并且您不得使用 ARM 的名称、徽标或商标来推销此类产品;
意味着您可以将 CMSIS 合并到您的开源项目中。