Python Anwendung als Open Source veröffentlichen aber wie ?

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Worl
User
Beiträge: 5
Registriert: Donnerstag 12. Juni 2014, 11:54

Hallo Community!

Ich habe ein kleines Forensik Tool in Python geschrieben. Diese Tool würde ich nun gerne als Opensource veröffentlichen. Nun stellt sich aber die Frage wie ich das am besten angehe ? Momentan ist es natürlich noch einiges zu tun Code aufräumen Dokumentation usw. Ich möchte mich nun aber vorab gerne einmal umhören ob jemand schon Erfahrungen mit Opensource veröffentlichungen gemacht hat und bin natürlich für Tipps sehr Dankbar.

Da wäre nun einmal zuerst die Frage unter welcher Lizenz man das ganze veröffentlicht. Ich möchte gerne die Rechte behalten es sollte jedoch aber möglich sein das andere Entwickler aus der Opensource Community daran arbeiten dürfen. Sowie sollte eventuell die Möglichkeit offengehalten werden (auch wenn es wahrscheinlich nicht dazu kommt ) eine Lizenz gebühr für Gewerblichezwecke einzuführen. Außerdem möchte ich ja auch gerne aus Haftungsgeschichten ausgeschloßen werden. Ist das überhaupt so Möglich ? Wenn ja welche der vielen Lizenzen eignet sich dafür? Woher bekomme ich eine solche damit es auch Offiziell ist? Welche Pflichten entstehen darauß für mich ?

Die nächste Frage ist über welche Plattform wird das ganze am besten Angeboten ? Github ? Sourcforge ? und wie sie alle heißen.

Außerdem habe ich schon gelesen das die meisten Sprachen-Communitys soetwas wie ein Opensource Register führen wo man eben solche Opensource Anwendungen registrieren kann. Hat die Python Community auch so etwas ?

Wie mache ich mein Projekt bekannt ? hilft ja nichts wenn es Online verfügbar ist aber es keiner kennt.

Eine andere Frage ist, ich nutze viele Bibliotheken wie zum Beispiel PyQT. PyQT ist ja für Gewerbliche zwecke kostenpflichtig würde ich bei einer Veröffentlichung Probleme damit bekommen? Wenn ja wie kann ich das Umgehen ?

Ich habe mich bereits etwas über Googel informiert jedoch bin ich nicht viel schlauer geworden. Deshalb wäre es schön wenn jemand veileicht schon Erfahrungen gesammelt hat oder ein paar nützliche Llinks hat.

Vielen Dank schonmal im Vorraus
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Zuerst, IANAL. Wenn du sichergehen willst konsultiere einen Anwalt, der sich auf Softwarerecht spezilisiert hat.

Aus der Haftung für Vorsatz oder Fahrlässigkeit kommst du nach deutschem Recht überhaupt nicht heraus.
Bei OSS ist das wahrscheinlich kein Problem (da Schenkung), aber wenn du die Software verkaufst, hast du die ganze Haftungspalette am Bein.

Und was sind für dich "gewerbliche Zwecke"? Dass es eine Firma benutzt? Dann kommst du mit den geläufigen Lizenzen nicht hin und schreckst wahrscheinlich neue Entwickler ab.

Der "normale" Weg ist GPL + proprietäre Lizenz, wie es auch PyQt praktiziert.
Die GPL verhindert, dass die Software als nicht-freie Software veröffentlicht wird und zwingt Anwender dazu, die proprietäre Lizenz zu kaufen, wenn sie es nicht als GPL veröffentlichen möchten.
Aber wie gesagt, das hilft nicht gegen die Nutzung durch Firmen, wenn sie es nicht im Rahmen einer neuen Software veröffentlichen.

PyPI ist dein Register.

Was PyQt angeht, hast du ein Problem wenn du eine Lizenz anders als die GPL verwendest, wenn du keine Lizenzen kaufst.
Und wenn du andere GPL Bibliotheken benutzt, hast du diese Wahl wahrscheinlich schon gar nicht mehr und bist gezwungen es selbst unter GPL (oder einer kompatible) Lizenz zu veröffentlichen.

Vor der Veröffentlichung solltest du aber auf jeden Fall prüfen, ob du die Lizenzen der Bibliotheken unter einen Hut bekommst, damit du deine Software überhaupt veröffentlichen darfst.
Worl
User
Beiträge: 5
Registriert: Donnerstag 12. Juni 2014, 11:54

Hallo cofi!

