2015-07-08 17 views
5

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.

  1. 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?

  2. 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.

Antwort

1

In der Praxis sind die Menschen in der Regel eine Verknüpfung zu einer gemeinsamen Bibliothek Qt; so etwas leicht zu aktualisieren Qt-solange eine gemeinsame API bleibt, ist möglich. Ein fortgeschrittener Benutzer könnte die Qt-Bibliothek (beginnend mit dem Quellcode der Version, die Sie verwenden) grundsätzlich an seine Bedürfnisse anpassen (z. B. einen unartigen Bug korrigieren, insbesondere ohne eine Qt-Header-Datei zu berühren). Natürlich geben Sie ihm alle Details, um ihm zu helfen (erwähnen Sie zumindest genau die Version von Qt, gegen die Sie verlinken).

Im Prinzip, wie Sie bemerkt haben, könnte dies vielleicht nicht genug sein. Nur ein Prozess und ein Richter können sich wirklich entscheiden, also fragen Sie Ihren Anwalt .

Natürlich bin ich kein Anwalt.

BTW, habe man bedenkt, fragen Sie Ihren Vorgesetzten oder Client (oder die gesetzlich verantwortliche Person) Code als free software freigeben und veröffentlichen (z unter GPLv3+ auf github)? In meiner voreingenommenen Meinung wäre dies die beste Lösung!

Verwandte Themen