LGPL 2.1 - die 1000ste

Verschiedenes zu Qt
Antworten
danibert
Beiträge: 20
Registriert: 19. April 2010 09:11

LGPL 2.1 - die 1000ste

Beitrag von danibert »

Hallo zusammen,

vorab ein paar wichtige Informationen:
- ja, ich habe gegoogelt
- ja, ich habe die Suchfunktion des Forums genutzt
- ja, ich habe den Lizenzvertrag der LGPL 2.1 auf deutsch und englisch mehrfach gelesen

Nun zum eigentlichen Thema. Die Fakten:
Ich entwickle gerade ein Programm, dass ich kostenlos an meine Kunden herausgebe. Das Programm dient zur Verwaltung von Benutzeraccounts auf meinem Server und lässt sich aus verschiedenen Gründen nur Clientseitig umsetzen.
Da ich nicht weiß, wie erfolgreich mein Projekt sein wird, lohnt sich der Kauf einer kommerziellen Qt-Lizenz derzeit nicht.
Den Sourcecode meiner ausführbaren Datei möchte ich geheim halten. Eine Veröffentlichung würde für mich einen Wettbewerbsnachteil bedeuten.

Ich erstelle also mein Projekt in Qt4.6 (Qt Creator 1.3.1),linke alles dynamisch und biete das Programm meinen Kunden zum Download an.

Meine Fragen:
- Soweit ich die Lizenzbedingungen verstanden habe, darf ich die zur Ausführung meiner Anwendung benötigten .dll Dateien meinem Download beilegen. Soll ich auch den Quelltext der .dll Dateien beilegen oder diesen nur auf Anfrage aushändigen?

- In den Lizenzbedingungen steht, dass ich den Benutzern den Lizenzvertrag zugänglich machen muss. Ich lege also auch diesen dem Programm bei. Ich konnte leider nur eine inoffizielle deutsche Übersetzung der LGPL finden. Müssen die Lizenzbedingungen in der jeweiligen Sprache der Anwendung vorhanden sein, oder reicht das englische Original?

- An welcher Stelle muss ich den Lizenzvertrag zur Verfügung stellen: in der Anwendung selbst, im Installationsprogramm oder in der Onlinehilfe?

- Wie bereits erwähnt, linke ich dynamisch. Die Bibliotheken können jederzeit ausgetauscht werden, sie laufen also unter LGPL. Wie sieht es für meine ausführbare Datei aus? Darf ich diese als Closed Source veröffentlichen und hierfür eigene Lizenzbedingungen erstellen? In den Lizenzbedingungen ist das irgendwie recht schwammig definiert....

Danke im Voraus für jede Unterstützung
softwaremaker
Beiträge: 149
Registriert: 1. April 2009 19:25

echt schwer

Beitrag von softwaremaker »

Also so richtig klar ist mir die Sache auch nicht.

Ich verwende das Qt-SDK und kompiliere die Qt-DLLs nicht selbst, sondern verwende die von Qt mitgelieferten mit dynamischem Linken.
Also verändere ich Qt nicht und damit ist es lizenzmäßig einfacher.

Mein Programm ist ein "work that uses the Library" (§5)
daraus folgt:
"Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License."
Somit ist §6 nicht relevant.

Ich schlussfolgere daraus:
- ich gebe die Qt-DLLs in binärer Form meiner Anwendung bei
(nicht Teile des Qt-Source mitgeben!)
- muss keinen LGPL-Lizenztext mitgeben
- muss auch keinen Hinweis angeben, dass ich Qt verwende (sieht man aber sowieso anhand der Dateien)

Lasse mich aber gerne besseren belehren...

update:
Die Qt-DLLs darf man frei weitergeben:
http://qt.nokia.com/developer/faqs/70/
danibert
Beiträge: 20
Registriert: 19. April 2010 09:11

Beitrag von danibert »

...Jetzt kapier ich überhaupt nichts mehr.
In §5 der LGPL steht:

Code: Alles auswählen

§5. Ein Programm, das nichts von irgendeinem Teil der Bibliothek Abgeleitetes enthält, aber darauf ausgelegt ist, mit der Bibliothek zusammenzuarbeiten, indem es mit ihr compiliert oder gelinkt wird, nennt man ein „Werk, das die Bibliothek nutzt“. Solch ein Werk, für sich allein genommen, ist kein von der Bibiliothek abgeleitetes Werk und fällt daher nicht unter diese Lizenz. 