Danke für deine schnelle Antwort! Ja genau das meinte ich mit gewerbliche Zwecke die Benutzung durch Firmen sollte eben Lizenzgebunden sein. Aber gut dann fällt das schomal raus. Ich werde mich wohl mal zuerst über die gesamten Lizenzen der verwendeten Bibliotheken Informieren müssen. Sowie einen Anwalt aufsuchen. Obwohl ich mir gerade schon überlege ob sich der Aufwand überhaupt lohnt
Benutzeravatar
snafu
User
Beiträge: 6862
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Ich habe den ganzen Lizenzierungskram schon immer gehasst. Die GPL zwingt einen dazu, jedes andere Programm, welches mindestens teilweise auf GPL-Code basiert (umfasst auch die Nutzung von Bibliotheksfunktionen eines GPL-Projektes und sogar Aufrufe des GPL-Programms per Kommandozeilenbefehl), ebenfalls unter GPL bzw einer GPL-kompatiblen Lizenz zu veröffentlichen, oder wie war das?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

@snafu: Das gilt aber fuer jede Lizenz: Wenn du sie benutzt musst du dich an ihre Bedingungen halten. Die Bedingungen der GPL kann man eben am besten selbst mit einer GPL erfuellen.

@Worl: Sobald du deine Software nicht mehr verkaufen willst, faellt die meiste Arbeit weg. Sehr wahrscheinlich hast du bei den Bibliotheken einen Mix aus BSD-, Apache- und GPL-Lizenzen. Solange es nicht verschiedene GPL-Versionen sind, bringst du das mit der GPL unter einen Hut.
Benutzeravatar
snafu
User
Beiträge: 6862
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

@Worl: Der Zwang zur Nutzung einer GPL-kompatiblen Lizenz macht zumindest für einige kommerzielle Projekte die Nutzung deiner Arbeit unattraktiv, weil sie oftmals nicht-GPL-konforme Bestandteile in den von ihnen verwendeten Lizenzen enthalten (z.B. Verbot der kostenlosen Weitergabe bzw Veröffentlichung des Quelltextes). Die dürfen dann also dein Programm nicht mit in ihre Arbeit einfließen lassen. Und wie schon geschrieben wurde, kannst du für solche Anliegen dann eine kostenpflichtige Alternative mit weniger Einschränkungen anbieten. Möglicherweise ist das ja ein annehmbarer Weg für dich.

Aber sei dir trotzdem bewusst, dass deine Idee an sich dadurch nicht vor kommerzieller "Ausnutzung" geschützt wird. Zwar sind keine direkten Aufrufe deiner Programmfunktionalität erlaubt (zumindest nicht als Teil eines veröffentlichten nicht-GPL-Produktes), aber nachprogrammiert werden (wenn auch nicht 1:1) können die relevanten Teile ja trotzdem, da der Code ja einsehbar ist. Dein Programm müsste schon recht viel Neuwertiges können, damit Unternehmen auch tatsächlich bereit sind, kostenpflichtige Lizenzen von dir zu erwerben.

Was die GPL (soweit ich es verstehe) übrigens nicht verbietet, ist die alltägliche Arbeit mit einem GPL-Produkt in einer Firma. Das heißt: Texte, Bilder, Videos, etc., die mit GPL-Software erzeugt wurden, müssen im Falle einer kostenpflichtigen Veröffentlichung durch die Firma *nicht* unter die GPL gestellt werden. Die GPL-Einschränkung betrifft wirklich nur die Nutzung innerhalb von anderer Software.
Worl
User
Beiträge: 5
Registriert: Donnerstag 12. Juni 2014, 11:54

Hallo snafu, cofi

Ja ich werde mir das ganze mal überlegen. Also mir geht es nicht in erster Linie darum das Programm zu verkaufen. Eigentlich geht es nur darum das, dass Programm aus einem kleinen Projekt heraus entstanden ist und Momentan in der Schublade versauert. Das finde Ich wiederum sehr Schade da ich der Meinung bin es würde noch mehr potzenial in dem Tool bzw. in dem Anwendungsbereich stecken. Um das Tool eben anderen zu Verfügung zu stellen und die Weiterentwicklung zu gewährleisten bzw. mit Leuten zu arbeiten die vielleicht mehr Anhnung bzw. bessere Ideen und möglichkeiten haben spielte ich eben mit dem Gedanken das ganze als Opensource zu veröffentlichen. Die Lizenzierung der Gewerblichen nutzung stande dabei nicht im Vordergrund sondern war nur eine Zusätzliche Überlegung als ist es nicht unbedingt schlimm wenn das wegfällt.

