jschyma / open_fints_js_client

FinTS/HBCI Javascript Client
Apache License 2.0
132 stars 44 forks source link

Lizenz #18

Open FlorianLudwig opened 8 years ago

FlorianLudwig commented 8 years ago

AGPL scheint mir für eine Library (client-seitig noch dazu) eine unpassende Wahl der Lizenz zu sein. Ist ein Lizenz-Wechsel ausgeschlossen oder lohnt es sich meine Meinung ausführlicher zu begründen? :)

Disclaimer: Ich bin kein Anwalt ;)

jschyma commented 8 years ago

Zunächst mal Vielen Dank für die Anmerkung.

Client-Seitig? Also ursprünglich war der OpenFinTSJS Client gedacht als JS Client für FinTS auf der nodeJS Platform. Die nodeJS Platform ist eigentlich auch eine Server Runtime. Als ich den Client entwickelt hatte war es auch mein Hintergedanke den Client Serverseitig zu nutzen um Kontoinformationen abzurufen und dann in einer WebApp mittels Express darzustellen. Also ein typisches Serverszenario wofür die AGPL die richtige Lizenz wäre. Wenngleich das FinTS eine solche Serverseitige Verwendung eigentlich garnicht vorsieht, was durchaus dazu führen kann, sollte es zu einem bösartigen Angriff auf die WebApp kommen, dass die Bank gegenüber dem Kunden nichtmehr wie sonst üblich in der Haftung ist. In der Idee von FinTS hat der Benutzer den Client immer direkt zu verwenden, also ein abspeichern von PINs ist eigentlich nicht erlaubt und eine Weiterleitung einer PIN an einen Server, dass dieser den FinTS Kommunikaton vornimmt schon garnicht. Eigentlich scheiden damit auch irgendwelche Batchszenarien für den Eigengebrauch aus. Aber ich kann mir vorstellen, wenn jemand den Server selbst betreibt und seine eigenen Kontodaten abrufen möchte ist er bereit dieses Risiko(die Haftung selbst übernehmen zu müssen) einzugehen.

Verwendung auf der Clientseite Als Browser JS leider ausgeschlossen wegen CORS, Banken senden die entsprechenden Headers nicht. Einen Art SOCKs Tunnel über Websocket zum Server aufbauen und diesen als Proxy zu benutzen um direkt aus dem Browser über JS einen SSL Tunnel aufzubauen, theoretisch denkbar aber wegen der Restriktionen des Browsers nicht sicher möglich vgl. https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/august/javascript-cryptography-considered-harmful/. Mir ist klar, dass man NodeJS auch Clientseitig nutzen kann, okay. Andere Clientseitige Runtimes mit weniger Beschränkungen wie im Browser, wie bspw. WindowsAPPs oder Browser Extensions sind auch ein denkbares Anwendungsgebiet.

Obwohl die Runtime Clientseitig verwendet werden kann, kann sie es aber wie gezeigt auch Serverseitig und daher habe ich die AGPL gewählt.

Gerne höre ich mir die Argumente aber an. Und über eine individuelle Lizenzierung unter einer anderen Lizenz können wir sofern gewünscht natürlich auch sprechen.

Vielen Grüße Jens

fkuep commented 7 years ago

Ich möchte nochmal fragen : meinst Du Apache Lizenz( http://www.apache.org/licenses/LICENSE-2.0) oder Gnu Affero Lizenz (https://de.wikipedia.org/wiki/GNU_Affero_General_Public_License).

Sprich die Frage wäre(AGPL), möchtest Du verlangen, daß jeder, der einen Dienst mit Deinem Client benutzt, berechtigt ist, den Quelltext des Dienstes zu erhalten ?