Hallo,
ich habe eine Frage zum STM32Fxxx_HAL_Driver, speziell der Cube HAL
(nicht StdPeriph HAL). Wenn ich ein Open Source Projekt habe, welches
nur die ST Cube HAL nutzt (keine 3rd Party Libs oder Middleware/RTOS),
kann ich dieses Projekt inkl. dieser Libs auf GitHub der Öffentlichkeit
zur Verfügung stellen?
Soweit ich die Lizenz verstanden habe, scheint das wohl kein Problem zu
sein, solang man den ST Copyright Header in den Files belässt, in der
Doku/ GitHub ReadMe die Verwendung dokumentiert und ST Marken und Namen
nicht für Werbung/Promotion Zwecke nutzt....
Wie macht ihr das? Kann mir jemand gegenteiliges berichten oder meine
Interpretation bestätigen?
Danke im Vorraus
Anbei ein typischer Lizenz Header von ST:
Oliver S. schrieb:> Die nicht gestellte, aber eigentliche Frage ist, unter welcher> Lizenz du> dein Programm der Öffentlichkeit zur Verfügung stellen möchtest.>> Oliver
Im Prinzip würde ich die BSD Lizenz nutzen, halt typische für Open
Source Software.
Die ST Lizenz scheint ja der BSD Lizenz auch sehr sehr ähnlich zu sein.
Ich weiß aber nicht genau, ob ich BSD verwenden darf wenn Teile des Code
halt von ST kommen und die ST Lizenz benötigen?
Anbei mal zum Vergleich die BSD Lizenz:
1
Copyright (c) ...
2
The Regents of the University of California. All rights reserved.
3
4
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5
1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
6
2.Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
7
3.All advertising materials mentioning features or use of this software must display the following acknowledgement: “This product includes software developed by the University of California, Berkeley and its contributors.”
8
4.Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
9
10
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
STM32 User schrieb im Beitrag #4990092:
> * 2. Redistributions in binary form must reproduce the above> copyright notice,> * this list of conditions and the following disclaimer in the> documentation> * and/or other materials provided with the distribution.
Mindestens ebenso interessant finde ich die Frage was mit Geräten ist
die man baut und vertreibt und in denen irgendwo ein Controller steckt
in dessen Firmware Teile mit dieser Lizenz stecken (redistribution in
binary form).
Das ist ja nicht nur bei ST der Fall sondern auch bei anderen hab ich
diese Lizenz schon gesehen, zum Beispiel bei Freescale in deren
Headerdateien steht Wort für Wort der identische Text wie bei ST, nur
der Name der Firma ist ausgetauscht, da schreibt wohl einer beim andern
ab ohne sich die geringsten Gedanken über den Sinn oder den praktischen
Nutzen oder auch die Konsequenzen zu machen.
Genausogut könnte da wahrscheinlich stehen "Ene mene miste, es rappelt
in der Kiste. Ene mene muh, und die Lizenz hast Du. Aber erwähn bloß
nicht unseren Namen, wir wollen nichts mit Deinem Murks zu tun haben!
Jedoch schreib unbedingt dazu daß da Hirnschmalz von uns drinsteckt, das
soll jeder wissen!" und es hätte den selben Sinn oder Unsinn.
Ich hab mal bei Freescale angefragt was unter "binary distribution" zu
verstehen ist, ob ich nun bei jedem verkauften Gerät einen Flyer
beilegen muss mit dem obigen Copyright im Volltext, es kam keine
Antwort, wahrscheinlich haben die das an dem Tag selber zum ersten Mal
gelesen und waren genauso ratlos wie ich.
> Redistribution ... are permitted ...
Du willst lediglich den Leuten, die dein Projekt selbst kompilieren, den
Download erleichtern? So etwas sieht man doch öfters.
Warum sollte ST etwas dagegen haben? Die erlauben den Download von ihrem
Server. Und die erlauben, dass du ihren Quellcode weiterverbreitest.
Du machst doch etwas, was im Interesse von ST liegt. Warum sollten die
dich mit irgendwelchen juristischen Spitzfindigkeiten verklagen?
Bevor ich etwas frei downloadbares kopiere und wiederum zum Download
anbiete (oder verkaufe) bitte ich immer vorher den jeweiligen Copyright
Inhaber um Erlaubnis. Diese wurde mir bisher immer problemlos erteilt.
Das ist mir persönlich so lieber, als komplizierte Lizenztext zu deuten,
wozu ich mich nicht imstande fühle. Ich bin kein Rechtsanwalt.
Daher war meine erste Antwort:
> Solche Fragen würde ich direkt an die Firma ST Microelectronics richten.
Noch einer schrieb:
> Warum sollte ST etwas dagegen haben? Die erlauben den Download von ihrem> Server. Und die erlauben, dass du ihren Quellcode weiterverbreitest.
Da bin ich nicht so sicher. Wenn du die einzelne Datei
stm32f4xx_hal_tim.h legal von ST bekommen hast, darfst du mit dieser
Datei praktisch alles machen. Der Lizenztext dadrin ist doch original
BSD.
Aber: Kannst du stm32f4xx_hal_tim.h einzeln runter laden? Ich habe sie
nur in einem Cube Paket gefunden, das man nur gegen Anmeldung bekommt.
Das Paket hat eine eigene, restriktivere Lizenz als die Datei. Das
könnte heissen, dass man die Datei nicht legal bekommen kann.
> Du machst doch etwas, was im Interesse von ST liegt. Warum sollten die> dich mit irgendwelchen juristischen Spitzfindigkeiten verklagen?
Weil es Juristen sind ;) Der Verkauf könnte auch ein Interesse daran
haben, dass die Dateien nicht frei verteilt werden.
Die Register-Definitionen hab' ich aus den Reference und Programming
Manuals abgetippt. Selbst getippte Header-Dateien müsste man auch
verteilen dürfen, in den beiden Manuals von ST finde ich keinen
Lizenztext, der das verbietet. Ganz im Gegensatz zu den ARM Manuals,
selbst wenn man die irgendwo findet, darf man sie evt. nicht einmal
lesen. Deshalb gibt es hier eine Datei, die so anfängt:
1
// undocumented.h -- nützliche Bits, die ARM und ST geheim halten
eagle user schrieb:>> Du machst doch etwas, was im Interesse von ST liegt. Warum sollten die>> dich mit irgendwelchen juristischen Spitzfindigkeiten verklagen?>> Weil es Juristen sind ;)
Weil's auch für den Fisch ein Unterschied ist, ob er noch frei
rumschwimmt oder ob er den Haken schon verschluckt und bloß noch keiner
dran gezogen hat.
> Warum sollten die dich mit irgendwelchen juristischen> Spitzfindigkeiten verklagen?
Weil Juristen nach solchen Gelegenheiten suchen, wenn sie nicht besseres
zu tun haben.
Manche Firmen machen das auch, wenn sie in Geld-Not geraten. SCO war
dafür mal ganz besonders bekannt.
Und auch Oracle legte die "freie" Lizenz von Sun's Java plötzlich ganz
anders aus, nachdem man das Produkt gekauft hatte und bemerkte, dass es
nur wenig Gewinn einbringt. Frage mal Google, welchen Streß die mit
Android hatten (ich glaube das Thema ist immer noch nicht final
gerklärt).
STM32 User schrieb im Beitrag #4990164:
> Anbei mal zum Vergleich die BSD Lizenz:
Die Klausel 3 wurde von der UCB vor vielen Jahren ganz offiziell
gestrichen, auch rückwirkend für all ihren Code.
Insofern ist das, was STM da benutzt, die BSD-Lizenz, folglich
gibt es keinen Grund, warum du deinen Code nicht ebenfalls unter
einer solchen weitergeben können solltest.
Bernd K. schrieb:> Ich hab mal bei Freescale angefragt was unter "binary distribution" zu> verstehen ist, ob ich nun bei jedem verkauften Gerät einen Flyer> beilegen muss mit dem obigen Copyright im Volltext
Das hängt davon ab, wie du deine „accompanying documentation“ dem
Kunden gibst. Verlangt ja niemand, dass du sie ihm ausgedruckt in
die Hand drückst, und auf elektronische Weise ist es ja wohl simpel,
da einen Anhang mit „Rechtlichen Hinweisen“ oder dergleichen zu
machen.
Die BSD-Lizenz hat ja im Gegensatz zur GPL zumindest noch einen Umfang,
wo man sie auch problemlos (klein-)gedruckt mit beilegen kann, wenn man
will.
STM32 User schrieb im Beitrag #4990092:
> Soweit ich die Lizenz verstanden habe, scheint das wohl kein Problem zu> sein, solang man den ST Copyright Header in den Files belässt, in der> Doku/ GitHub ReadMe die Verwendung dokumentiert und ST Marken und Namen> nicht für Werbung/Promotion Zwecke nutzt....
Würde ich auch so sehen, wobei du meiner Meinung nach in der Doku bzw.
Readme keinen Lizenz-Text brauchst, weil der ja schon in den
Source-Files drin steht.
Wenn du Binaries zum Download anbietest, dann pack da halt irgendwo noch
so eine Readme/License/Copying-Datei mit dem Geschwurbel von ST dazu.
STM32 User schrieb im Beitrag #4990164:
> Die ST Lizenz scheint ja der BSD Lizenz auch sehr sehr ähnlich zu sein.> Ich weiß aber nicht genau, ob ich BSD verwenden darf wenn Teile des Code> halt von ST kommen und die ST Lizenz benötigen?
Das was ST da als Lizenztext reinschreibt sollte 1:1 der 3-clause-BSD
entsprechen. Die von dir genannte "original" BSD-Lizenz ist dann die
4-clause-BSD, die heute eigentlich so keiner mehr verwendet. Außerdem
gibt es noch die 2-clause-BSD, bei der der 3. Punkt im Lizenztext von ST
(bzw. der 3-clause-BSD) nicht existiert.
Sehr ähnlich zur BSD aber meiner Meinung nach viel einfacher und klarer
wäre wohl die MIT/X11-Lizenz. Damit hätte sich dann auch der folgende
Punkt erledigt weil dort anstatt "[...] must reproduce the above
copyright notice [...]" nur "[...] permission notice shall be included
[...]" steht.
Bernd K. schrieb:> Ich hab mal bei Freescale angefragt was unter "binary distribution" zu> verstehen ist, ob ich nun bei jedem verkauften Gerät einen Flyer> beilegen muss mit dem obigen Copyright im Volltext, es kam keine> Antwort, wahrscheinlich haben die das an dem Tag selber zum ersten Mal> gelesen und waren genauso ratlos wie ich.
Das ist tatsächlich mal eine interessante Frage und es wundert mich
überhaupt nicht, dass du darauf keine Antwort bekommen hast. Im
Endeffekt wärst du wahrscheinlich auf der rechtlich sicheren Seite wenn
du als Hersteller auf der Produktwebseite irgendwo in der hintersten
Ecke diese Copyright-Geschichten platzierst und auf der
Produktverpackung bzw. in der Bedienungsanleitung einen Link zur
Webseite abdruckst. Im Endeffekt interessiert das aber doch keinen
Mensch, da ja immer gilt "wo kein Kläger, da auch kein Richter" und
warum sollte ST oder Freescale einen verklagen wollen und was wären dann
die juristischen Konsequenzen? Das du nachträglich Flyer drucken musst?
Das wäre PR-technisch schon fast auf United-Niveau.
eagle user schrieb:> Weil es Juristen sind ;) Der Verkauf könnte auch ein Interesse daran> haben, dass die Dateien nicht frei verteilt werden.
Ich glaube das der Anmeldezwang für Downloads von der ST-Webseite vor
allem daher rührt, dass sie deine E-Mail-Adresse haben wollen um dich
mit Werbung zuzuspammen.
eagle user schrieb:> Aber: Kannst du stm32f4xx_hal_tim.h einzeln runter laden? Ich habe sie> nur in einem Cube Paket gefunden, das man nur gegen Anmeldung bekommt.> Das Paket hat eine eigene, restriktivere Lizenz als die Datei. Das> könnte heissen, dass man die Datei nicht legal bekommen kann.
Man kann einen Großteil der CubeMX-Dateien z.B. auch von
https://www.keil.com/dd2/pack/ bekommen. Natürlich muss man auch da erst
wieder einem EULA zustimmen bevor man das runterladen kann aber das EULA
ist in dem Fall von ARM und zielt eher darauf ab, das du auch ja deren
MDK korrekt lizenziert hast.
Markus F. schrieb:> Weil's auch für den Fisch ein Unterschied ist, ob er noch frei> rumschwimmt oder ob er den Haken schon verschluckt und bloß noch keiner> dran gezogen hat.
Das würde meiner Meinung nach aber eher auf den Lizenztext zutreffen,
den sie vor der BSD-Lizenz verwendet hatten. Da war dann der Protest
seitens der Kundschaft aber scheinbar zu groß, weshalb sie da
nachgegeben haben.
Da stand nämlich so etwas drin wie "STMicroelectronics (“ST”) grants You
a non-exclusive, worldwide, non-transferable (whether by assignment or
otherwise unless expressly authorized by ST) non sub-licensable,
revocable, royalty-free limited license of the Licensed Software to:
[...]".
Insbesondere das "revocable" dürfte einem geschluckten Haken
entsprechen.
eagle user schrieb:> Ganz im Gegensatz zu den ARM Manuals,> selbst wenn man die irgendwo findet, darf man sie evt. nicht einmal> lesen. Deshalb gibt es hier eine Datei, die so anfängt:
So ein Quatsch... Schau mal hier:
https://developer.arm.com/products/architecture/m-profile/docs/ddi0403/e/armv7-m-architecture-reference-manual
Kann man einfach so runter laden. Da steht nicht drin, dass man das
nicht lesen darf. Da sind alle Register-Definitionen vom ARMv7M (d.h.
Cortex-M3/4/7) & Adressen drin, da ist nix dran geheim. Oder kennst du
noch irgendwelche Spezial-Register, zum Übertakten oder so?
In den ARM-eigenen Header-Dateien ist auch so eine BSD-artige Lizenz
drin, kann man also genau wie die ST-Header relativ problemlos
weitergeben.
Dr. Sommer schrieb:
> So ein Quatsch... Schau mal hier:>> https://developer.arm.com/products/architecture/m-...
Ja, so ein Quatsch, warum finde ich das nicht? Ist das evt. ganz neu?
Ich hab' ungefähr im Februar zum letzten Mal gesucht. Jedenfalls danke
für den Link!
> Kann man einfach so runter laden.
Ja, jetzt auf einmal :(
> Da steht nicht drin, dass man das nicht lesen darf.
Na gut, lesen ist schon noch erlaubt, aber:
1
This ARM Architecture Reference Manual is protected by
2
copyright (...) No part of this ARM Architecture Reference Manual
3
may be reproduced in any form by any means without the express
4
prior written permission of ARM.
Wo ist die Grenze für 'in any form by any means'?
Copy&Paste in eine Header-Datei?
eagle user schrieb:> Copy&Paste in eine Header-Datei?
Solange es hinreichend kleine Teile sind, dürfte das durch ein
so genanntes Kleinzitat gemäß Urheberrechtsgesetz abgedeckt sein.
eagle user schrieb:> Ja, so ein Quatsch, warum finde ich das nicht? Ist das evt. ganz neu?> Ich hab' ungefähr im Februar zum letzten Mal gesucht. Jedenfalls danke> für den Link!
Nöö, das ist schon Jahre online. Die URL wurde allerdings letztens
geändert (Restrukturierung der Website). Zugegebenermaßen ist nicht ganz
offensichtlich wo das zu finden ist, aber das schreibe ich eher
Inkompetenz als bösem Willen zu.
>>> Kann man einfach so runter laden.>> Ja, jetzt auf einmal :(
Nene schon lange ;-)
>>> Da steht nicht drin, dass man das nicht lesen darf.>> Na gut, lesen ist schon noch erlaubt, aber:This ARM Architecture> Reference Manual is protected by> copyright (...) No part of this ARM Architecture Reference Manual> may be reproduced in any form by any means without the express> prior written permission of ARM.> Wo ist die Grenze für 'in any form by any means'?> Copy&Paste in eine Header-Datei?
Wäre doch völlig Banane, wenn niemand ARM-Prozessoren programmieren
dürfte weil das Kopieren von Register-Adressen verboten ist. Das kann
ARM wohl kaum damit gemeint haben. Gesunder Menschenverstand darf
manchmal auch angewendet werden...
Die (konservative) Industrie faselt immer was von "Rechtssicherheit" und
misstraut FOSS; besteht dann auf kommerziellen Lizenzen, Patente u.
andere unproduktive Zeitfresser.
Threads wie dieser zeigen dass egal welcher Kategorie die einzelnen
Lizenzen zuzuordnen sind, diese (und Patente, aber darum geht es hier
nicht) so überflüssig sind wie ein Kropf.
Beim ganzen Stack der in diesem konkreten Fall reinspielenden
Vereinbarungen (ARM, ST, Compiler, Libs, APIs, OS, ...) niemand weder
Durchblick hat noch die Absicht des urspr. Vereinbarungsschreibers hat,
geschweige denn was gestern/heute/morgen effektiv rechtskräftig ist und
was er in seinem Projekt tun darf herausfinden kann.
Das musste nun mal auch von mir gesagt werden. :-/