Aber wie gesagt vielleicht gibt es auch noch andere Möglichkeiten das Programm nicht sinnlos verstauben zu lassen.
BlackJack

Falls PyQt durch PySide ersetzt werden kann, dann hätte man zumindest für die GUI die LGPL, kann also die Anwendung auch unter eine andere Lizenz stellen (sofern da nicht die Lizenzen von anderen Bibliotheken einen Strich durch die Rechnung machen).
Sirius3
User
Beiträge: 18265
Registriert: Sonntag 21. Oktober 2012, 17:20

Ich will mich mal wieder auf rechtliches Glatteis begeben: Du kannst Dein Projekt unter einer beliebigen Lizenz veröffentlichen, solange GPL-lizensierte Programmteile Bestandteil der Veröffentlichung sind. Konkret brauch Dein Projekt ja kein PyQt zu benutzen, sondern nur ein Paket, das die selbe API hat, wie PyQt. Die API ist nicht GPL-lizensiert. Damit ist dem Nutzer Deiner Software überlassen, wie er die verschiedenen Bibliotheken kombiniert, damit keine Lizenz verletzt wird. Aber da GPL in diesem Zusammenhang nur Einschränkungen auf die Veröffentlichung von Software hat, kann der Nutzer also, solange er nicht wieder ein Projekt, das alles kombiniert, veröffentlicht, bedenkenlos damit arbeiten.
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

Kein Mensch bezahlt für unbekannten Code. Wenn Du also unbekannt bist und mit Software Geld verdienen willst, dann empfehle ich Dir Deinen Code unter der Apache Lizenz zu stellen. Apache Lizenz heißt:
  • Du haftest für nichts,
  • jeder darf alles mit Deinem Programm machen, bis auf die folgenden zwei Ausnahmen:
  • Dein Name muss in der Lizenz enthalten sein,
  • wird das Programm verändert, dann muss es einen neuen Namen bekommen.
So hast Du eine kleine Chance, dass Dein Programm Benutzer bekommt. Wenn Dein Programm für Firmen nützlich ist, dann werden Sie Dich vielleicht für Support und Erweiterungen bezahlen.
a fool with a tool is still a fool, www.magben.de, YouTube
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

@MagBen: Und solange PyQt oder eine sonstige GPL-Software im Spiel ist scheidet die ASL aus.

@Sirius3: Man koennte sogar argumentieren, dass solange man seinen Kram verschenkt, wird man wohl auch nicht verklagt :twisted:
Wie weit man gehen muss, damit das eigene Projekt keine "derived Works" mehr darstellt laesst sich wohl nur im Einzelfall vor Gericht klaeren.

Und dann war noch das Google-Oracle-Urteil zu den Java-APIs .. :roll:
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

MagBen hat geschrieben:Du haftest für nichts
Ein vollständiger Haftungsausschluss ist nach deutschem Recht nicht möglich.
Das Leben ist wie ein Tennisball.
Benutzeravatar
snafu
User
Beiträge: 6862
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Ich benutze die Simplified BSD License. Die ist GPL-kompatibel, aber erlaubt auch die Veröffentlichug unter anderen Lizenzen bzw untersagt diese nicht. Falls man bei Nutzung dieser Lizenz in einem Projekt seinerseits GPL-Code verwendet, dann würde die GPL aber wohl "gewinnen", da ein Projekt, welches von mir ableitet, dann ja auch notwendigerweise vom GPL-Code ableitet.

Andererseits frage ich mich, wie das bei einer Modularisierung aussieht: Wenn mein BSD-lizensiertes Projekt an manchen Stellen GPL-Code verwendet und ein Dritter dann nur diejenigen Teile meines Projektes in einem eigenen Programm verwendet, die *nicht* auf GPL-Code basieren (also keinerlei Abhängigkeiten zu meinen "GPL-infiltrierten" Code-Teilen hat), muss er für eine Veröffentlichung dann trotzdem eine GPL-kompatible Lizenz nutzen oder darf er frei wählen? Eigentlich müsste er dann doch frei wählen können, oder?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Du kannst deinen Code unter so vielen Lizenzen veroeffentlichen wie du willst, schliesslich liegt das Urheberrecht bei dir und du raeumst im Rahmen der Lizenz anderen Rechte ein.
Du hast erst dann ein Problem, wenn das Urheberrecht nicht mehr allein bei dir liegt, z.B. weil du anderen Code benutzt. Dann musst du dich nach _dieser_ Lizenz richten und kannst anderen nicht mehr Rechte einraeumen als du eigentlich hast (bzw weniger Einschraenkungen in dem Fall).
Und ja, die GPL wird beim Mischen mit kompatiblen Lizenzen immer "gewinnen" weil sie mehr Einschraenkungen fordert.

