Ich überlege, eine Closed-Source-Anwendung zu erstellen, die dynamisch mit den Qt-Bibliotheken verknüpft. Die Zielplattformen wären Linux und Windows. Um die Verpflichtungen der LGPL zu erfüllen:Wie erlaubt man private Modifikationen, wenn Qt in einem kommerziellen Produkt unter der LGPL verwendet wird
„Der Benutzer Ihrer Anwendung muss in der Lage sein, Ihre Anwendung gegen eine andere oder modifizierte Version der Qt-Bibliothek neu zu verknüpfen“ (Qt faq).
ich kämpfen, um zu verstehen, was technisch notwendig ist, um dies möglich zu machen. Vor allem ohne den Quellcode freizugeben.
Unter welchen Bedingungen würde ein Benutzer in der Lage sein, nur die .so/DLL-Dateien zu ersetzen, die mit ihren eigenen, modifizierten Versionen der Anwendung versenden?
Ist das überhaupt möglich? Denn in der gleichen Frage die libstdc++ faq Staaten:
Die LGPL erfordert, dass Benutzer in der Lage, den LGPL-Code durch eine modifizierte Version zu ersetzen; Dies ist trivial, wenn es sich bei der betreffenden Bibliothek um eine C-gemeinsam genutzte Bibliothek handelt. Aber es gibt keine Möglichkeit, dies mit C++ zu tun, wo ein Großteil der Bibliothek aus Inline-Funktionen und Templates besteht, die innerhalb des Codes, der die Bibliothek verwendet, erweitert werden. Um es den Benutzern zu ermöglichen, den Bibliothekscode zu ersetzen, müsste jemand, der die Bibliothek verwendet, ihre eigene Quelle verteilen, wodurch die LGPL der GPL entspricht.
Vielen Dank!
Edit: Die zweite Ausgabe von LGPL version 3, Abschnitt 3 Nützliche Referenz geklärt ist: ein old version des Eigen FAQ über dieses Thema und ihre correspondence with the FSF darüber.