BSD风格CMSIS的开源替代品?


8

由于CMSIS的许可证在开源方面尚不清楚,因此将CMSIS包含在开源项目中可能是违法的,无论它使用的是GPL还是BSD样式的许可证。

对于基于Cortex M的MCU,是否有与BSD或Apache2.0许可证兼容的CMSIS替代产品?

还是有人知道将CMSIS纳入开源项目是否可以?

谢谢

Answers:


4

现在,许多CMSIS软件组件均以BSD许可证发布。

在CMSIS官方软件包中,这是“ CMSIS最终用户许可协议”中的相关内容:

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/


6

通过阅读当前的CMSIS 2.0许可证似乎并不是要阻止您以开源或其他方式开发软件,而是要更多地介绍ARM的屁股。也就是说,他们想确保您不声明代码本身或其中可能包含的任何IP的所有权,并且要确保该代码用于开发符合CMSIS的代码,而不用于其他目的。

  1. 在遵守第2、3、4和5条的规定的前提下,ARM特此授予您(a)ARM拥有或可免费许可的任何知识产权,而无需向非关联第三方付款,以及(b)包含在其中一个或两个中的任何知识产权源代码和规格(如适用),或必要的(在下面第4所定义的)来复制或实现与本说明书中,一个永久的,非排他性的,不可转让的,免费使用费,全球许可的应用程序二进制接口兼容的:
    ( i)为了开发,开发,制造,制造,提供销售,销售,供应或以其他方式分发符合规范的产品而使用和复制规范;
    (ii)仅出于开发,开发,制造,制造,提供销售,销售,供应或以其他方式分发符合以下条件的产品的目的而使用,复制,修改和再许可源代码(以源代码或目标代码形式)规范,前提是您保留源代码中包含的所有版权声明。

  2. 源代码和规范归ARM或其许可方所有,并受版权法和国际版权条约以及其他知识产权法律和条约的保护。源代码和规范未经许可不出售。除非根据第1条获得了特别许可,否则您不会获得源代码和规范或其中包含的任何知识产权的任何权利,所有权或利益。在任何情况下,根据条款1授予的许可均不得解释为以明示或暗示,禁止反言或其他方式授予您使用任何ARM技术的许可,但源代码和规范除外。除非第1条另有规定,否则您无权再许可本许可项下授予您的权利。

就是说,如果您对这些术语仍然不满意,则可以直接获取数据表并自行创建标题。来自microbuilder.eu的家伙做到了这一点,并在BSD下发布了他们的LPC1114LPC1343代码库。


与microbuilder.eu和这些项目的良好链接。
约翰

1
@Johan,他们还有13xx代码库:code.google.com/p/lpc1343codebase
max taldykin 2011年

4

我认为没有问题。各个文件具有以下语句:

“ * ARM Limited(ARM)正在提供此软件,以便与基于Cortex-M *处理器的微控制器一起使用。可以在支持此类基于ARM的处理器的开发工具中自由分发*该文件。”

而且我也没有在许可证中看到任何阻止它的内容。

CMSIS发行版中有一个gcc目录,这意味着它可以与开源工具一起提供。

这个说法:

(i)使用和复制CMSIS规范,以开发,开发,制造,制造,提供销售,销售,供应或以其他方式分发符合CMSIS规范的产品,但前提是您保留以下内容的版权声明:包含在CMSIS规范中或包含在其中,但前提是您不使用ARM的名称,徽标或商标来销售此类产品;

意味着您可以将CMSIS纳入您的开源项目中。


1
但是开源项目是“开发工具”吗?假设我正在编写一个开源的blinky程序,并将该代码推送到github上。真的可以将其定义为“在开发工具中分发”吗?
约翰

然后是“(iii)使用,复制,修改和再许可示例代码”。我认为魔术字是“分许可证”,因为那一定意味着我可以使用开放源代码许可证进行修改和重新分发?
约翰

1
重要的部分是“用于Cortex-M *”。芯片制造商希望您使用他们的芯片!许可证允许这样做-正如您在子点iii中所注意到的。重要的部分是,您随产品一起出售的任何产品或获得的任何分许可都必须包含ARM Cortex *芯片。因此,只需不要修改文件以使其与MSP430一起使用并重新分发它们就可以了。
AngryEE 2011年

1
我相信第一句话绝对违背了GPL,因为它限制了您使用和分发软件的自由。
XTL 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.