Open Source-Alternativen im BSD-Stil zu CMSIS?

8

Da die Lizenzen für CMSIS in Bezug auf Open Source unklar sind, ist es wahrscheinlich ein Verstoß, CMSIS in ein Open Source-Projekt aufzunehmen, unabhängig davon, ob eine Lizenz im GPL- oder BSD-Stil verwendet wird.

Gibt es eine CMSIS-Alternative für die Cortex M-basierten MCUs, die mit einer BSD- oder Apache2.0-Lizenz kompatibel ist?

Oder weiß jemand, ob es in Ordnung ist, CMSIS in ein Open Source-Projekt aufzunehmen?

Vielen Dank

Johan
quelle

Antworten:

4

Viele der CMSIS-Softwarekomponenten werden jetzt unter einer BSD-Lizenz veröffentlicht.

Im offiziellen CMSIS-Paket ist dies der relevante Inhalt der "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.

Wir verwenden viele dieser CMSIS-Softwarekomponenten im Open Source, Apache-lizenzierten mbed SDK: http://mbed.org/blog/entry/CMSIS-Components-BSD-Licensed/

Emilmont
quelle
6

Von der aktuellen Lese CMSIS 2.0 Lizenz , es scheint die Absicht nicht , dass Sie ist zu verhindern , dass die Software als Open-Source - Entwicklung oder auf anderer Weise, aber mehr über bedeckt ARM ass. Das heißt, sie möchten sicherstellen, dass Sie nicht den Besitz des Codes selbst oder einer darin enthaltenen IP beanspruchen und dass er auch zur Entwicklung von CMSIS-konformem Code und nicht für andere Zwecke verwendet wird.

  1. Vorbehaltlich der Bestimmungen der Absätze 2, 3, 4 und 5 gewährt Ihnen ARM hiermit geistiges Eigentum, das (a) Eigentum von ARM ist oder von ARM frei lizenziert werden kann, ohne an nicht verbundene Dritte zu zahlen, und (b) entweder in einem oder beiden enthalten ist der Quellcode und die Spezifikation, falls zutreffend, oder erforderlich (definiert in Abschnitt 4 unten), um eine der Spezifikation entsprechende Binärschnittstelle für Anwendungen zu kopieren oder zu implementieren, eine unbefristete, nicht exklusive, nicht übertragbare, lizenzgebührenfreie, weltweite Lizenz für:
    ( i) die Spezifikation zum Zweck der Entwicklung, Entwicklung, Herstellung, Herstellung, des Angebots zum Verkauf, des Verkaufs, der Lieferung oder des sonstigen Vertriebs von Produkten, die der Spezifikation entsprechen, zu verwenden und zu kopieren;
    (ii) den Quellcode (in Quell- oder Objektcodeform) ausschließlich zum Zweck der Entwicklung, Entwicklung, Herstellung, Herstellung, des Angebots zum Verkauf, des Verkaufs, der Lieferung oder des sonstigen Vertriebs von Produkten verwenden, kopieren, modifizieren und unterlizenzieren, die den Anforderungen entsprechen die Spezifikation, vorausgesetzt, Sie bewahren alle im Quellcode enthaltenen Copyright-Hinweise auf.

  2. Der Quellcode und die Spezifikation sind Eigentum von ARM oder seinen Lizenzgebern und sind durch Urheberrechtsgesetze und internationale Urheberrechtsverträge sowie andere Gesetze und Verträge zum Schutz geistigen Eigentums geschützt. Der Quellcode und die Spezifikation werden lizenziert und nicht verkauft. Sofern nicht ausdrücklich gemäß Ziffer 1 lizenziert, erwerben Sie kein Recht, keinen Titel oder kein Interesse an dem Quellcode und der Spezifikation oder dem darin enthaltenen geistigen Eigentum. In keinem Fall dürfen die gemäß Ziffer 1 gewährten Lizenzen so ausgelegt werden, dass Sie ausdrücklich oder stillschweigend eine Lizenz zur Nutzung einer ARM-Technologie mit Ausnahme des Quellcodes und der Spezifikation erhalten. Sofern in Ziffer 1 nichts anderes bestimmt ist, wird Ihnen kein Recht eingeräumt, die Ihnen im Rahmen dieser Lizenz gewährten Rechte unterlizenzieren.

Wenn Sie sich mit diesen Begriffen immer noch nicht wohl fühlen, können Sie einfach das Datenblatt nehmen und die Überschriften selbst erstellen. Jungs von microbuilder.eu haben genau das getan und ihre Codebasis LPC1114 und LPC1343 unter BSD veröffentlicht.

Igor Skochinsky
quelle
nette Links zu microbuilder.eu und diesen Projekten.
Johan
1
@Johan, sie haben 13xx Codebasis auch: code.google.com/p/lpc1343codebase
max taldykin
4

Ich glaube nicht, dass es ein Problem gibt. Die einzelnen Dateien haben folgende Aussage:

"* ARM Limited (ARM) liefert diese Software zur Verwendung mit Cortex-M * -Prozessor-basierten Mikrocontrollern. Diese Datei kann frei * in Entwicklungstools verteilt werden, die solche ARM-basierten Prozessoren unterstützen."

und ich sehe auch nichts in der Lizenz, was dies ausschließt.

In der CMSIS-Distribution gibt es ein gcc-Verzeichnis, was bedeutet, dass es mit Open-Source-Tools geliefert werden kann.

Diese Aussage:

(i) Verwendung und Kopie der CMSIS-Spezifikation zum Zweck der Entwicklung, Entwicklung, Herstellung, Herstellung, des Angebots zum Verkauf, Verkauf, Lieferung, Lieferung oder sonstigen Vertrieb von Produkten, die der CMSIS-Spezifikation entsprechen, vorausgesetzt, Sie bewahren alle Urheberrechtshinweise auf in oder in der CMSIS-Spezifikation enthalten und vorausgesetzt, dass Sie den Namen, das Logo oder die Marken von ARM nicht zur Vermarktung solcher Produkte verwenden;

impliziert, dass Sie CMSIS in Ihr Open Source-Projekt integrieren können.

Leon Heller
quelle
1
Aber ist ein Open Source-Projekt ein "Entwicklungswerkzeug"? Angenommen, ich schreibe ein Open-Source-Blinky-Programm und schiebe diesen Code auf Github. Kann das wirklich als "innerhalb von Entwicklungstools verteilt" definiert werden?
Johan
Und weiter unten unter "(iii) Verwenden, Kopieren, Ändern und Unterlizenzieren des Beispielcodes". Ich denke, das Zauberwort ist Unterlizenz, da dies bedeuten muss, dass ich mit einer Open-Source-Lizenz Änderungen vornehmen und weitergeben kann.
Johan
1
Der wichtige Teil ist "zur Verwendung mit Cortex-M *". Chiphersteller möchten, dass Sie ihre Chips verwenden! Die Lizenz erlaubt dies - wie Sie in Unterpunkt iii bemerkt haben. Der wichtige Teil ist, dass alles, was Sie damit verkaufen oder eine Unterlizenzierung vornehmen, ARM Cortex * -Chips enthalten muss. Ändern Sie die Dateien also nicht so, dass sie mit einem MSP430 funktionieren, und verteilen Sie sie neu, und es geht Ihnen gut.
AngryEE
1
Ich glaube, das erste Zitat ist absolut gegen GPL (im Geiste), da es Ihre Freiheit einschränkt, die Software zu verwenden und zu verbreiten.
XTL