myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Rund um die Programmierung » GPLv2 Library verwenden ohne das Hauptprogramm ebenfalls unter GPLv2 zu lizensieren
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

GPLv2 Library verwenden ohne das Hauptprogramm ebenfalls unter GPLv2 zu lizensieren

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
MorphieX MorphieX ist männlich
myCSharp.de-Mitglied

Dabei seit: 06.02.2012
Beiträge: 184
Entwicklungsumgebung: VS 2015 Community
Herkunft: Rahden


MorphieX ist offline

GPLv2 Library verwenden ohne das Hauptprogramm ebenfalls unter GPLv2 zu lizensieren

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo zusammen,

kurz zu unserem Vorhaben:
Ich möchte meine Software (.NET Core 2.2) erweitern, um Maschinendaten über OPC UA zu monitoren.

Die Software ist in einzelne Plugins (als eigene Assemblies) aufgeteilt und ist soweit closed source.
Nun möchte ich das NuGet Paket "OPCFoundation.NetStandard.Opc.Ua" verwenden um die OPC-UA-Kommunikation zu realisieren.
Dieses Paket steht allerdings unter der GPLv2. (und als 2. Möglichkeit unter einer anderen Lizenz für Jährlich knapp 4.800$)

Ich weiß, hier kann ich keine Rechtsberatung erwarten, aber vielleicht hat ja jemand schon Erfahrungen mit meinem Problem.

Darf ich ein Plugin (eigene PCL) dafür erstellen, welches ich dann unter der GPLv2 lizensiere und in meiner Hauptanwendung zur Laufzeit lade? Kann ich meine Hauptanwendung dann weiterhin unter einer anderen Lizenz vertreiben?
Falls das funktioniert, muss ich dann beim Laden des Plugins irgendwelche Klimmzüge machen, damit ich rechtskonform bin?

Alternativ wäre ich natürlich auch an einer anderen Möglichkeit zur OPC-UA-Kommunikation interessiert. Also quasi ein anderes SDK...? Ich weiß dass es da welche im kommerziellen Bereich gibt, z.B. von Softing. Ich suche aber - wie so oft - eine möglichst günstige Möglichkeit.
03.05.2019 13:08 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.063
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Nur ein Rechtsbeistand kann Dir verlässliche Aussagen zu Lizenzen geben.
03.05.2019 21:09 Beiträge des Benutzers | zu Buddylist hinzufügen
weismat
myCSharp.de-Mitglied

Dabei seit: 20.09.2005
Beiträge: 869
Entwicklungsumgebung: Vistual Studio 2017, VS Code
Herkunft: Frankfurt am Main


weismat ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Gibt doch ein paar freie  Alternativen.
Die würde ich an Deiner Stelle benutzen. Ich würde aber die Bibliothek gut nach außen abkapseln, so daß man im Zweifel leicht die Bibliothek wechseln kann, wenn sich da etwas ändert.
04.05.2019 07:32 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
gfoidl gfoidl ist männlich
myCSharp.de-Team

avatar-2894.jpg


Dabei seit: 07.06.2009
Beiträge: 6.594
Entwicklungsumgebung: VS 2019
Herkunft: Waidring


gfoidl ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo MorphieX,

grundsätzlich ist die GPLv2 viral.

Zitat von GPL2:
Die GPL besagt, dass das gesamte kombinierte Programm unter der GPL freigegeben werden muss. Also muss das Modul für die Verwendung unter der GPL verfügbar sein.

Zitat von GPL2:
Ja, denn das Programm, so wie es tatsächlich ausgeführt wird, enthält die Bibliothek.

Aber es gibt Grauzonen:

Zitat von GPL2-FAQ:
Die GPL erfordert nicht Ihre modifizierte Version freizugeben. Sie sind frei, Modifizierungen vorzunehmen und diese privat anzuwenden, ohne sie jemals freizugeben. Das gilt auch für Organisationen (einschließlich Unternehmen); eine Organisation kann eine modifizierte Version erstellen und intern verwenden, ohne sie jemals außerhalb der Organisation freizugeben.