Die Frage ist, ob du dein Projekt unter die BSD-Lizenz stellen darfst. Wenn du die Modularisierung so weit treibst, dass du eigenstaendige Module hast und die nicht mit dem GPL-Code in Kontakt kommen, dann kannst du die unter die BSD stellen, das Gesamtprojekt muss sich aber noch nach der GPL richten.

Sagen wir du hast ein Datenbank- und ein GUI-Modul. Ersteres hat keine Abhaengigkeiten: Du kannst es beliebig lizensieren. Letzteres benutzt PyQt und muss darum unter die GPL gestellt werden.
Dein Terminplaner der beide Module benutzt muss dann immernoch die GPL beruecksichtigen. Ein Dritter kann aber dein Datenbank einzeln benutzen unter der Lizenz die du ihm einraeumst, ohne die Pflicht zur GPL-Kompatibilititaet.
Benutzeravatar
snafu
User
Beiträge: 6862
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

cofi hat geschrieben:Die Frage ist, ob du dein Projekt unter die BSD-Lizenz stellen darfst. Wenn du die Modularisierung so weit treibst, dass du eigenstaendige Module hast und die nicht mit dem GPL-Code in Kontakt kommen, dann kannst du die unter die BSD stellen, das Gesamtprojekt muss sich aber noch nach der GPL richten.
Ich dachte eigentlich, man könnte sein Projekt bei Verwendung von GPL-Code auch unter eine weniger einschränkende, aber dennoch GPL-kompatible Lizenz (also z.B. Simplified BSD) stellen. Die Kompatibilität bezieht sich also nur auf die quasi autonomen Programmteile in einem GPL-lizensierten Projekt, oder wie? Einerseits erscheint mir das bei näherem Nachdenken auch naheliegend, da die BSD-Lizenz ja andernfalls die Einschränkungen von GPL abschwächen würde. Aber andererseits blicke ich bei dem Thema kaum durch, was geht und was nicht geht.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Wenn die FSF von GPL-Kompatibilitaet redet, heisst das meistens, dass man Code unter der zweiten mit GPL-Code zusammen neu als GPL lizensieren kann.
Beispielsweise bei der Wikipedia-Seite zur ASL: https://en.wikipedia.org/wiki/Apache_Li ... patibility

Die AFAIK gelaeufige Argumentation ist, dass wenn der Code nicht ohne einen anderen Funktioniert, dann ist es ein "derived Work". Und wie du schon sagst: Alles andere wuerde den Sinn von Copyleft unterlaufen.

Das Thema ist ja auch reichlich haarig. Faengt ja schon mal mit der Frage an, ob deutsches Urheberrecht oder englisches/amerikanisches Copyright anzuwenden ist. Bei Lizenzvertraegen kommt im deutschen Recht noch mindestens das BGB dazu.
Ein Spass :roll:
Benutzeravatar
snafu
User
Beiträge: 6862
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Naja, zum Glück waren meine bisherigen Hobby-Projekte in Bezug auf Codegröße und Resonanz der Anwender bisher nicht so groß, als dass ich mir ernsthaft Gedanken um mögliche Probleme bei einer falschen Lizenzierung machen müsste. Und bisher habe ich glaube ich auch keine Lizenzverletzung begangen. Wie rigoros ist die FSF denn bei der Verfolgung solcher Lizenzverletzungen? Können die einen dafür theoretisch verklagen bzw tun sie dies auch in der Praxis? Ich könnte mir vorstellen, dass man im ersten Schritt zunächst mal freundlich kontaktiert wird mit dem Hinweis, dass man etwas falsch gemacht hat...
BlackJack

@snafu: Primär ist der erste Ansprechpartner nicht die FSF sondern der oder die Autoren deren Copyright Du verletzt, oder aber jemand der ein Programm erhalten hat das GPL-Code enthält und dann vom Autoren des Programms den Quelltext einfordert. Das Programm ohne Quelltext zur Verfügung zu stellen ist an sich AFAIK auch noch gar kein Problem, solange man den auf Verlangen nachliefert. Diese Leute können sich dann an die FSF wenden um Unterstützung zu erhalten.
Worl
User
Beiträge: 5
Registriert: Donnerstag 12. Juni 2014, 11:54

