Unsolved QT Open Source - Release Fragen
-
Hallo,
ich würde gerne mit Qt (Open Source) arbeiten, allerdings bin ich mir etwas unsicher bei der ganzen Sache.
Was genau muss ich bei einer Veröffentlichung eines Programms von mir beachten?
Mein Englisch ist nicht das beste, trotzdem habe ich mich etwas durchgewühlt."Must provide a relinking mechanism for Qt libraries"
(https://www.qt.io/download)"The LGPL allows you to keep the source code of your application private as long as it is "work that usese" the library.""
(https://www.qt.io/faq/)Was ist mit diesen beiden Sachen gemeint? Ich habe dazu nichts passendes bei Google gefunden.
Als Idee hatte ich noch, dass hier womöglich jemand das nötigste erklärt, was man bei der Open Source Version beachten muss. Dann würden weitere womöglich über Google auf diesen Thread kommen.
-
Vorweg: Ich bin kein Anwalt, und nur ein Anwalt darf in rechtlichen Fragen Auskunft geben.
Zu 1: "Must provide a relinking mechanism for Qt libraries"
Das heißt nur, das der Endkunde in der Lage sein muss, dein Programm mit einer anderen Qt Version zu betreiben, als die mit der Du es erstellt und ausgeliefert hast. Z.B. unter Windows wird dein Programm zusammen mit Qt5Core.dll, Qt5Widgets.dll usw. geliefert und der Endkunden kann diese durch neuere Versionen ersetzen.
*Zu 2: "The LGPL allows you to keep the source code of your application private"
Heißt genau was es sagt, du must deinen Quelltext nicht herausgeben, wenn Du die Qt-Bibliothek ohne Modifikationen deinerseits verwendest. Solltest Du Qt modifizieren, müssen diese Anpassungen veröffentlicht werden.
Achtung: einige Module (z.B. QtCharts) sind nicht LGPL, sondern die strengere GPL. Für diese gilt das nicht.
Nochmal: Ich bin kein Anwalt, und das war keine Rechtsberatung.
-
@aha_1980
" Endkunde in der Lage sein muss, dein Programm mit einer anderen Qt Version zu betreiben [...] und der Endkunden kann diese durch neuere Versionen ersetzen."
Heißt, ich müsste nur z.B. die Dll's von einer vorherigen Qt Version bereitstellen? Dann müsste man ja alle Dlls von vorherigen Versionen (z.B. 1.0) bereitstellen..? -
Es heißt genau das was ich geschrieben habe: Du lieferst das Programm mit einer bestimmten Bibliothek in DLL-Form aus. Punkt.
Wie der Benutzer an andere Versionen kommt, ist seine Sache. Wichtig ist nur, das er in der Lage ist den Austausch vorzunehmen. Daher sollten die verwendeten Bibliotheken als DLL mitgeliefert werden und nicht statisch gelinkt werden.
-
@aha_1980 said in QT Open Source - Release Fragen:
Es heißt genau das was ich geschrieben habe: Du lieferst das Programm mit einer bestimmten Bibliothek in DLL-Form aus. Punkt.
Wie der Benutzer an andere Versionen kommt, ist seine Sache. Wichtig ist nur, das er in der Lage ist den Austausch vorzunehmen. Daher sollten die verwendeten Bibliotheken als DLL mitgeliefert werden und nicht statisch gelinkt werden.@aha_1980
"The user of your application has to be able to re-link your application [...] . It is you obligation to provide the user with all necessary tools to enable this process." sagt allerdings, dass ich dafür sorgen muss, dass der Benutzer das machen kann (https://www.qt.io/faq/). Also müsste ich, wie ich bereits mit Bezug auf deinen Beitrag geantwortet habe, alle .dll Dateien vergangener Version bereitstellen.