В стиле BSD Open Source альтернативы CMSIS?

8

Поскольку лицензии на CMSIS неясны, когда речь заходит об открытом исходном коде, вероятно, нарушение CMSIS в проекте с открытым исходным кодом является нарушением, независимо от того, использует ли он лицензию в стиле GPL или BSD.

Есть ли какая-либо альтернатива CMSIS для MCU на базе Cortex M: s, которая совместима с лицензией BSD или Apache2.0?

Или кто-нибудь знает, нормально ли включать CMSIS в проект с открытым исходным кодом?

Спасибо

Johan
источник

Ответы:

4

Многие программные компоненты CMSIS в настоящее время выпускаются под лицензией BSD.

В официальном пакете CMSIS это соответствующее содержание «ЛИЦЕНЗИОННОГО СОГЛАШЕНИЯ С КОНЕЧНЫМ ПОЛЬЗОВАТЕЛЕМ CMSIS.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.

Мы используем многие из этих программных компонентов CMSIS с открытым исходным кодом, по лицензии Apache, mbed SDK: http://mbed.org/blog/entry/CMSIS-Components-BSD-Licensed/

emilmont
источник
6

Из чтения текущей лицензии CMSIS 2.0 , это , кажется , намерение не препятствовать вам от разработки программного обеспечения , как с открытым исходным кодом или иным образом , но больше о прикрытии попки руки. Т.е. они хотят убедиться, что вы не претендуете на право владения самим кодом или какими-либо IP-адресами, которые в нем могут быть, а также тем, что он используется для разработки кода, соответствующего CMSIS, а не для каких-либо других целей.

  1. В соответствии с положениями пунктов 2, 3, 4 и 5, ARM настоящим предоставляет вам любую интеллектуальную собственность, которая (a) принадлежит или свободно лицензируется ARM без оплаты неаффилированным третьим сторонам и (b) воплощена в одной или обеих Исходный код и Спецификация, в зависимости от обстоятельств, или Необходимые (определенные в пункте 4 ниже) для копирования или реализации двоичного интерфейса приложений, соответствующего Спецификации, бессрочной, неисключительной, непередаваемой, бесплатной, всемирной лицензии на:
    ( i) использовать и копировать Спецификацию для целей разработки, разработки, производства, изготовления, предложения продавать, продавать, поставлять или иным образом распространять продукты, соответствующие Спецификации;
    (ii) использовать, копировать, изменять и сублицензировать Исходный код (в форме исходного или объектного кода) исключительно в целях разработки, разработки, производства, производства, предложения продажи, продажи, поставки или иного распространения продуктов, соответствующих Спецификация, при условии, что вы сохраняете все уведомления об авторских правах, включенные в Исходный код.

  2. Исходный код и Спецификация принадлежат ARM или ее лицензиарам и защищены законами об авторских правах и международными договорами об авторских правах, а также другими законами и договорами об интеллектуальной собственности. Исходный код и Спецификация лицензируются, а не продаются. За исключением случаев, когда это специально лицензировано в соответствии с пунктом 1, вы не приобретаете никаких прав, прав собственности или интереса в Исходном коде и Спецификации или любой интеллектуальной собственности, воплощенной в них. Ни в коем случае лицензии, предоставленные в соответствии с пунктом 1, не должны истолковываться как предоставление вам, прямо или косвенно, estoppel или иным образом лицензии на использование любой технологии ARM, за исключением Исходного кода и Спецификации. За исключением случаев, предусмотренных в пункте 1, вам не предоставляется право сублицензировать права, предоставленные вам в соответствии с настоящей Лицензией.

Тем не менее, если вам все еще неудобны эти термины, вы можете просто взять таблицу и сделать заголовки самостоятельно. Ребята из microbuilder.eu сделали именно это и выпустили свою кодовую базу LPC1114 и LPC1343 под BSD.

Игорь Скочинский
источник
хорошие ссылки на microbuilder.eu и те, проект.
Йохан
1
@Johan, у них также есть кодовая база 13xx: code.google.com/p/lpc1343codebase
Макс Талдыкин
4

Я не думаю, что есть проблема. Отдельные файлы имеют это утверждение:

«* ARM Limited (ARM) поставляет это программное обеспечение для использования с микроконтроллерами на базе процессоров Cortex-M *. Этот файл может свободно распространяться * в инструментах разработки, поддерживающих такие процессоры на основе ARM».

и я не вижу в лицензии ничего, что могло бы помешать этому.

В дистрибутиве CMSIS есть каталог gcc, из которого следует, что он может поставляться с инструментами с открытым исходным кодом.

Это утверждение:

(i) использовать и копировать Спецификацию CMSIS с целью разработки, разработки, производства, производства, предложения продажи, продажи, поставки или иного распространения продуктов, соответствующих Спецификации CMSIS, при условии сохранения любых уведомлений об авторских правах, которые включены в Спецификацию CMSIS или включены в нее и при условии, что вы не используете имя, логотип или торговые марки ARM для продвижения на рынок таких продуктов;

подразумевает, что вы можете включить CMSIS в ваш проект с открытым исходным кодом.

Леон Хеллер
источник
1
Но является ли проект с открытым исходным кодом «инструментом разработки»? Допустим, я пишу легкую программу с открытым исходным кодом и помещаю этот код в github. Может ли это быть действительно определено как «распределено в инструментах разработки»?
Йохан
И вниз на «(iii) использовать, копировать, изменять и сублицензировать Пример кода». Я думаю, что волшебное слово - сублицензия, так как это должно означать, что я могу изменять и распространять лицензию с открытым исходным кодом?
Йохан
1
Важной частью является «для использования с Cortex-M *». Производители чипов хотят, чтобы вы использовали их чипы! Лицензия разрешает это - как вы заметили в подпункте iii. Важным моментом является то, что все, что вы продаете с этим или любое сублицензирование, должно включать в себя чипы ARM Cortex *. Так что просто не изменяйте файлы для работы с MSP430 и распространяйте их, и все в порядке.
AngryEE
1
Я считаю, что первая цитата абсолютно против GPL (по духу), поскольку она ограничивает вашу свободу использования и распространения программного обеспечения.
XTL