Alternativas de código aberto estilo BSD ao CMSIS?

8

Como as licenças no CMSIS não são claras quando se trata de código aberto, provavelmente é uma violação incluir o CMSIS em um projeto de código aberto, independentemente de estar usando uma licença no estilo GPL ou BSD.

Existe alguma alternativa CMSIS disponível para o MCU: s baseado no Cortex M compatível com uma licença BSD ou Apache2.0?

Ou alguém sabe se está correto incluir o CMSIS em um projeto de código aberto?

obrigado

Johan
fonte

Respostas:

4

Muitos dos componentes de software CMSIS agora são liberados sob uma licença BSD.

No pacote oficial do CMSIS, este é o conteúdo relevante do "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.

Estamos usando muitos desses componentes de software CMSIS no SDK de código aberto, licenciado pela Apache, mbed: http://mbed.org/blog/entry/CMSIS-Components-BSD-Licensed/

emilmont
fonte
6

Com a leitura da licença atual do CMSIS 2.0 , parece que a intenção não é impedi-lo de desenvolver seu software como código-fonte aberto ou não, mas mais sobre cobrir a bunda da ARM. Ou seja, eles querem garantir que você não reivindique a propriedade do código em si ou de qualquer IP que possa estar nele, e também que ele seja usado para desenvolver código compatível com o CMSIS e não para outro fim.

  1. Sujeito às disposições das Cláusulas 2, 3, 4 e 5, a ARM concede a você sob qualquer propriedade intelectual que seja (a) possuída ou livremente licenciada pela ARM sem pagamento a terceiros não afiliados e (b) incorporada em um ou ambos o Código Fonte e a Especificação, conforme aplicável, ou Necessário (definido na Cláusula 4 abaixo) para copiar ou implementar uma interface binária de aplicativos compatível com a Especificação, uma licença mundial perpétua, não exclusiva, intransferível e isenta de royalties, para:
    ( i) usar e copiar a Especificação com o objetivo de desenvolver, desenvolver, fabricar, fabricar, oferecer para vender, vender, fornecer ou distribuir produtos que cumpram a Especificação;
    (ii) usar, copiar, modificar e sublicenciar o Código Fonte (na forma de código fonte ou de objeto) apenas com o objetivo de desenvolver, desenvolver, fabricar, fabricar, oferecer para vender, vender, fornecer ou distribuir produtos que estejam em conformidade com a especificação, desde que você preserve todos os avisos de direitos autorais incluídos no código-fonte.

  2. O Código Fonte e a Especificação são de propriedade da ARM ou de seus licenciadores e estão protegidos pelas leis de direitos autorais e tratados internacionais de direitos autorais, bem como outras leis e tratados de propriedade intelectual. O código-fonte e a especificação são licenciados e não vendidos. Exceto conforme especificamente licenciado de acordo com a Cláusula 1, você não adquire nenhum direito, título ou interesse no Código Fonte e nas Especificações ou em qualquer propriedade intelectual incorporada nele. Em nenhum caso as licenças concedidas de acordo com a Cláusula 1 serão interpretadas como concedendo a você, expressamente ou implicitamente, impedimento ou não, uma licença para usar qualquer tecnologia ARM, exceto o Código Fonte e a Especificação. Exceto conforme previsto na Cláusula 1, nenhum direito é concedido a você para sublicenciar os direitos concedidos a você sob esta Licença.

Dito isto, se você ainda não se sente à vontade com esses termos, basta pegar a folha de dados e criar os cabeçalhos. Caras do microbuilder.eu fez exatamente isso, e lançou seu LPC1114 e LPC1343 codebase sob BSD.

Igor Skochinsky
fonte
bons links para microbuilder.eu e esses projetos.
Johan
1
@Johan, eles também têm 13xx codebase: code.google.com/p/lpc1343codebase
max taldykin
4

Eu não acho que há um problema. Os arquivos individuais têm esta declaração:

"* A ARM Limited (ARM) está fornecendo este software para uso com microcontroladores baseados em processador Cortex-M *. Este arquivo pode ser distribuído * livremente * nas ferramentas de desenvolvimento que suportam esses processadores baseados em ARM."

e também não vejo nada na licença que a impeça.

Há um diretório gcc na distribuição do CMSIS, o que implica que ele pode ser fornecido com ferramentas de código aberto.

Esta afirmação:

(i) usar e copiar a Especificação CMSIS com o objetivo de desenvolver, desenvolver, fabricar, fabricar, oferecer para vender, vender, fornecer ou distribuir produtos que cumpram a Especificação CMSIS, desde que você preserve quaisquer avisos de direitos autorais que sejam incluído ou incluído na especificação CMSIS e desde que você não use o nome, o logotipo ou as marcas comerciais da ARM para comercializar esses produtos;

implica que você pode incorporar o CMSIS em seu projeto de código aberto.

Leon Heller
fonte
1
Mas um projeto de código aberto é uma "ferramenta de desenvolvimento"? Digamos que estou escrevendo um programa intermitente de código aberto e insira esse código no github. Isso pode realmente ser definido como "distribuído nas ferramentas de desenvolvimento"?
Johan
E abaixo em "(iii) use, copie, modifique e sublicencie o Código de Exemplo". Eu acho que a palavra mágica é sublicenciada, pois isso deve significar que eu posso modificar e redistribuir com uma licença de código aberto?
Johan
1
A parte importante é 'para uso com o Cortex-M *'. Os fabricantes de chips querem que você use seus chips! A licença permite isso - como você notou no subitem iii. A parte importante é que tudo o que você vende com ele ou qualquer sublicenciamento que você faz deve incorporar os chips ARM Cortex *. Portanto, apenas não modifique os arquivos para trabalhar com um MSP430 e os redistribua e você estará bem.
precisa saber é o seguinte
1
Acredito que a primeira citação seja absolutamente contra a GPL (em espírito), pois limita sua liberdade de usar e distribuir o software.
XTL 14/01