Die vermeiledeiten Fragen zu GPL/LGPL und Co.


Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

Zvoni

Erfahrenes Mitglied
Hallo Leute,

hypothetisches Szenario: Nehmen wir an, ich schreibe eine Anwendung, welche ich kommerziell vermarkten will.
In dieser Anwendung möchte ich dem User als Option anbieten, eine Video-Datei minimalistisch zu schneiden (Cut-In und Cut-out, und neu-codieren auf bestimmte Grösse).
Ich habe hierfür bereits VLC (zur Anzeige des Videos) bzw. ffmpeg (zum codieren des Videos) ins Auge gefasst.
Wichtig: ich beabsichtige nicht, die genannten Bibliotheken statisch in mein Programm einzubinden, sondern komplett per externe calls (also nicht einmal per dll-Aufruf der API's --> im Prinzip per Shell-Aufruf mit Übergabe der notwendingen Parameter).
Da ich nicht vorhabe, weder VLC noch ffmpeg mitzuliefern (und somit auch den dazugehörenden Quellcode - Der User müsste sich dies selbst installieren), bin ich dann auf der sicheren Seite? Insbesondere auf der sicheren Seite der ffmpeg "Hall of Shame"?

Ich hab jetzt einiges an Foren durchgelesen, und der Tenor ist: Solange du es nicht mitlieferst, solange du nicht direkt auf die Bibliotheken zugreifst, UND die Funktion deiner Anwendung nicht explizit von ffmpeg abhängt, bist du sicher!

Mir ist natürlich klar, dass hier so gut wie keiner von uns Anwalt ist, aber....

...Gedanken?
...Erfahrungen?
 

ikosaeder

Teekannen-Agnostiker
Kein Anwalt, aber ich bin sicher, dass das geht. Selbst wenn du die Programme mitlieferst gibt es kein Problem, solange du Lizenz und Zugang zum Quellcode mitgibst.
 

Technipion

Erfahrenes Mitglied
Hat mich interessiert, weil ich ffmpeg auch des öfteren benutze und sogar schonmal darüber nachgedacht hatte es in meiner Software zu verwenden.

Bin nach etwas Googelei auf diesen Thread gestoßen: Commercial use of FFmpeg - Xojo Forum

Das hier ist der interessante Teil:
This is exactly what I was referring to above. So long as your program only calls or executes the existing GPL-covered tool, you are not bound by the GPL with regard to your application and code.
Und der nette Herr scheint sich recht sicher zu sein, denn später schreibt er noch:
Under these circumstances, your app is safe. I HAVE paid lawyers and spoken with GPL Jesus himself, Richard Stallman, and his apostles at the FSF about this very scenario.
Wenn du also dem Benutzer anbietest für ihn ffmpeg zu starten, sofern er es sich denn installiert hat, dann sollte alles klar gehen.

Gruß Technipion
 

ComFreek

Mod | @comfreek
Moderator
Off-topic: Wo verläuft die Grenze zwischen Bibliotheksbindung (statisch/dynamisch) und externem Aufruf? Ist ein Aufruf von rundll.exe auf Windows eine dynamische Bindung?
 

Zvoni

Erfahrenes Mitglied
Hat mich interessiert, weil ich ffmpeg auch des öfteren benutze und sogar schonmal darüber nachgedacht hatte es in meiner Software zu verwenden.

Bin nach etwas Googelei auf diesen Thread gestoßen: Commercial use of FFmpeg - Xojo Forum

Das hier ist der interessante Teil:

Und der nette Herr scheint sich recht sicher zu sein, denn später schreibt er noch:


Wenn du also dem Benutzer anbietest für ihn ffmpeg zu starten, sofern er es sich denn installiert hat, dann sollte alles klar gehen.

Gruß Technipion
Das ist derselbe Thread den ich auch gefunden habe.
in dem Thread gibt es glaube ich noch den Hinweis, dass solange die Funktion deiner App nicht vom „Vorhandensein“ von ffmpeg abhängig ist, wäre man 100% sicher. Also nach dem Motto für den User: Cool, ich hab eh ffmpeg und VLC drauf. Passt“ im Vergleich zu: „Näää, ich installier mir nix zusätzliches. Ich nehm das schnittprogramm, was ich eh habe“
in beiden fällen ist die Funktion des Programms zu 100% gegeben.
 

Zvoni

Erfahrenes Mitglied
Off-topic: Wo verläuft die Grenze zwischen Bibliotheksbindung (statisch/dynamisch) und externem Aufruf? Ist ein Aufruf von rundll.exe auf Windows eine dynamische Bindung?
Gute Frage. Vielleicht etwas präziser ausgedrückt: ich würde den Commandline-Client (also die ffmpeg.exe) benutzen (welchen der User bei Installation von WinFF mitinstalliert bekommt).
aber ich glaube nicht, dass ein „rundll.exe mylib.dll -param1“ als dynamischer Aufruf gilt, da ich de facto eh nur die sowieso öffentlich zugängliche Schnittstelle benutze.
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…