Wird jedoch ein „Werk, das die Bibliothek nutzt“, mit der Bibliothek gelinkt, so entsteht ein ausführbares Programm, das ein von der Bibliothek abgeleitetes Werk (weil es Teile der Bibliothek enthält) und kein „Werk, das die Bibliothek nutzt“ ist. Das ausführbare Programm fällt daher unter diese Lizenz. Paragraph 6 gibt die Bedingungen für die Weitergabe solcher ausführbarer Programme an. 
Ja was denn nun?
Das sind doch zwei genau gegensätzliche Aussagen, oder verstehe ich das falsch?
Geht es im zweiten Satz um statisches Linken?
softwaremaker
Beiträge: 149
Registriert: 1. April 2009 19:25

statisches Linken

Beitrag von softwaremaker »

Geht es im zweiten Satz um statisches Linken?
So sehe ich das jedenfalls...
§5. Ein Programm, das nichts von irgendeinem Teil der Bibliothek Abgeleitetes enthält, aber darauf ausgelegt ist, mit der Bibliothek zusammenzuarbeiten, indem es mit ihr compiliert oder gelinkt wird, nennt man ein „Werk, das die Bibliothek nutzt“. Solch ein Werk, für sich allein genommen, ist kein von der Bibiliothek abgeleitetes Werk und fällt daher nicht unter diese Lizenz.
Wird dynamisch gelinkt, dann enthält das eigene Programm (fast) keine Codeteile von Qt (das bisschen aus den Headern etc. ist ja erlaubt).
Wird jedoch ein „Werk, das die Bibliothek nutzt“, mit der Bibliothek gelinkt, so entsteht ein ausführbares Programm, das ein von der Bibliothek abgeleitetes Werk (weil es Teile der Bibliothek enthält) und kein „Werk, das die Bibliothek nutzt“ ist. Das ausführbare Programm fällt daher unter diese Lizenz. Paragraph 6 gibt die Bedingungen für die Weitergabe solcher ausführbarer Programme an.
Das ist nur beim statischen Linken so, das ausführbare Programm enthält dann Teile von Qt, also direkt mit in der exe.
Und nur dann ist §6 zu beachten.

Fazit: wenn dynamisch gelinkt wird, kann man sein Programm unter einer beliebigen Lizenz weitergeben. Die unveränderten Qt-DLLs sind dann vergleichbar mit Public Domain, können also kostenlos mit dem Programm weitergegeben werden ohne besondere Anforderungen seitens Nokia.
Zuletzt geändert von softwaremaker am 26. April 2010 15:07, insgesamt 1-mal geändert.
Mani99
Beiträge: 244
Registriert: 15. April 2009 10:46
Wohnort: München

Beitrag von Mani99 »

Ich glaub verständlicher steht das ganze bei wikipedia!
softwaremaker
Beiträge: 149
Registriert: 1. April 2009 19:25

wiki

Beitrag von softwaremaker »

@Mani99: stimmt, ich hatte mir es auch vorher durchgelesen, jedoch gelten tut ja die LGPL 2.1 und nicht der Wikipedia-Eintrag. Und in der LGPL 2.1 ist der Zusammenhang nicht so einfach zu erkennen.
Wichtig ist ja auch zu wissen, ob und wie man bestimmte Hinweise auf die genutzte Bibliothek im eigenen Programm/Doku integrieren muss und da sagt der wiki-Eintrag nichts.
danibert
Beiträge: 20
Registriert: 19. April 2010 09:11

Beitrag von danibert »

Eine Frage noch zu den Lizenzbedingungen:
Ich linke also Dynamisch und veröffentliche mein Programm als Closed-Source mit meiner eigenen Freeware-Lizenz. Die Qt-DLLs lege ich unverändert in binärer Form bei.

Muss ich nun für die DLLs die LGPL beilegen oder nicht?
Oder reicht ein Hinweis in der Onlinehilfe meines Programmes und ein Link zum Lizenztext?
softwaremaker
Beiträge: 149
Registriert: 1. April 2009 19:25

nichts

Beitrag von softwaremaker »

Muss ich nun für die DLLs die LGPL beilegen oder nicht?
Oder reicht ein Hinweis in der Onlinehilfe meines Programmes und ein Link zum Lizenztext?
Nein, musst nichts beilegen oder erwähnen. Siehe auch
http://qt.nokia.com/developer/faqs/70/
...you are free to ship the dll with your application
Macht ja auch keinen Sinn, mit der Qt-DLL alleine kann ein anderer Programmierer nichts anfangen, da braucht er auch keinen Lizenztext.
guenni81
Beiträge: 134
Registriert: 29. Juli 2006 02:22

Beitrag von guenni81 »

Hallo,
also wenn ich das jetzt alles hier richtig verstehe, dann muß ich beim Dynamischen linken auch keinen Hinweis auf die LGPL mitgeben oder im Programm unterbringen? Vorraussetzung hierfür ist dann natürlich das ich das Programm in Binärform verteile was ja bei Closed Source der normalfall ist.
mfg
Günni
Antworten