Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Verwendung von fremden GPL2/3 CLI-Programmen in Shareware erlaubt? (https://www.delphipraxis.net/188884-verwendung-von-fremden-gpl2-3-cli-programmen-shareware-erlaubt.html)

PeterPanino 16. Apr 2016 09:18

Verwendung von fremden GPL2/3 CLI-Programmen in Shareware erlaubt?
 
Hallo und schönes Wochenende!

Ich habe jetzt verschiedene Artikel über die Auslegung der GPL 2 und 3 gelesen, habe aber keine eindeutige Antwort auf meine Frage bekommen.

Ich möchte nicht den Source-Code, sondern compilierte binäre CLI-Programme, die unter der GPL 2 bzw. GPL 3 stehen in meinen Shareware-Programmen verwenden, z.B 7z zum Entpacken, VLC zum Abspielen von Mediendateien, pdftotext (aus dem XPdf-Paket), ebook-convert aus dem Calibre-Paket zum Konvertieren von ebook-Dateien. Das heißt, ich rufe diese CLI-Programme von meinem Programm aus auf und werte die Ergebnisse in meinem Programm aus.

Ist das erlaubt? (Natürlich weise ich in entsprechenden Begleittexten der jeweiligen Programme auf die GPL-Lizenz hin).

p80286 16. Apr 2016 09:39

AW: Verwendung von fremden GPL2/3 CLI-Programmen in Shareware erlaubt?
 
Zitat:

Zitat von PeterPanino (Beitrag 1335745)
Ich habe jetzt verschiedene Artikel über die Auslegung der GPL 2 und 3 gelesen, habe aber keine eindeutige Antwort auf meine Frage bekommen.

Bei rechtlichen Fragen wird Dir das auch nicht gelingen.
Im Zweifel müßtest Du den jeweiligen Rechte-Inhaber kontaktieren und Dir die Zustimmung zu der gewünschten Verwendung besorgen bzw. einen entsprechenden Vertrag abschließen.
"zu Risiken und Nebenwirkungen fragen Sie bitte Ihren Anwalt"

Gruß
K-H

hanvas 16. Apr 2016 10:04

AW: Verwendung von fremden GPL2/3 CLI-Programmen in Shareware erlaubt?
 
Zitat:

Zitat von PeterPanino (Beitrag 1335745)
Hallo und schönes Wochenende!

Ich habe jetzt verschiedene Artikel über die Auslegung der GPL 2 und 3 gelesen, habe aber keine eindeutige Antwort auf meine Frage bekommen.

Ich möchte ... compilierte binäre CLI-Programme [...] z.B 7z, VLC, pdftotext, ebook-convert ...

Ich rufe CLI-Programme von meinem Programm aus auf und werte die Ergebnisse in meinem Programm aus. Ist das erlaubt?

Wenn man der GNU-FAQ * glauben darf dann ist die Antwort "meistens Ja-aber". In Deinem Fall ist es aber so das 7Zip ohnehin unter der LGPL steht und pdftotext und ebook-convert von so vielen Websiten (die ja in gewisser Weise auch Software darstellen, wenn auch nicht so komplex) auf genau diese Art eingebunden sind das die Antwort vermutlich ja lautet.

Da für beide Programme von den Herstellern Foren bereitgestellt werden würde ich die Frage dort einfach nochmal stellen.

cu Ha-Jö

* By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program.

Bernhard Geyer 16. Apr 2016 11:28

AW: Verwendung von fremden GPL2/3 CLI-Programmen in Shareware erlaubt?
 
Verteilst du diese GPL-Programme mit deinem Programm oder muss sich dieser der Kunde gesondert installieren?
Funktioniert dein Programm (mit Einschränkungen) auch ohne diese GPL-Programme oder sind diese zwingend notwendig?

Sollte du die Programme mitverteilen und zwingend nötig sein so musst du (bei machen Apps) diese Lizensieren oder Zahlen.
Bei 7z ist das glaube ich nicht der Fall wenn ich diesen Satz richtig interpretiere:

Zitat:

You can use 7-Zip on any computer, including a computer in a commercial
organization. You don't need to register or pay for 7-Zip.

PeterPanino 16. Apr 2016 11:38

AW: Verwendung von fremden GPL2/3 CLI-Programmen in Shareware erlaubt?
 
Bei Calibre ist Folgendes zu lesen:

Zitat:

Wie ist Calibre lizenziert?
calibre is licensed under the GNU General Public License v3 (an open source license). This means that you are free to redistribute calibre as long as you make the source code available. So if you want to put calibre on a CD with your product, you must also put the calibre source code on the CD. The source code is available for download. You are free to use the results of conversions from calibre however you want. You cannot use either code or libraries from calibre in your software without making your software open source. For details, see The GNU GPL v3.
Es ist natürlich bei Download-Programmen nicht praktikabel, den Source-Code in dem Standard-Programm-Download mit einzuschließen. Diesbezüglich habe ich an vielen Stellen gelesen, dass bei Download-Programmen das Verlinken auf die GPL reicht.

Weiters ist diese Passage nicht ganz eindeutig:

Zitat:

You cannot use either code or libraries from calibre in your software without making your software open source.
Denn auch aus der GPL geht (für mich deutlich) hervor, dass dies nur zutrifft, wenn der Quellcode verändert oder im eigenen Programm-Quellcode verwendet wurde ("code or libraries from calibre"), nicht aber compilierte Programme des Original-Quellcodes betrifft.

mjustin 16. Apr 2016 13:25

AW: Verwendung von fremden GPL2/3 CLI-Programmen in Shareware erlaubt?
 
Zitat:

Zitat von PeterPanino (Beitrag 1335751)
Weiters ist diese Passage nicht ganz eindeutig:

Zitat:

You cannot use either code or libraries from calibre in your software without making your software open source.
Denn auch aus der GPL geht (für mich deutlich) hervor, dass dies nur zutrifft, wenn der Quellcode verändert oder im eigenen Programm-Quellcode verwendet wurde ("code or libraries from calibre"), nicht aber compilierte Programme des Original-Quellcodes betrifft.

Nicht ganz eindeutig auch in einem anderen Zusammenhang: laut GPL muss der gesamte Quelltext einer unter GNU Lizenz vertriebenen Software veröffentlich werden. Was ist, wenn in der Anwendung auch Delphi RTL oder VCL Code einkompiliert ist?

HolgerX 16. Apr 2016 14:03

AW: Verwendung von fremden GPL2/3 CLI-Programmen in Shareware erlaubt?
 
Hmm..

Zitat:

You cannot use either code or libraries from calibre in your software without making your software open source.
So etwas wird auch im Zusammenhang mit MySQL diskutiert (auch GPL).
Da scheint definitiv die Regel zu sein, das wenn du die Libs mit Wrapper einsetzt, dann verwendest Du Teile (eben diese Libs) als Bestandteil deines Programmes und schon muss deine Software auch Open Source sein.

Nur wenn da Datenbak-Komponenten benutzt werden, welche NICHT auf die Libs zugreifen, sondern nativ, also direkt mit der DB arbeiten, diese von der GPL losgelöst sind.

Somit musst Du, solltest Du DLLs/Libs von calibre benutzen, seine Software zu Open Source machen.

Das hat damit zu tun, daß Du per wrapper ja bereits die Calls der Functionen der Libs verwendest und somit deren Definition, welche wiederum teil des Source-Codes sind...

Oder so ähnlich.. ;)

