@Melewo: wer soll das, was Du da zu Lizenzen schreibst verstehen?
@BLVCK: jede Pythondatei ist ein Modul. Da muß man nichts explizit machen. Benutzbare Module sind seiteneffektfrei, das heißt, außer Definitionen passiert nichts, wenn man sie importiert.
Scripte lizenziert man, indem man ihnen eine Lizenz gibt, also einen Text, dem der Nutzer im juristischen Sinne zustimmen und sich daran halten muß, wenn er das Skript benutzen will. Wie die Lizenz aussieht, hängt davon ab, was Du damit erreichen willst. So lange Du der Besitzer des Codes bist, bist Du frei in der Form wie Du die Lizenz formulierst, hast Du Code von anderen eingebunden, mußt Du sie um deren Erlaubnis zur Veröffentlichung und zu den Nutzungsrechten fragen. Das passiert oft in Form einer Lizenz, an die Du Dich dabei halten mußt. Lizenzen bestehen meist aus drei Teilen, dem Haftungsausschluß, den Regeln zur Nutzung und Verbreitung und den Regeln zur Veränderung und der Veröffentlichung von daraus abgeleiteten Werken. Der Haftungsausschluß ist meist immer gleich, bei den Regeln zur Nutzung und Verbreitung unterscheiden sich sogenannte Closed-Source von Open-Source Lizenzen; während erstere die Nutzung nur gegen Entgelt erlauben und die Verbreitung meist ausschließen, ist bei zweiteren die Nutzung meist entgeltfrei und die Verbreitung erwünscht. Wenn Du Dich für Open-Source-Lizenzen interessierst, liest Du sie Dir am besten durch und suchst Dir eine aus, die passend ist.
Pythonpakete werden üblicherweise auf dem
Python Package Index veröffentlicht. Wie das geht, steht dort. Github ist ein öffentlicher Versionskontrollsystem-Hoster, der auch zum herunterladen von fertigen Paketen benutzt werden kann, in erster Linie aber zum Entwickeln gedacht ist.
Pakete haben meist eine Datei setup.py und nutzen
setuptools, das sich um die Installation kümmert. Am besten schaust Du Dir bekannte Pakete an, wie die das lösen.