Ohh ganz schön was los hier hab ich wohl ein Kompliziertes Thema angesprochen :)

Also wie ich sehe ist das wohl wirklich viel schwieriger/komplizierter als ich gedacht hatte.

Bei meiner recherche Gestern bin ich noch auf diese Seite hier gestoßen.

http://www.magjs.de/2012-01/rehm/rehm.html

Hier hört sich das ziemlich einfach an. Es geht halt um Javascript vielleicht ist es da etwas anders ? :K

Aber nach dem ich mich Gestern noch weiter mit dem Thema befasst habe und sowie ich es hier lese scheint der Autor des obigen Artikels das ganze zu einfach zu beschreiben :)

Das Hauptproblem so wie ich es verstanden habe ist ja der Fremd Code in meinem Programm wie etwa PyQt und andere Bibliotheken?

Das bedeutet für mich jetzt wenn ich dem ganzen Lizenz wirwar aus dem Weg gehen möchte, müsste ich mich nun hinsetzen und Alternativen suchen bzw Alternativen selbst schreiben. Da muss ich aber ehrlich sagen das mir das wohl zuviel Aufwand wird ich würde salob gesagt als einziger Entwickler dieses Tools Jahre sitzen. Also wird es wohl zunächst mal keine Veröffentlichung als Opensource geben. Vielleicht finden sich ja auch über das hiesige Forum (hier gibt es ja ein tolles Projektforum wie ich Gestern gesehen habe ) Mitstreiter die Bock drauf haben etwas mit zu Basteln bzw. Weiterzuentwickeln.

Allerdings muss ich sagen mein Respekt gegenüber den Leuten die Opensource veröffentlichen ist nocheinmal gestiegen. Also echt Hut ab wer das Durchhaltevermögen hat sich mit dem ganzen auseinander zu setzen. Auf mich wirkt das ganze ja ehr Abschreckend. Da können wir ja froh sein das es Trotzdem so viel Open Source gibt.

Trotzdem würde mich Interessieren wie die Strafen in einem Falle einer Lizenzverletzung ausfallen weiß das jemand ? Also ist es dann wirklich eine Urheberverletzung mit empfindlichen Geldstrafen eventuell sogar Knast ? Wir man dann nach Deutschen Recht verurteilt oder nach Amerikanischen bzw. nach dem Recht aus welchem Land der Urheber kommt der Ansprüche an dem dritt Code erhebt ?
BlackJack

@Worl: Wirklich kompliziert wird das nur wenn man es sich zu kompliziert macht. Normalerweise kann man sich einfach die Lizenzen der verwendeten Bibliotheken anschauen und dann eine wählen die damit kompatibel ist. Wenn GPL im Spiel ist, dann muss man in der Regel die GPL verwenden und man muss nur schauen ob die anderen Lizenzen von verwendeten Bibliotheken damit kompatibel sind.

Knast wegen Urheberrechtsverletzung? Kann es sein, dass Du hier auf die Unterhaltungsindustrie hereingefallen bist, die gerne behauptet das Raubmordkopierer Verbrecher sind‽ Urheberrechtsverletzungen sind keine Straftaten, dafür kommt man nicht ins Gefängnis und das interessiert den Staat auch nicht. Da kommt irgendein Privatmensch auf Dich zu, dessen Urheberrecht Du mutmasslich verletzt hast. Wenn er nett ist, dann einfach erst einmal informell mit der Bitte das sein zu lassen. Wenn er einen Anwalt hat, dann erst einmal in Form einer Abmahnung + Unterlassungserklärung und den damit verbundenen Kosten. Über die man verhandeln kann. Erst wenn man sich dabei nicht einig wird, landet das vor Gericht.

Natürlich gilt deutsches Recht. Ich mag mir gar nicht vorstellen wie das aussehen würde wenn die Massenabmahner die Möglichkeit hätten weltweit nach irgendwelchen Winkelzügen in nationalen Gesetzgebungen zu suchen und die dann hier anzuwenden. Andererseits ist das Urheberrecht/Copyright (ja ich weiss das ist nicht das selbe) über ein internationale Abkommen sehr weitläufig anerkannt. Also jemand aus Australien kann hier in Deutschland seine anerkannten Rechte durchsetzen.
Antworten