2008-08-14 15 views
9

Ich habe das IKVMing Apache FOP-Projekt untersucht, um es mit unserer .NET App zu verwenden. Es ist ein kommerzielles Produkt, und mit Blick auf die Lizenzierung, IKVM läuft in einigen klebrigen Bereichen wegen seiner Verwendung von GNU Classpath. Nach dem, was ich gesehen habe, kann niemand mit Sicherheit sagen, ob dieses Zeug in einem kommerziellen Produkt verwendet werden kann. Hat jemand IKVM oder ein IKVM-Produkt in einem kommerziellen Produkt verwendet? Hier ist, was ich bisher gefunden habe:IKVM und Lizenzierung

IKVM license page, der stellt fest, dass eine DLL enthält Code aus anderen Projekten, deren Lizenz GPLv2 + Classpath Exception

Saxon for .NET mit IKVM erzeugt wird, aber unter der Apache-Lizenz veröffentlicht ...

Hat jemand Erfahrung damit?

Antwort

6

Es gibt mehrere Probleme, da ikvm derzeit vom GNU-Klassenpfadsystem auf Suns OpenJDK umgestellt wird. Beide werden als GPL + Exceptions lizenziert, um explizit zu erklären, dass Anwendungen, die lediglich die OpenJDK-Bibliotheken verwenden, nicht als abgeleitete Werke gelten.

Im Allgemeinen fallen Anwendungen, die auf Komponenten mit definierten Spezifikationen wie dieser basieren, ohnehin nicht unter die GPL. Zum Beispiel löst die Verknüpfung mit öffentlichen POSIX-APIs keine GPL-Abhängigkeit in einer Linux-Anwendung aus, obwohl der Kernel GPL ist. Ein ähnlicher Prinzipal wird normalerweise (die Details können knifflig sein) angewendet, um Suns Java durch eine FOSS/GPL-Implementierung zu ersetzen.

-2

Ich bin kein Anwalt, aber alle genannten Lizenzen sind in Ordnung, um in kommerziellen Produkten verwendet zu werden, solange Sie keine Änderungen vornehmen und behaupten, dass der Code Ihr ist.

Ich denke, wenn Sie nichts riskieren wollen, sollten Sie einen Anwalt konsultieren.

2

Nur ein kurzes Update zu diesem Thema, nachdem Sie die Frage zur Kenntnis genommen haben.

IKVM scheint aktualisiert zu haben, um den OpenJDK und nicht den GNU Classpath zu verwenden; infact IKVM.net hat den Kommentar von seiner Lizenzseite entfernt.