Guten Morgen,
ich bastel an einem Projekt, welches per git anderen zur Verfügung
gestellt werden wird.
Enthalten wir dann die Cortex M1 IP aus ARMs DesignStartFPGA, weshalb
ich nach einer Lizenz gesucht habe, in der steht, ob "redistributing"
erlaubt ist oder nicht.
Ich hab keine gefunden ... Weder in dem Paket, das man herunterladen
kann, noch auf der Webseite, bevor man es herunterlädt usw.
Auf einer Seite von ARM findet man ein Announcement, dass die IP "no
license fee, no royalities" - das sagt aber nicht wirklich was darüber
aus, was man mit der IP machen darf.
Hat zufällig jemand eine Ahnung?
*edit*:
gefunden! Wenn man einmal auf Accept geklickt hat, sieht man die Lizenz
nie wieder.
Da steht ausdrücklich drin, dass redistributing nicht gestattet ist.
Problem gelöst.
1
1. LICENCE GRANTS
2
3
1.1 Arm hereby grants to you, subject to the terms and conditions of this Licence, a non-exclusive, non-transferable licence to:
4
5
(i) use and copy the Documentation for the purpose of designing and having designed Integrated Product;
6
7
(ii) use, copy and modify (solely for the purposes of configuring the ARM Compliant Core) the ARM Compliant Core only for the purposes of designing and having designed Integrated Product;
8
9
(iii) use, copy, and modify the Example System Design only for the purposes of designing and having designed Integrated Product;
10
11
(iv) distribute switch level descriptions ("Bitstream") solely for the purpose of programming an Integrated Product; and
12
13
(v) distribute Integrated Product.
14
15
16
17
1.2 Other than as specified in Clause 1.1 you shall not: (i) modify the Deliverables; (ii) redistribute any of the Deliverables or any derivatives thereof; or (iii) sublicence any of the Deliverables.
Das hier ist allerdings irritierend:
> redistribute any of the Deliverables or any derivatives thereof
In dem Paket ist ein Beispiel-Projekt enthalten, das ich im Grunde
ausgeweidet und an mein Projekt angepasst habe.
Das würde ja heißen, wenn ich es als Basis für ein Projekt verwende,
darf ich nichts davon veröffentlichen.
Wie stellen die sich das vor? Soll ich eine Anleitung schreiben, wo man
das Ding runterladen muss und per diff und patch patche ich dann alles
durch, bis es zu meinem Projekt wird?
Was denkt ihr darüber?
Mampf F. schrieb:> Wie stellen die sich das vor? Soll ich eine Anleitung schreiben, wo man> das Ding runterladen muss und per diff und patch patche ich dann alles> durch, bis es zu meinem Projekt wird?
Nein, du darfst den Bistream oder das ganze Projekt verteilen, aber
nicht den quelltext dazu.
"distribute Bitstream solely for the purpose of programming an
Integrated Product; and
distribute Integrated Product."
So wie eben es mit embedded Linux u.ö. praktischerweise auch
funktioniert. Da intressiert der Grossteil der "community" nur das
lauffähige Produkt aber nicht der Quelltext dazu. Auch wenn der
Hersteller diesen zum download anbieten muß.
"Diff und Patch" wäre bei cores auch eher ungewöhnlich, da verteilt man
eher den passenden wrapper und config Dateien und fasst den eigentlichen
Source-code nicht an. Da mal ein beispiel vom Forumsserver:
Retrocomputing auf FPGA: Quelltexte und Compilation
C. A. Rotwang schrieb:> Mampf F. schrieb:>> Wie stellen die sich das vor? Soll ich eine Anleitung schreiben, wo man>> das Ding runterladen muss und per diff und patch patche ich dann alles>> durch, bis es zu meinem Projekt wird?>> Nein, du darfst den Bistream oder das ganze Projekt verteilen, aber> nicht den quelltext dazu.
Hmm, das wäre ein Problem, da meine Arbeit quasi opensource sein muss.
> "Diff und Patch" wäre bei cores auch eher ungewöhnlich, da verteilt man> eher den passenden wrapper und config Dateien und fasst den eigentlichen> Source-code nicht an. Da mal ein beispiel vom Forumsserver:> Retrocomputing auf FPGA: Quelltexte und Compilation
Interessant, danke für den Link!
Also ich könnte in die Dokumentation des Projekts schreiben, dass man
sich den Core bei ARM runterladen und dann in das Projekt kopieren muss.
Allerdings darf ich das Beispielprojekt nicht benutzen, d.h. ich baue
ein komplett neues Projekt ohne Teile des Beispielprojekts zu verwenden?
Die paar Blöcke in Xilinx Vivado sind schnell zusammengeklickt.
Das sollte dann unproblematisch sein, oder?
Echt nervig, aber von ARM war ja nichts anderes zu erwarten. Glaub ich
muss mir zukünftig doch mal RISC-V anschauen.
Viele Grüße,
Mampf
Mampf F. schrieb:> Also ich könnte in die Dokumentation des Projekts schreiben, dass man> sich den Core bei ARM runterladen und dann in das Projekt kopieren muss.
Denk schon, wobei es zu überlegen wäre, ob man dieses herunterladen und
kopieren nicht in eine Art makefile/package_manager verpackt.
Im einfachsten Fall in ein standard makefile/build-script das bei
Nichtvorhandensein der 3rd party sourcen eine fehlermeldung mit Hinweis
auf download ausspuckt. Doku's liest ja keiner, Fehlermeldungen in build
scripts schon eher ;-)
>Allerdings darf ich das Beispielprojekt nicht benutzen, d.h. ich baue>ein komplett neues Projekt ohne Teile des Beispielprojekts zu verwenden?
Weiss ich nicht, aber das wäre ne Frage die man ARM/Xilinx bei ner Messe
stellen könnte. In 10d ist ja embedded World in Nürnberg.
Mampf F. schrieb:> Allerdings darf ich das Beispielprojekt nicht benutzen, d.h. ich baue> ein komplett neues Projekt ohne Teile des Beispielprojekts zu verwenden?
Die Fleissarbeit muss man sich wohl geben.
Mampf F. schrieb:> 1.2 Other than as specified in Clause 1.1 you shall not: (i)> modify the Deliverables; (ii) redistribute any of the Deliverables or> any derivatives thereof; or (iii) sublicence any of the Deliverables.
Das mit den Derivatives dürfte etwas zu weit gefasst sein. Auch (i)
finde ich etwas fragwürdig. Auf jeden Fall darfst du legal einen Patch
verteilen, sofern du damit keine DRM-Massnahme umgehst und keinen Verrat
von IP begehst, welches nicht bereits öffentlich ist.
C. A. Rotwang schrieb:> "Diff und Patch" wäre bei cores auch eher ungewöhnlich, da verteilt man> eher den passenden wrapper und config Dateien und fasst den eigentlichen> Source-code nicht an. Da mal ein beispiel vom Forumsserver:
Warum ungewöhnlich?
Was mit Software per CI gängig ist, geht auch mit Hardware-Designs
wunderbar.
GPL zusammen mit Hardware und div. miteinander inkompatiblen Lizenzen
ist in der Tat ein gordischer Knoten. Einige grosse Hersteller
ignorieren das einfach und machen dann auf Anfrage Versteckspielchen. Du
kannst den Spiess ja umdrehen, indem du nur das nötigste (ein Makefile,
was alles auscheckt, patcht und baut) veröffentlichst.
Wenn du nicht auf ARM angewiesen bist, gibt es ja genügend quelloffene
Alternativen.
Mampf F. schrieb:> Das würde ja heißen, wenn ich es als Basis für ein Projekt verwende,> darf ich nichts davon veröffentlichen.
Korrekt. ARM möchte seinen FPGA-Core nicht in einem OpenSource-Projekt
sehen.
> Wie stellen die sich das vor?
Die stellen sich da so vor: Du hast ein Unternehmen und planst eine
ARM-Plattform, die Du auf einem FPGA vorentwickeln willst um das Risiko
zu minimieren. Wenn Du das getan hast, steckst du dein FPGA-Board in die
Schublade, kaufst für ein paar 100k-Öre einen Cortex-ASIC-IP und machst
einen Chip. Dann - und nur dann - hat der FPGA-Core seinen Zweck
erfüllt.
> Echt nervig, aber von ARM war ja nichts anderes zu erwarten. Glaub ich> muss mir zukünftig doch mal RISC-V anschauen.
So ist es.