Brauche ich Lizenzen bei meinen genutzten Py3-Modulen?
Hallo Liebe/r Leser/in,
Ich bin ein kleiner Python Programmierer mit einem Ziel, ich möchte Software entwerfen die Nützlich ist und jeder nutzen kann.
Für mein geplantes 5000 -10000 Zeiliges Projekt benutze ich schon viele Module aber kann ich sie auch einfach so nutzen?
Ca. 10 verschiedene Module sind in mein Programm integriert und da stellte ich mit irgendwann die Frage ob ich eine Kostenlose, "non profit" App einfach so veröffentlichen darf wenn ich diese imports nutze:
import sys
import platform
import configparser
import os
import subprocess
import ctypes
import shutil
import psutil
import GPUtil
from PyQt5.QtGui import QKeySequence, QTextCursor
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QMenu, QPushButton, QHBoxLayout, QVBoxLayout, QWidget, \
QMessageBox, QDialog, QLabel, QCheckBox, QFileDialog, QListWidget, QListWidgetItem, QFrame, QInputDialog, \
QColorDialog, QShortcut, QTextEdit, QLineEdit
from PyQt5.QtCore import Qt, QDateTime, QTimer, QEvent
Ja das sind schon ein paar Module und da ich erst bei 500Zeilen bin kann ich noch locker etwas ändern.
Also was muss ich beachten, Was muss ich rausmachen, was darf ich nutzen?
(Bin bereit euch Infos zu geben aber vor der Veröffentlichung noch nicht den ganzen Code)
Danke euch im Voraus :)
3 Antworten
Auch Open-Source-Projekte haben Lizenzen. Die meisten deiner Abhängigkeiten sind Teile der Standardbibliothek von Python und damit völlig unproblematisch: https://docs.python.org/3/license.html
Manche Lizenzen haben Bedingungen, für deren Erfüllung du etwas tun musst, etwa:
- Erwähnung in der Dokumentation, evtl. Wiedergabe der Lizenz.
- Veröffentlichung des Sourcecodes, wenn du ein abgeleitetes Werk herstellst (nicht, wenn du es einfach nur verwendest). Das ist typisch für die GPL, wobei es auch eine sanftere Variante (die extra dafür geschaffene LGPL) gibt.
In deinem Fall ist Qt wohl noch am ehesten ein Problem, das ist aber auch OSS-freundlich doppellizenziert: https://www.qt.io/licensing/
Nein, "einfach so" darf man Software selten verwenden. Die Entwickler wählen für ihre Pakete ein Lizenzmodell aus unter denen Du die Software dann benutzen darst. Die Lizenz liegt häufig (fast immer) dem Code bei und damit findest Du sie dann auch in den jeweiligen GitHub Repositories.
Als Beispiel, GPUtil wurde unter der MIT Lizenz veröffentlicht: https://github.com/anderskm/gputil/blob/master/LICENSE.txt
Das ist eine einfache Lizenz für freie Software. Darunter darfst Du den Code einfach verwenden und musst nur darauf achten, den ursprünglichen Urheberhinweis zu erhalten.
Meiner Erfahrung nach stehen viele Python Module unter sehr verträglichen Lizenzen und da sollte es keine Probleme geben. Du verwendest ja - so hab ich das verstanden - auch nicht deren Code direkt sondern nur die Module und baust damit eigenen Code.
Das heißt das ich nichts beachten muss bei denen oder muss ich angeben welche Module ich nutze?
Nein, du darfst nicht einfach irgendeine benutzen. Die haben Lizenzen und die musst du beachten
Wo finde ich die? Weil ich Programmiere jetzt seit fast 2 Jahren und habe mir noch keine wirklichen Gedanken darüber gemacht dass die Lizenzen haben können
Online. Beispielsweise bei GitHub, oder der Website des Package Marketplace
Dann muss ich wohl meinen Code auseinander kloppen und alles berücksichtigen ich danke dir