Gibt es einen Unterschied, wenn wir kommerzielle Software entwickeln wollen?
Antworten
Zu viele Anzeigen?Wenn Sie kommerzielle Software erstellen wollen, verwenden Sie die Version mit Apache-Lizenz. Es ist eine freizügigere Lizenz als die LGPL, so dass Sie keine Probleme haben werden, Jackson unter der Apache-Lizenz in Ihrer eigenen Arbeit zu verwenden, vorausgesetzt, Sie befolgen alle Bedingungen der Apache-Lizenz (alle sind sehr vernünftig). Der Hauptunterschied besteht darin, dass die LGPL in bestimmten Anwendungsfällen verlangt, dass Sie Ihre Anwendung als Open Source zur Verfügung stellen, was bei der Apache-Lizenz nicht der Fall ist.
Je nach Anwendungsfall kann auch die LGPL-Version verwendet werden, aber die Apache-Lizenz ist die sicherere Variante.
Sie müssen die Lizenzen selbst lesen, um zu wissen, welche Sie verwenden müssen:
http://www.gnu.org/licenses/lgpl.html
http://www.apache.org/licenses/LICENSE-2.0.html
Bei der LGPL-Version müssen Sie den Quellcode an die Bibliothek weitergeben, bei der Apache-Version nicht. Es liegt an Ihnen zu entscheiden, welche Lizenz für Ihr Projekt besser geeignet ist.
1 Stimmen
Das ist eine rechtliche Frage, keine Frage der Programmierung.
0 Stimmen
Ich habe neugierig gewesen, wie die lgpl Java-Code als auch auswirkt--ist Klasse Laden als dynamische Verknüpfung?
0 Stimmen
@Matthew ja, das und Vererbung sind beide das gleiche wie die Verknüpfung ich glaube, und FSF bestätigt, dass. Andere könnten allerdings anderer Meinung sein.
0 Stimmen
@Matthew die Lizenz selbst macht diese Unterscheidung nicht (es sind beides abgeleitete Werke). Allerdings interpretieren einige Leute die Lizenz anders als andere und sogar als die FSF. Besser ist es, die ASL zu verwenden und sicher zu sein.
2 Stimmen
Als pedantische Anmerkung möchte die FSF Sie daran erinnern, dass selbst die GPL keine Beschränkungen für kommerzielle Software an sich vorsieht - Sie müssen nur den Quellcode weitergeben, wenn Sie sich entscheiden, das Produkt zu vertreiben.
1 Stimmen
Aus technischer Sicht ist die Vererbung auf der Ebene des Java-Quellcodes führt zu eine Abhängigkeit von der Oberklasse/Schnittstelle, die eine Verknüpfung mit der entsprechenden .class-Datei zur Laufzeit erfordert.