Wenn die von Dir benötigten Tools keine DualLizenz haben, also GPL und Commerziel, oder LGPL, dann hat Du schlechte Karten...

(Nur meine Meinung.. ;) )

PeterPanino 16. Apr 2016 14:04

AW: Verwendung von fremden GPL2/3 CLI-Programmen in Shareware erlaubt?
 
[QUOTE=mjustin;1335755]
Zitat:

Zitat von PeterPanino (Beitrag 1335751)
Nicht ganz eindeutig auch in einem anderen Zusammenhang: laut GPL muss der gesamte Quelltext einer unter GNU Lizenz vertriebenen Software veröffentlich werden. Was ist, wenn in der [GPL]Anwendung auch Delphi RTL oder VCL Code einkompiliert ist?

Ich glaube nicht, dass eine Opensource-Anwendung ClosedSource-Code von Embarcadero verwenden würde. Denn dann wäre es per Definition ja nicht mehr OpenSource. (Und überdies nicht legal).

PeterPanino 16. Apr 2016 14:09

AW: Verwendung von fremden GPL2/3 CLI-Programmen in Shareware erlaubt?
 
Zitat:

Zitat von HolgerX (Beitrag 1335759)
Hmm..

Zitat:

You cannot use either code or libraries from calibre in your software without making your software open source.
So etwas wird auch im Zusammenhang mit MySQL diskutiert (auch GPL).
Da scheint definitiv die Regel zu sein, das wenn du die Libs mit Wrapper einsetzt, dann verwendest Du Teile (eben diese Libs) als Bestandteil deines Programmes und schon muss deine Software auch Open Source sein.

