Seite 1 von 1

Frage bezüglich GPLv3

Verfasst: Freitag 18. Februar 2022, 10:20
von markusseus
Hallo ! ,

ich hoffe ich bin in diesem Sub Forum richitg.
Da meine Frage recht komplex ist, wird es ein wenig Wall of Text, aber ich versuche die Situation so einfach wie möglich zu beschreiben. Da ich kein Python Programmierer bin verzeiht mir bitte, wenn ich das ein oder andere durcheinander werfe.

Worum geht es?
Blender oder spezieller gesagt ein 3rd Party Add-on für Blender, das unter einer GPLv3 Lizenz vertrieben wird.

Ich weiß, dass GPLv3 besagt, dass der Scource Code sowie das in diesem Fall verkaufte Add-on zugänglich gemacht werden muss. Sofern man sich dazu entscheidet, es zu kaufen.

Was besagt GPLv3 ?

Der Market Place auf dem ich das Add-on erstanden habe, ist https://blendermarket.com.

Dort ist Folgendes zu lesen
GPL
All code-based products on Blender Market are licensed either under the GNU General Public License, commonly known as GPL, or as MIT.

The basis of the GPL license is the freedom for non-restricted use of the said software:

Nobody should be restricted by the software they use. There are four freedoms that every user should have:


the freedom to use the software for any purpose,

the freedom to change the software to suit your needs,

the freedom to share the software with your friends and neighbors, and

the freedom to share the changes you make.

- http://gnu.org

Further details and the license text may be found here: http://www.gnu.org/licenses/gpl-3.0.html

Nun hatte mich jemand darauf aufmerksam gemacht das dies bedeutet das man eine "Lizenz " käuft und damit das recht verwirkt wäre dieses addon wie in dem Text besagt zu teilen.

Was so nicht stimmt. Dies ist nur dann der Fall wenn man den Betreffenden Code eindeutig von der Gplv3 trennt. Z.b durch eine Exe Datei die dann mit dem Script in Kommunikation tritt.

Die Exe Datei ist damit nicht teil der GPL und somit per Lizenz vertreib Bar.


Nun zu dem eigentlich Problem.

Sobald man sich dazu entschließt das Addon zu kaufen. Wird einem eine Hash Id zugeteilt und fest mit dem Benutzer Konto auf blendermarket verknüpft. Womit für den Entwickler zurückverfolgbar ist wer dieses Addon benutzt.
Im Quell code des Addons ist dieser Hash von mir identifiziert worden ..

bl_info = {
"name": "MESHmachine",
"author": "MACHIN3",
"version": (0, 10, 0),
"blender": (2, 93, 0),
"location": "Object and Edit Mode Menu: Y key, MACHIN3 N Panel",
"revision": "Sha1 Generated Hash",
"description": "The missing essentials.",
"warning": "",
"doc_url": "https://machin3.io/MESHmachine/docs",
"tracker_url": "https://machin3.io/MESHmachine/docs/faq/#get-support",
"category": "Mesh"}
hier zu finden unter dem Punkt "Revision" ich habe diese aufgrund von Datenschutzgründen mit dem String "Sha1 Generated Hash" ausgetauscht.

Startet man Blender und benutzt das Addon. Greift das Addon auf das Internet zu startet eine Abfrage an den Server und übermittelt, ob das die Hash auf einer Blacklist steht. Da wir keinen zugriff auf die Kommunikation zwischen Server und Addon haben ( Die Abfrage wird per Injektion in einer Py cache Datei ausgeführt. Kann ich sie nicht im Klartext auslesen. Doch die des Programms an den Server is mit Wireshark nachvollziehbar.

Es wird eine Datei in einem Temp Ordner erstellt mit dem Inhalt des Hash. Ist diese Datei vorhanden findet keine Abfrage statt. Somit ist auch ein offline Schutz vorhanden.
Der Entwickler benutzt hier eine Array von IP Adressen um sicher zu gehen das sofern man eine geblockt hat eine andere erreicht werden kann. Öffnet man die Binary Dateien sieht man die Ip Adressen im klartext.

Ich habe das wie folgt überprüft in dem ich Fiddler Classic habe parallel laufen lassen. Fiddler schaltet einen Proxy ziwschen Blender und meiner Netzwerk schnittstelle. Somit ist es nicht möglich die Server zu erreichen was wiederum dazu führ das das Addon tadelos funktioniert.

Da ich nicht über ausreichende Kenntnisse in Phyton habe um die pyc Dateien zu manipulieren kann ich es natürlich nicht wirklich beweisen was darin geschieht.

Fakt ist .

1) Sobald eine Internet Verbindung besteht erstellt das Addon die Temp Datei mit der Hash und produziert Fehlfunktionen
2) Der Austausch der Hashnummer in der beschädigten Installation führt dazu das das Addon wieder tadellos funktioniert
2a) Eine Temp Datei wird in dem Falle nicht erstellt
3) Besteht keine Internet Verbindung Wird die Temp Datei nicht erstellt.
3a) Ist die Temp Datei vorhanden funktioniert das Addon nicht mehr
4) Dieses verhalten geht für verschieden System ( Betriebssystem) sowie für verschiedene Revisionen des Hauptprogramms ( Blender) sowie für das Addon.