Aber wenn man die modifizierte Version in irgendeiner Weise der Öffentlichkeit freigibt, verlangt die GPL, dass man den modifizierten Quellcode Programmnutzern ebenso unter der GPL bereitstellt.

Vllt. lässt sich damit deine Anforderung schon abdecken, wenn dein Projekt unter GPLv2 gestellt wird, aber du es nicht veröffentlichst.

Allerdings könnte das aus praktischen Gründen schwierig werden:

Zitat von GPL2-FAQ:
Die GPL besagt, dass jedermann, der eine Kopie von Ihnen erhält, das Recht hat, Kopien weiterzugeben, entweder modifiziert oder unmodifiziert. Das Werk darf nicht unter einer restriktiven Grundlage vertrieben werden.

Wenn jemand Sie bittet, eine Vertraulichkeitsvereinbarung für den Empfang von GPL lizenzierter Software zu unterzeichnen, mit einem Copyright der FSF versehen ist, informieren sie uns bitte unverzüglich schriftlich unter  [email protected] darüber.

Der letzte Punkte kann aber durch "Entwicklung" umgangen werden:

Zitat von GPL2:
you can accept a contract to develop changes and agree not to release your changes until the client says ok. This is permitted because in this case no GPL-covered code is being distributed under an NDA.

You can also release your changes to the client under the GPL, but agree not to release them to anyone else unless the client says ok. In this case, too, no GPL-covered code is being distributed under an NDA, or under any additional restrictions.

The GPL would give the client the right to redistribute your version. In this scenario, the client will probably choose not to exercise that right, but does have the right.

Zitat:
Darf ich ein Plugin (eigene PCL) dafür erstellen, welches ich dann unter der GPLv2 lizensiere und in meiner Hauptanwendung zur Laufzeit lade? Kann ich meine Hauptanwendung dann weiterhin unter einer anderen Lizenz vertreiben?

Du darfst dafür ein Plugin erstellen. Unter welcher Lizenz deine Hauptanwendung vertrieben wird, hängt davon ab wie das Plugin geladen wird.
Wird es in den Prozess der Hauptanwendung geladen (z.B. per Activator.CreateInstance), so muss die Hauptanwendung auch unter der GPL2 stehen.
Wird das Plugin in einem eigenen Prozess als eigenständige Anwendung ausgeführt, so ist die Lizenz für das Hauptprogramm wurscht. Die Kommunikaton mit dem Plugin muss dann per IPC erfolgen.
Allerdings:

Zitat von GPL2:
Wenn das Programm Plug-ins dynamisch verbindet, aber die Kommunikation zwischen beiden darauf beschränkt ist die Hauptfunktion des Plug-ins mit einigen Optionen aufzurufen und auf die Rückgabe zu warten, ist das ein Grenzfall.

mfG Gü

PS: ich bin kein Anwalt, daher Abts Rat berücksichtigen (wenn du nicht weismats Rat berücksichtigst ;-)).
04.05.2019 09:34 Beiträge des Benutzers | zu Buddylist hinzufügen
MorphieX MorphieX ist männlich
myCSharp.de-Mitglied

Dabei seit: 06.02.2012
Beiträge: 184
Entwicklungsumgebung: VS 2015 Community
Herkunft: Rahden

Themenstarter Thema begonnen von MorphieX

MorphieX ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Vielen Dank für eure Antworten :-)

Die Liste mit Alternativen kannte ich noch nicht - hier scheint mir LibUA, welche unter Apache 2.0 lizensiert ist, recht interessant.
Ich werde die Lib mal ausprobieren :-)
06.05.2019 07:19 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 5 Monate.
Der letzte Beitrag ist älter als 5 Monate.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 18.10.2019 05:35