Nur wenn da Datenbak-Komponenten benutzt werden, welche NICHT auf die Libs zugreifen, sondern nativ, also direkt mit der DB arbeiten, diese von der GPL losgelöst sind.

Somit musst Du, solltest Du DLLs/Libs von calibre benutzen, seine Software zu Open Source machen.

Das hat damit zu tun, daß Du per wrapper ja bereits die Calls der Functionen der Libs verwendest und somit deren Definition, welche wiederum teil des Source-Codes sind...

Oder so ähnlich.. ;)

Wenn die von Dir benötigten Tools keine DualLizenz haben, also GPL und Commerziel, oder LGPL, dann hat Du schlechte Karten...

(Nur meine Meinung.. ;) )

"LIBS" sind in der IT-Sprache SourceCode-Teile. Es besteht aber ein gewaltiger Unterschied zwischen Source-Code und compilierten Binaries, die man nicht als "Libs" bezeichnen kann.

Der Sinn der GPL läuft ja darauf hinaus, ClosedSource-Ableitungen von OpenSource-Code zu verhindern. GPL schließt aber ausdrücklich die kommerzielle Nutzung von OpenSource ein, wenn der QuellCode nicht verändert wurde.

Bernhard Geyer 16. Apr 2016 14:53

AW: Verwendung von fremden GPL2/3 CLI-Programmen in Shareware erlaubt?
 
Zitat:

Zitat von PeterPanino (Beitrag 1335761)
Der Sinn der GPL läuft ja darauf hinaus, ClosedSource-Ableitungen von OpenSource-Code zu verhindern. GPL schließt aber ausdrücklich die kommerzielle Nutzung von OpenSource ein, wenn der QuellCode nicht verändert wurde.

Du kannst ja gerne das Argument vor Gericht bringen wenn ein hochbezahlter Oracle-Anwalt meint das du so wie du es machst entweder deine Anwendung OpenSource machst oder Zig Fantastilliarten an Lizenzahlungen an Oracle leisten must.
Das was die normale GPL-Logik ist und was Oracle in die GPL hineindefiniert sind zwei paar Schuhe.
Und lieber ein paar € an DevArt und Co. ausgeben als es auf einen Rechtsstreit ankommen zu lassen.

PeterPanino 16. Apr 2016 15:34

AW: Verwendung von fremden GPL2/3 CLI-Programmen in Shareware erlaubt?
 
Wenn Oracle mich verklagen würde, so hätte das einen unschätzbaren Werbewert. Stell dir vor, CNN, Bloomberg und zerohedge berichten über mein Shareware-Programm! Ich müsste wahrscheinlich ein paar Leute einstellen, um die Flut von Aufträgen zu bearbeiten! :wink:

HolgerX 16. Apr 2016 17:20