Fazit aufgrund meiner Recherche komme ich zu der Aussage, das hier ein verstoß von GPLv3 vorliegt.

Gründe)

1) es liegt nicht der komplette Code einsehbar vor, da hier mit einer Injektion in pyc Dateien gearbeitet wird.
2) Der Entwickler versucht die GPL in dem Sinne zu umgehen da er dem Benutzer eine Hash zuteilt. Die er per Server beliebig blacklisten kann.
3) Der Entwickler speichert Daten über Mac Adresse und Hash Nummer. Ich komme zu diesem Schluss da es sonst keinen Sinn machen würde einen Schutz einzubauen. Sprich, auch hier wird die GPL umgangen.
4) Der Entwickler behauptet, dass es sich um einen „Bug“ handeln würde, was durch die Tatsache des Hash Austausches und der Reproduzierbarkeit widerlegbar ist.

Nun abschießend die Frage, was denkt über das Thema?
Findet ihr es richtig, dieser Sache Nachdruck zu verleihen?

Gruß
Markus

Re: Frage bezüglich GPLv3

Verfasst: Freitag 18. Februar 2022, 10:38
von __deets__
Deine gesammelten Schlussfolgerungen sind stuss.

1) der Code muss auf Anfrage geliefert werden. Nicht prophylaktisch. Blender selbst ist GPL, aber eine Installation enthält keinen Quellcode. Den kannst du extra beziehen.
2) Die GPL macht keine Einschränkungen bezüglich einer Serverabfrage. Wo steht das einer Meinung nach? Die GPL erlaubt auch (oder eher verbietet nicht), dass man mit GPL Produkten Geld verdient, und das das auch ein Abo-Modell oder Ähnliches ein kann.
3) Die GPL macht keine Aussagen zum Datenschutz.
4) Es ist schwer zu verstehen, was genau du da beobachest und was passiert, aber es klingt wie ein Bug. Wo läge das Interesse des Entwicklers, ein Plugin zu programmieren, das kaputt ist? Selbst wenn er das willentlich tut, hat das nichts mit der Lizenz zu tun.

Wenn das Plugin GPL lizensiert ist, muss der Entwickler dir den Code zur Verfügung stellen. Dann kannst du selbst probieren, das zu reparieren. Ob das erfolgreich ist, und sinnvoll, oder es besser wäre, dem Entwickler die Chance zu geben, das Produkt zu reparieren, musst du einschätzen.

Re: Frage bezüglich GPLv3

Verfasst: Freitag 18. Februar 2022, 12:01
von markusseus
1) der Code muss auf Anfrage geliefert werden. Nicht prophylaktisch. Blender selbst ist GPL, aber eine Installation enthält keinen Quellcode. Den kannst du extra beziehen.
Was die GPLv3 sagt Quelle : https://www.gnu.org/licenses/gpl-3.0.html
that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
Die GPL macht keine Einschränkungen bezüglich einer Serverabfrage. Wo steht das einer Meinung nach?
was die GPLv3 sagt
Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
Die GPL macht keine Aussagen zum Datenschutz.
die GPL nicht aber das Europäische Gesetzt zum Datenschutz schon.
Der Europäische Gerichtshof (EuGH) hat entschieden, dass sowohl statische als auch dynamische IP-Adressen in Sachen Datenschutz als personenbezogene Daten gelten. Das bedeutet, dass sie besonders geschützt werden müssen.
Websitebetreiber dürfen die IP-Adresse eines Nutzers nur dann speichern, wenn dies zur Nutzung ihres Angebotes notwendig ist oder dessen Funktionsfähigkeit gewährleistet.
Die Speicherung der IP-Adresse eines Seitenbesuchers ist jedoch nach wie vor dann möglich, wenn ein „berechtigtes Interesse“ seitens des Websitebetreibers vorlieg


Quelle : https://www.datenschutz.org/ip-adresse-datenschutz/

Copyright Protection fällt in dem Fall nicht darunter da es komplett unsinnig ist bei einer GPL ;)


Markus

Re: Frage bezüglich GPLv3

Verfasst: Freitag 18. Februar 2022, 12:36
von sparrow
@markusseus: Ich befürchte da bist du hier völlig falsch und solltest dich lieber rechtlich beraten lassen. Denn grundsätzlich hat __deets__ mit seinen Ausführungen recht und deine Zitate aus der Lizenz widersprechen dem auch nicht.

Re: Frage bezüglich GPLv3

