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 ..
hier zu finden unter dem Punkt "Revision" ich habe diese aufgrund von Datenschutzgründen mit dem String "Sha1 Generated Hash" ausgetauscht.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"}
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