AW: Verwendung von fremden GPL2/3 CLI-Programmen in Shareware erlaubt?
 
Eine Anmerkung

GPL

bezieht sich NICHT nur auf den QuellCode.



Libs, wie z.B. ' libmySQL.dll' welche über einen Wrapper (oft eine Nachbildung von mysql.c) eingebunden werden fallen durch das Linken ebenfalls unter GPL (lt. Oracle).

Bevor diese GPL-Diskussion nun ausartet,
hier mal ein paar Diskussionen im hiesigen Forum:

http://www.delphipraxis.net/171120-g...-software.html
http://www.delphipraxis.net/171862-z...-libmysql.html

Oder

http://stackoverflow.com/questions/1...d-mode-license

http://www.coding-board.de/threads/m...wendung.30135/

Wenn man weiter googelt, dann wird in allen Beiträgen darauf verwiesen, das nur mit der kommerziellen Lizenz von Oracle deine Software auch ohne GPL und somit OpenSource zu werden vertrieben werden darf.

Und eine Hinweis: Shareware ist kommerziell. Du Beabsichtigst hiermit ja Geld zu machen.

Ob Oracle deine Software als mögliches Ziel für eine Klage erachten würde, ist jetzt vielleicht unwahrscheinlich, aber was ist, wenn deine Software so gut wird, dass Du damit richtig Schotter machst und bekannt wirst?

Ups.. Da sieht es vielleicht schon anders aus... ;)

Bernhard Geyer 16. Apr 2016 17:31

AW: Verwendung von fremden GPL2/3 CLI-Programmen in Shareware erlaubt?
 
Zitat:

Zitat von PeterPanino (Beitrag 1335772)
Wenn Oracle mich verklagen würde, so hätte das einen unschätzbaren Werbewert. Stell dir vor, CNN, Bloomberg und zerohedge berichten über mein Shareware-Programm! Ich müsste wahrscheinlich ein paar Leute einstellen, um die Flut von Aufträgen zu bearbeiten! :wink:

Also wie viel Mrd. Umsatz hat dein Unternehmen das sich die o.g. für dich interessieren würden?
Solltest du in USA tätig sein wird sich Oracle ein passendes Gericht aussuchen und in ein paar Wochen müsstest du die Insolvenz einleiten da es in USA ein ensprechende Urteil gibt.

Wir haben bei einer Diskussion ob wir MySQL nicht Embedded einsetzen wollen (Ablösung andere Desktop-DB) die Preise erfahren was uns das kosten würde.
Und nachdem unsere Interesse danach gegen 0 ging, wollte der (damals noch MySQL-) Mitarbeiter noch schnell die "Sie setzen doch die libmysql.dll Trumpfkarte ziehen" um doch noch ein paar Tausend € Lizenzkosten gelten machen zu können.

Rollo62 17. Apr 2016 08:48

AW: Verwendung von fremden GPL2/3 CLI-Programmen in Shareware erlaubt?
 
Die entscheidenden Hinweise stehen wohl hier
Zitat:



Nachtrag:

Wenn man den wrapper unter folgende Lizenz stellt:

GNU Library or "Lesser" General Public License (LGPL) 2.0/2.1/3.0

Wie auch in der FOSS genehmigt, darf die auf den Wrapper basierende Software auch closed und commerical sein. Lediglich der Wrapper ist dann OSS, was zu verkraften wäre.

Wie schon bemerkt bleibt auch der native Zugriff. Wie der funktioniert kann man aus den Quellen der libmysql ersehen. Ist aber schon ein wenig Arbeit...

TheRealFafnir, 25. November 2010
#12
TheRealFafnir
TheRealFafnir
New Member

Nachtrag 2:

Voraussetzung ist auch das der Wrapper nicht statisch gelinkt ist. Ein Mimimal-Code wie Header darf jedoch im Project drin sein.

Wenn die Wrapper Library komplett statisch eingebunden ist muss auch die nutzende Software wieder LGPL oder GPL sein.