Verfasst: Freitag 18. Februar 2022, 12:41
von __deets__
markusseus hat geschrieben: Freitag 18. Februar 2022, 12:01
1) der Code muss auf Anfrage geliefert werden. Nicht prophylaktisch. Blender selbst ist GPL, aber eine Installation enthält keinen Quellcode. Den kannst du extra beziehen.
Was die GPLv3 sagt Quelle : https://www.gnu.org/licenses/gpl-3.0.html
that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
Ja, steht doch da: wenn du willst. Nicht unaufgefordert. Wie ich sagte.
markusseus hat geschrieben: Freitag 18. Februar 2022, 12:01
Die GPL macht keine Einschränkungen bezüglich einer Serverabfrage. Wo steht das einer Meinung nach?
was die GPLv3 sagt
Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
Hast du Zugriff auf deinen Computer? Kannst du auf dem Computer Dateien platzieren, austauschen, loeschen, modifizieren? Dann ist diese Klausel erfuellt. Es handelt sich um die Tivoization Clause. Hat nichts mit deinem Fall hier zutun.
markusseus hat geschrieben: Freitag 18. Februar 2022, 12:01
Die GPL macht keine Aussagen zum Datenschutz.
die GPL nicht aber das Europäische Gesetzt zum Datenschutz schon.
Der Europäische Gerichtshof (EuGH) hat entschieden, dass sowohl statische als auch dynamische IP-Adressen in Sachen Datenschutz als personenbezogene Daten gelten. Das bedeutet, dass sie besonders geschützt werden müssen.
Websitebetreiber dürfen die IP-Adresse eines Nutzers nur dann speichern, wenn dies zur Nutzung ihres Angebotes notwendig ist oder dessen Funktionsfähigkeit gewährleistet.
Die Speicherung der IP-Adresse eines Seitenbesuchers ist jedoch nach wie vor dann möglich, wenn ein „berechtigtes Interesse“ seitens des Websitebetreibers vorlieg
Du hast nach der GPL gefragt, und im Kontext dessen stand die Antwort. Was erwartest du also? Das ich von alleine auf moeglichst viele Ideen komme, wie du dem Entwickler ans Bein pinkeln kannst? Und ich sehe auch nicht, wo er das verletzt. Was nicht heisst, dass er es nicht tut, aber ein *HASH* ist genau ein Weg, personenbezogene Daten so zu anonymisieren, dass ihre Speicherung rechtens ist.

Was ist denn dein End-Game hier? Brauchst du diese Erweiterung, und willst, dass sie besser funktioniert? Oder willst du einfach nur den Entwickler aergern, weil... ?

Re: Frage bezüglich GPLv3

Verfasst: Freitag 18. Februar 2022, 13:54
von __blackjack__
Man kann doch den Quelltext von dem Plugin bekommen wenn das unter der GPL steht und da kann man dann doch einfach den Serverabfrage-Teil ausbauen. Wenn das Plugin auch offline funktioniert und nicht tatsächlich Funktionalität per Webserver bereit gestellt wird, ist das doch kein Problem.

Sollte Funktionalität auf einem Server benötigt werden, wäre das aber auch immer noch kein Verstoss gegen die GPLv3. Das ist die Lücke, welche die Affero GNU Public Licence (APGL) zu schliessen versucht.

Re: Frage bezüglich GPLv3

Verfasst: Freitag 18. Februar 2022, 14:01
von __deets__
Dieses Vorgehen habe ich ja bereits vorgeschlagen. Wobei ich mir als Plugin-Autor in dem Fall einfach nicht mehr die Muehe machen wuerde, das Plugin ueberhaupt anzubieten. Die GPL ist ja hier eine offensichliche Vorgabe bedingt durch Blender. Und den Aufriss, eine Plattform zu unterstuetzen, die mich dann systematisch um meinen Erwerbsgrundlage bringt, den gebe ich mir bestimmt nicht. Und dann ist das ganze ja auch noch trivial durch eine Mehrprozess-Loesung (wie markus ja schon selbst angemerkt hat) zu umgehen.

Re: Frage bezüglich GPLv3

Verfasst: Freitag 18. Februar 2022, 17:43
von noisefloor
Hallo,

@markusseus : anderes Beispiel - Android verwendet Teile des Linux-Kernels, der unter GPL-Lizenz steht. Völlig legal. Trotzdem enthält Android im Gesamten closed source Code, sammelt Daten über den Benutzer und "funkt diese nach Haus". Das steht in keinem Widerspruch. Man kann auch völlig legal mit GPL-lizensierter Software Geld verdienen - man muss es nur richtig machen.

Es ist z.B. auf dieser Webseite auch IMHO relativ verständlich erklärt.

Gruß, noisefloor

Re: Frage bezüglich GPLv3

Verfasst: Freitag 18. Februar 2022, 18:00
von __deets__
@noisefloor das ist ein sehr anderer Fall. Der Kernel hat eine explizite Schnittstelle, die nicht infektiös ist bezüglich der GPL. Lädt man hingegen 3rd Party Module, was einem Plugin wir hier entspräche, dann ist es sehr wohl ein “tainted Kernel”.

Der Autor des Plugins hier wird zur GPL gezwungen. Nichts vom bisher vorgetragenen stellt eine Verletzung dar. Wenn man ihn aber um den Code bittet, und er dem dann nicht nachkommt, DANN ist das durchaus eine Verletzung.