Alternative Open Source in stile BSD al CMSIS?


8

Poiché le licenze su CMSIS non sono chiare quando si tratta di open source, è probabilmente una violazione includere il CMSIS in un progetto open source indipendentemente dal fatto che utilizzi una licenza GPL o BSD.

Esiste un'alternativa CMSIS per MCU basata su Cortex M: è compatibile con una licenza BSD o Apache2.0?

O qualcuno sa se è giusto includere il CMSIS in un progetto open source?

Grazie

Risposte:


4

Molti dei componenti software CMSIS sono ora rilasciati con una licenza BSD.

Nel pacchetto CMSIS ufficiale, questo è il contenuto rilevante del "CONTRATTO DI LICENZA CON L'UTENTE FINALE 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.

Stiamo utilizzando molti di questi componenti software CMSIS in open source, con licenza Apache, SDK mbed: http://mbed.org/blog/entry/CMSIS-Components-BSD-Licensed/


6

Dalla lettura dell'attuale licenza CMSIS 2.0 , sembra che l'intenzione non sia quella di impedirti di sviluppare il tuo software come open-source o altro, ma piuttosto di coprire il culo di ARM. Vale a dire che vogliono assicurarsi di non rivendicare la proprietà del codice stesso o di qualsiasi IP che potrebbe essere in esso, e anche che venga utilizzato per sviluppare codice conforme a CMSIS e non per altri scopi.

  1. Fatte salve le disposizioni delle clausole 2, 3, 4 e 5, ARM con la presente concede all'utente in virtù di qualsiasi proprietà intellettuale che sia (a) di proprietà o liberamente concessa in licenza da ARM senza pagamento a terzi non affiliati e (b) incorporata in una o entrambe il Codice sorgente e le Specifiche, a seconda dei casi, o Necessario (definito nella Clausola 4 di seguito) per copiare o implementare un'interfaccia binaria delle applicazioni conforme alle Specifiche, una licenza perpetua, non esclusiva, non trasferibile, royalty free, in tutto il mondo a:
    ( i) utilizzare e copiare le Specifiche allo scopo di sviluppare, sviluppare, produrre, produrre, offrire in vendita, vendere, fornire o altrimenti distribuire prodotti conformi alle Specifiche;
    (ii) utilizzare, copiare, modificare e concedere in sublicenza il Codice sorgente (in forma di codice sorgente o oggetto) esclusivamente allo scopo di sviluppare, sviluppare, produrre, produrre, offrire in vendita, vendere, fornire o altrimenti distribuire prodotti conformi la Specifica, a condizione che tu conservi tutte le note sul copyright incluse nel Codice Sorgente.

  2. Il codice sorgente e le specifiche sono di proprietà di ARM o dei suoi licenziatari e sono protetti dalle leggi sul copyright e dai trattati internazionali sul copyright, nonché da altre leggi e trattati sulla proprietà intellettuale. Il codice sorgente e le specifiche sono concessi in licenza non venduti. Ad eccezione di quanto specificamente concesso in licenza in conformità con la Clausola 1, l'utente non acquisisce alcun diritto, titolo o interesse nel Codice sorgente e nelle Specifiche o in qualsiasi proprietà intellettuale ivi incorporata. In nessun caso le licenze concesse in conformità con la Clausola 1 devono essere interpretate come concedere all'utente, espressamente o implicitamente, anticipare o altrimenti, una licenza per utilizzare qualsiasi tecnologia ARM ad eccezione del Codice sorgente e delle Specifiche. Salvo quanto previsto nella clausola 1, non è concesso alcun diritto all'utente di concedere in sublicenza i diritti concessi all'utente ai sensi della presente Licenza.

Detto questo, se sei ancora a disagio con quei termini, puoi semplicemente prendere il foglio dati e creare tu stesso le intestazioni. I ragazzi di microbuilder.eu hanno fatto proprio questo e hanno rilasciato la loro base di codice LPC1114 e LPC1343 sotto BSD.


bei collegamenti a microbuilder.eu e quei progetti.
Johan,

1
@Johan, hanno anche codebase 13xx: code.google.com/p/lpc1343codebase
max taldykin

4

Non penso che ci sia un problema. I singoli file hanno questa affermazione:

"* ARM Limited (ARM) sta fornendo questo software per l'uso con i microcontrollori basati su processori Cortex-M *. Questo file può essere distribuito liberamente * all'interno di strumenti di sviluppo che supportano tali processori basati su ARM."

e non vedo nulla nella licenza che lo precluda, neanche.

Esiste una directory gcc nella distribuzione CMSIS, che implica che può essere fornita con strumenti open source.

Questa dichiarazione:

(i) utilizzare e copiare le Specifiche CMSIS allo scopo di sviluppare, avere sviluppato, fabbricare, aver fabbricato, offrire di vendere, vendere, fornire o distribuire in altro modo prodotti conformi alle Specifiche CMSIS, a condizione che si conservino eventuali avvisi di copyright che sono incluso o incluso nella specifica CMSIS e purché non si usi il nome, il logo o i marchi ARM per commercializzare tali prodotti;

implica che è possibile incorporare CMSIS nel progetto open source.


1
Ma un progetto open source è uno "strumento di sviluppo"? Diciamo che sto scrivendo un programma blinky open source e invio quel codice su github. Può davvero essere definito "distribuito all'interno degli strumenti di sviluppo"?
Johan,

E giù a "(iii) utilizzare, copiare, modificare e concedere in licenza il codice di esempio". Penso che la parola magica sia sublicenza, dal momento che ciò significa che posso modificare e ridistribuire con una licenza open source?
Johan,

1
La parte importante è "per l'uso con Cortex-M *". I produttori di chip vogliono che tu usi i loro chip! La licenza lo consente - come notato nel punto iii. La parte importante è che tutto ciò che vendi con esso o qualsiasi concessione in sublicenza tu debba incorporare i chip ARM Cortex *. Quindi non modificare i file per funzionare con un MSP430 e ridistribuirli e stai bene.
AngryEE,

1
Credo che la prima citazione sia assolutamente contro GPL (nello spirito) in quanto limita la tua libertà di usare e distribuire il software.
XTL
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.