MySQL (GPL) <-> libmysql (GPL) <-> Wrapper (Mittels FOSS zu LGPL) <-> Software die den Wrapper dynamisch lädt (Eigene Lizenz, auch Closed Source)

TheRealFafnir, 26. November 2010
#13
TheRealFafnir
TheRealFafnir
New Member

Nachtrag 3:

Wer Wrapper kann auch unter Mozilla Public License (MPL) 1.1 gestellt werden, was am besten für closed source Projekte wäre.

Die ursprüngliche Frage hat sich mir eben auch gestellt, und jetzt ist alles klar, für mich soweit.

Eine alternative zur original libmysql wäre die libmysql von Michael "Monty" Widenius, dem ursprüngliche Autor der MySQL DB, der inzwischen ja mit einigen anderen "ursprünglichen" Autoren, das MariaDB Projekt aufgezogen hat.

Seine Version baut auf die letzte LGPL Version der libmysql auf, kann bis MySQL 5.5 und der MariaDB verwendete werden, und steht bereits unter der LGPL. Das wird meine persönliche alternative werden. Da mein derzeitiges Projekt in Delphi unter Windows ist, habe ich mir eine mysql.pas besorgt welche unter der MPL 1.1 steht, die eben durch die FOSS exception die original MySQL libmysql.dll importiert.

Alles Unklar? :mauer:


Das ein Wrapper nicht statisch gelinkt werden sollte ist mir schon klar, aber die Fragen wären noch:
- was wird als eigentlich dynamisches Linken akzeptiert ?

1. Ich denke es sollte in jedem Fall ist OK einen eigenen OpenSource-Wrapper als externen Prozess zu starten
und über StandardPipes des OS zu kommunizieren. Oder über Messaging Schnittstellen via OS.

2. Aber das ist mit einer Library wie libVLC schwierig, weil hier nicht nur ein paar Bytes verschoben werden,
sondern ganze Videobilder gestreamt werden müssen.
Es könnte ja sein das ein Windows-Handle von libVLC bedient wird auch als externes Linken akzeptiert wird,
weil es quasi über die eigene Anwendung gelegt wird.

3. Das Einbinden via LoadDll ist wohl schon statisches Linken im Sinne der GPL. oder etwa nicht ?

Was ich mich an den oberen Beispielen nur generell Frage:
- Wie kann ich einen externen Wrapper von einer GPL Library auf LGPL oder MPL umstellen ?
Ich denke das verbietet die GPL, weil der Wrapper davon abgeleitet wird.
Aber es wird ja immer viel von der "Kompatibilität" dr Lizenzen geredet, ist das vielleicht damit gemeint,
und das "Umlizensieren" auch OK ?

Rollo

p80286 17. Apr 2016 14:56

AW: Verwendung von fremden GPL2/3 CLI-Programmen in Shareware erlaubt?
 
Zitat:

Zitat von PeterPanino (Beitrag 1335772)
Wenn Oracle mich verklagen würde, so hätte das einen unschätzbaren Werbewert. Stell dir vor, CNN, Bloomberg und zerohedge berichten über mein Shareware-Programm! Ich müsste wahrscheinlich ein paar Leute einstellen, um die Flut von Aufträgen zu bearbeiten! :wink:

Endlich zieht auch die deutsche Justiz neue Saiten im Kampf gegen Softwarepiraten auf. Wie von der Kanzlei Winkel und Advokat bestätigt wurde, wurden beim landgericht München IX mehrere Klagen gegen Programmierer eingereicht, die Produkte aus dem professionellen Oracle Portfolio illegal nutzen. "Hier muß unbedingt ein Exempel statuiert werden, da viele dieser Piraten glauben, sie könnten unsere Software nutzen ohne sich an die Lizenzbestimmungen zu halten. Für uns ist es nicht länger hinnehmbar, daß, man muß es so sagen, Parasiten sich unseres Eigentums bedienen ohne unsere Einwiligung erhalten zu haben" so ein führender Vertreter des klagenden Unternehmens.

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz