hier ist ein Update zur Ausgangssituation und Projektziel
Ausgangssituation
Ist-Zustand
Bei der Auslieferung von Hardware an Kunden, wird Software mit ausgeliefert, deren Lizenz für den Benutzer abrufbar sein muss. Derzeit können die Kunden die Lizenzen nur manuell über den Support anfordern.
Teil der Hardware ist der sogenannte XY. Auf diesem laufen Docker Container, in denen Python Module betrieben werden. Für die dafür eingesetzten Python Bibliotheken, müssen die verwendeten Lizenzen einsehbar sein.
Es existiert bereits ein Skript, das eine Datei mit allen benutzten Lizenzen generiert. Die daraus generierte Datei ist aber zu groß (ca. 10 MB) und kann im Userinterface nicht angezeigt werden. Grund hierfür ist die lange Ladezeit auf der Steuerung der Maschine.
Dieses Skript greift auf eine Konfigurationsdatei zu, die eine vorgegebene Liste mit allen Python Containern enthält, die auf dem XY laufen. Bei Änderungen bei den eingesetzten Containern muss diese Konfigurationsdatei manuell angepasst werden. Das Skript extrahiert derzeit alle Lizenzen aller verwendeten Python Bibliotheken und fügt daher auch die Lizenzen zur Ausgabedatei hinzu, die für die jeweiligen Container nicht gebraucht werden und somit auch nicht an den Kunden ausgeliefert werden müssen.
Projektziel
Soll-Zustand
Ziel des Projekts ist es eine formatierte Text-Datei zu erhalten, die in das bereits vorhandene Frontend eingefügt werden kann, um den Support zu entlasten und Zeit zu sparen.
Meine Aufgaben sind:
· die Logik im vorhandenen Skript zu verbessern und zu erweitern
· die Lizenzen auf die benutzten Python Container automatisch anzupassen damit die manuelle Anpassung nicht mehr notwendig ist
· die Ausgabedatei zu komprimieren
Um besseres Verständnis über Lizenzmanagement und lizenzbedingte vertragliche Verpflichtungen zu erlangen, werde ich eine Recherche durchführen.
Zu erfüllende Kriterien:
· Die generierte Text-Datei soll für die Maschinensteuerung kleiner als 10 MB sein
· Es sollen nur die Lizenzen enthalten sein die benötigt werden
· Lizenzen sollen automatisch an jede Release Version angepasst werden
Make or Buy
Pro Make:
· Es existiert bereits eine Lösung, die lediglich überarbeitet werden muss
· Einer Kaufsoftware muss Zugang zum Repository gewährt werden
· Nötige Ressourcen sind vorhanden
· Aufgabenkomplexität ist nicht im Verhältnis zu anfallenden Kosten
· Skalierbarkeit der Software
Pro Buy:
· Beachtung der rechtlichen Vorgaben bezüglich Lizenzen kann ausgelagert werden
· Betriebssicherheit abgedeckt durch Wartungsvertrag