 Hallo. Ja, ihr seid ganz schön tapfer bei dem Wetter hier drinnen zu hocken. Ja, ich bin Thorsten Schröder. Ich habe mir vor einiger Zeit angefangen, habe ich angefangen, mir Gedanken über Open Source Lizenzen zu machen, über die, ja, wie zeitgemäß die gängigen Open Source Lizenzen sind, wenn wir zum Beispiel eben sehen, dass unser Source Code, unser Open Source Code, den wir produziert haben von Militär oder Intelligence oder Unternehmen aus der Wirtschaft missbraucht wird. Jetzt spinnt hier irgendwas, alles klar. Ja, wie können wir ausschließen, dass unser Code missbraucht wird? Und dazu möchte ich gerne eine neue Diskussion an Zetteln, die es in den letzten zehn Jahren auch schon gab und ja, die Überlegung, was treibt ein Entwickler an, sein Code zu veröffentlichen und Open Source daraus zu machen? Er möchte etwas Gutes damit tun. Das heißt, der Developer hat vielleicht in seiner Jugend selber an Open Source Projekten teilgenommen hat, das gelesen hat, daraus gelernt, wie er entwickelt und möchte der Community heute was zurückgeben. In der Regel treibt ein Entwickler ja grundsätzlich erst mal etwas Gutes an. Das heißt, ein Entwickler möchte eigentlich in der Regel auch ausschließen, dass der Code für schlechte Sachen missbraucht wird, also für militärische Zwecke oder geheimdienstliche Zwecke, das heißt, um Menschen Schaden zuzufügen. Die Diskussion ist schon alt. Ich zettel sie heute noch mal an, weil es nämlich in diesem Jahr mindestens zwei Events gab, wo man tatsächlich mal darüber nachdenken kann. Wir haben im Juli den Hacking Team Transparency Reports gehabt. Es wurde halt diese Firma, die für zwielichtige Staaten und Behörden Software entwickelt, die geeignet sind, um Rechner zu infiltrieren von Zielpersonen, die dann später, wo die Wohnungstür eingetreten wird, wo die Leute auf jeden Fall Schaden nehmen, wenn nicht sogar auch getötet werden. Diese Firma entwickelt Software, verkauft die an Staaten und nicht alles wird selber entwickelt. Hacking Team hat in diesem Fall Code von Colin Malena verwendet, der mal ein Werkzeug gebaut hat, um Android-Systeme auf Arm zu debaggen. Binary Instrumentation, Framework hat er da gebaut und es wurde hier vereinnahmt. Nachdem diese ganzen Daten veröffentlicht wurden und der Source Code von Hacking Teams Triana im GitHub landete, haben halt die Leute angefangen, so wie man das als Ego googeln kennt, hier in Hacking Team Daten zu Ego grappen und halt zu schauen, ob die eigenen Namen auftauchen, der eigene Code dort auftaucht. Und so kam halt ans Tageslicht das eben Colin Malenas Code und auch Code von FEFE und von Erdgeist, die einen armen Code für die Dietlipzee geschrieben haben, hier verwendet wurden. Das ist der Auslöser gewesen für diese Debatte, die hier und jetzt stattfinden soll. Ich wollte eigentlich nur ein Lightning Talk dazu machen, aber ich denke, es ist sehr viel komplexer, weil wir halt auch noch mit Problemen zu kämpfen haben, warum es nicht so einfach ist, einfach Open Source Lizenzen wie die GPL zum Beispiel zu erweitern durch eine Ausschlussklausel. Anfang des Jahres habe ich damit angefangen, mich damit auseinanderzusetzen, als ich gesehen habe, dass sie DARPA eine Meldung publiziert hat, wo sie den Tod von oben bewerben und zwar unter Verwendung von Android Tablets, die hier genutzt werden, um eine Persistent Close Air Support bereitzustellen. Das heißt, die Luftwaffe, die sowohl bemannt als auch unbemannt oben die ganze Zeit unterwegs ist, die können dann von den Leuten im Feld, von den Soldaten im Feld per Android Tablet zu einer mobilen Einheit am Boden gelenkt werden, um diese dann zu töten. Und hierbei wird auch der Waffe selber ganz autonom die Entscheidung überlassen, welche Waffe zum Töten verwendet wird. Spätestens hier sollte jedem klar sein, dass Linux Kernel Code und auch andere Open Source Projekte aktiv genutzt werden, um Menschen umzubringen, ohne dass es eben kontrolliert werden kann. Ich habe diesen Event zum Anlass genommen, mich mal eine Klausel zu verfassen, die ich an meine Lieblingslizenz dran hängen kann. Ich habe viel mit der BSD-Lizenz gemacht und dachte mir, ich fange einfach mal an, eine Ausschlussklausel zu verfassen, die militärische Zwecke ausschließt und das könnte man dann an andere Lizenzen anhängen. Dass es nicht so einfach ist, werde ich gleich auch noch mal erwähnen. Aber die Diskussion muss noch mal neu geführt werden. Die ist schon alt seit zehn Jahren, wird es durchdiskutiert. Es gibt im Free Software Magazine ein Artikel von 2012, der sich auch mit der Thematik befasst, zwar zu einem anderen Fazit kommt, als ich hier. Aber es gibt in diesem Artikel auf jeden Fall eine sehr imposante Liste mit Open Source Projekten, die für ganz explizit vom militär genutzt werden. Da sind sehr generische Sachen dabei, wie GCC, irgendwelche Linux, Kernel, GNOME und so weiter. Aber es gibt auch Open Source Projekte, die eben ausdrücklich für militär genutzt werden können. Ich muss hier auch noch mal was trinken. Und da sind natürlich ganz besonders Softwareprojekte, die sich mit Kartendaten, Koordinaten und so weiter auseinandersetzen und Simulationen und so weiter. Sehr spezielle Softwareprojekte, die von militär verwendet werden, um Kriege zu führen. Der Fazit von diesem Artikel ist, wir können diese militärische Nutzung nicht ausschließen und wir dürfen das auch nicht, weil das ist Gesetz. Die Reden da von Gesetz, also die Definition von Open Source verbietet ist und das soll halt so bleiben. Jeder Entwickler hat sich schon mal gefragt, wie weit geht das mit der Verantwortung für den selbstgeschriebenen Code. Viele Entwickler haben sich unabhängig von der Lizenz, die tatsächlich verwendet wird, ob das jetzt eine GPL ist oder sonst was, Gedanken darüber gemacht. Was passiert eigentlich, wenn mein Code irgendwo auf medizinischen Geräten läuft oder in Kernkraftwerken, in irgendwelchen Steueranlagen zum Einsatz kommt und ein Fehler, den ich reinprogrammiert habe, dafür sorgt, dass Menschen ums Leben kommen oder Munitura ausfallen. Das Ganze hat mit der Lizenz am Ende nichts zu tun, aber diese Gedanken hat sich jeder gemacht und es ist einfacher, sich zum Beispiel zu distanzieren von militärischen Einsatzgebieten, von Waffensystemen, das der Code dort genutzt wird oder zum Beispiel für Repression, dass ein Überwachungsstaat quasi eben solche Werkzeuge, wie die von Hacking Team erwirbt und dann auch einsetzt, um, weiß ich, irgendwann bei Oppositionellen die Türen einzutreten. Jeder hat sich schon mal Gedanken über diese Verantwortung gemacht und hier geht es um Ethik und diese ganzen Überlegungen, jenseits von irgendwelchen Lizenzen. Es gibt eine Gruppe von Entwicklern, die sich da schon mal Gedanken darüber gemacht hat, das war 2006. Die Klausel wurde später Pacifist Clause genannt, das ging hier um ein Projekt, namens GPU Global Processing Unit, das ist ein Knutella-Client, der es immer laubt, CPU-Ressourcen zu teilen mit anderen Rechnern und die hatten die folgende Ergänzung in die GPL reingeschrieben. The program and its derivate work will neither be modified or executed to harm any human being nor through in action permit any human being to be harmed. Damit wollten diese Leute ausschließen, dass dieser Code, der schon sehr prädestiniert für die militärische Benutzung ist, vom Militär auch tatsächlich genutzt wird. Kontrollieren können sie es am Ende nicht und das ist auch immer genau das Argument der Gegner dieser Ausschlussklauseln, dass man das nicht kontrollieren kann, aber es ist auf jeden Fall ein Statement und es erlaubt uns im Falle eines Bekanntwerdens von solch einem Verstoß, denn das ist ein Vertrag, den wir ja hier eingehen, dass man dann eine öffentliche Debatte lostreten kann. Was gibt es also für Gründe, die dagegen sprechen? Warum gibt es nicht schon lange solche Ausschlussklauseln? Richard Stormen spricht sich zum Beispiel vehement gegen solche Ausschlussklauseln aus, weil er halt sagt, dass die Software nicht wirklich frei ist, wenn wir dem Militär oder dem Überwachungsstaat verbieten, bestimmte Teile dieser freien Software zu verwenden. Stormen schränkt damit unsere Freiheiten ein, wie wir die Freiheiten einschränken können. Also das ist schwierig mit Richard Stormen da einen sinnvollen Dialog zu führen. Er sagte auch in dieser Veranstaltung, aus der dieses Zitat hier stammt, dass er es sehr schlecht finden würde, wenn sein Freund, der beim venezuelischen Militär arbeitet, eben keine Linux-Server mehr installieren könnte. Und ja, das ist so. Er sagt, die Software muss frei sein. Er bleibt halt bei diesen Prinzipien, Freedom Number Zero is the freedom to run the program as you wish, however you wish, for any purpose, für jeden Zweck, also auch zum Töten von anderen Menschen und zum Überwachen anderer Menschen. Das ist seine Auffassung von freier Software und ich glaube, dass wir in der heutigen Zeit darüber nachdenken sollten, ob das noch angemessen ist. Gibt es hier Probleme mit dem Wima? Ich habe nichts gemacht. Ersatzteile. Ich sehe jetzt hier auch gar nichts mehr auf dem Screen. Es gibt ja zusätzlich zu diesen Prinzipien, die Richard Stormen predigt, auch noch diese sogenannte Open Source Definition auf opensource.org, die im Paragraph 6 sagt, dass es nicht sein kann, dass wir bestimmte Benutzergruppen ausschließen. Paragraph 6 sagt, no discrimination against, jetzt ist das Bild weg, against 4th of NDEvo. Wir dürfen Benutzergruppen nicht einschränken, sagt die Open Source Definition. Möglicherweise sollten wir mal etwas daran ändern. Ich sehe gar nichts mehr hier. Die Gegner von solchen Ausschlussklauseln sagen, wie ich schon sagte, dass das Gesetz ist. Wir können daran nichts ändern. Das muss so bleiben. Die Software muss frei bleiben. Ich denke aber, in 2015 sind wir sehr wohl in der Lage, auch mal unsere Grundsätze zu überdenken und zu überarbeiten. Wenn Staaten ihre Fassung, ihre Grundgesetz ändern können, dann können wir auch Open Source Definition ändern. Das ist nicht in Stein gemeißelt und es ist mittlerweile notwendig, dass wir auch über Ausschlussklauseln nachdenken, damit wir sicherstellen können oder zumindest versuchen können, den Leuten, die auf unseren Code angewiesen sind, das Leben nicht gerade leicht zu machen. Sie müssen darüber nachdenken, ob es sich lohnt, das Risiko einzugehen, das Risiko von Strafen auf sich zu nehmen. Das heißt, das können natürlich, da komme ich nachher noch zu, Geldbeträge sein oder andere Geschichten, aber in jedem Fall ist es notwendig, dass wir in der Lage sind, unsere Projekte mit Attributen zu versehen, die bestimmte Nutzung ausschließen. Wir müssen also diesen Dogmatismus überwinden, den Richard Stormender an den Tag legt und wir müssen fortschrittliche Lizenzen definieren. Die Idee, die ich Anfang des Jahres hatte, als diese DARPA-Meldung die Runde machte, habe ich dann mal, wie ich schon sagte, in Form einer BSD-Lizenzklausel, einer Erweiterung dafür verfasst und habe mir halt gedacht, na ja, da war ich noch ein bisschen naiv, da wusste ich halt nicht, dass es auch so viel gegenwinde aus dieser ganzen Open Source Community gibt und da habe ich halt diesen Text aufgeschrieben, dass eben Redistribution and use and source and binary form for military use and military research is not permitted. Infringements of these clauses may result in publishing the source code of the utilizing applications and libraries to the public. As this software is developed, tested and reviewed by international volunteers, this clause shall not be refused due to the matter of national security concerns. Womit ich einfach nur ausschließen möchte, dass ich am Ende ein Richter hinsetzt und sagt, du lieber Developer, bist hier viel zu unwichtig, es geht um die nationale Sicherheit und deswegen ist uns deine Bedingungen, dein Vertrag scheißegal, auch wenn du der Urheber dieses Projektes bist. Aber es blinkt schön. Aber wie ich schon sagte, es gibt da sehr viele Einschränkungen, die GPL zum Beispiel schließt das explizit aus, dass man etwas ausschließt. Probleme, also diesen Text, den ich hier gerade vorgelesen habe, die erste Idee, die ich dazu hatte, das ist noch relativ einfach zu formulieren, weil wir grenzen uns hier nur gegenüber das Militär ab. Es gibt ja auch noch Leute, die sagen, ich möchte aber auch nicht, dass mein Code von der Polizei verwendet wird, von irgendwelchen Regierungen und so weiter. Das unterstütze ich auch und ich finde auch jeder Entwickler sollte selber entscheiden können, wen er da ausschließen möchte. Die Problematik ist halt einfach bei der Ausgrenzung. So eine Klausel muss kurz und knapp formuliert sein. Die sollte nicht keine Textwand sein. Man muss das halt lesen können und solange das nicht übersichtlich und klipp und klar, ganz kurz und knapp fest aufgeschrieben ist, wird das halt auch keiner verwenden. Das ist halt ein Problem. Es ist einfacher, sich gegenüber das Militär abzugrenzen, aber vielleicht nicht unbedingt der Polizei. Vielleicht will man das auch nicht. Vielleicht sagt jemand, ich möchte nur nicht, dass mein Code nicht zum Töten verwendet wird, aber die Polizei und die Kriminalämter dürfen den Code sehr wohl benutzen. Wie können wir das also umsetzen, dass uns auf der einen Seite nicht irgendein Richard Stormen und irgendeine GPL verbietet, die die Lizenz entsprechend anzupassen. Wir können uns Gedanken darüber machen, einen Ansatz zu werden, wie zum Beispiel Creative Commons. Ich habe es jetzt mal Coding Commons genannt, sodass wir unabhängig von der Lizenz, die wir bisher genutzt haben und auch in Zukunft nutzen, das kann dann GPL, BSD oder MIT, whatever sein, dass wir weitere Eigenschaften an unser Projekt rankleben, die man halt modular zusammenstücken kann, wie wir das von der Creative Commons kennen. Das Ganze soll wirklich nur eine Ergänzung sein und nicht eine Modifikation der GPL, sodass die anderen Lizenzen auf jeden Fall ihre Gültigkeit behalten. Sowas könnte man dann in der Form aufschreiben und einfach mit an die Lizenz oder an das Readme, was auch immer ran hängen, dass man zum Beispiel einfach sagt, wir haben hier mal die Hauptattribute Non-Military oder Non-Intelligence oder zum Beispiel auch Consense Required, dass das zum Beispiel ein Entwickler sagt, wenn ich Code schreibe, möchte ich auf jeden Fall sicherstellen, dass die Hardware des Users, wo dieser Code am Ende läuft, dass dieser User damit einverstanden ist, dass dieser Code dort auch läuft. Damit kann man natürlich prima so eine Sache wie Trojan, Staatstrojan und so weiter ausschließen, dass es also in dem Feld verwendet wird, aber zum Beispiel auch im Bereich Embedded Devices, Internet of Things, da haben ja die User häufig gar nicht die Möglichkeit zu kontrollieren, was zum Beispiel nach Hause geschickt wird. Die haben gar keine Möglichkeit, das überwachen oder zu konfigurieren und das könnte halt auch mit in diese Kategorie fallen, dass zum Beispiel ein Benutzer eigentlich nicht wünscht, dass die Webcam Bilder einmal komplett ins Internet gestreamt werden ohne Erlaubnis. Für alles weitere eben diese Abwägung, die ein Entwickler vielleicht schon mal getroffen hat, ich möchte nicht, dass mein Code in Automotive zum Einsatz kommt oder im Flugbereich oder Kernkraft oder so, könnte man eben noch weitere solcher Klauseln verfassen. Aber in dem Fall ist es einfach sehr schwierig, kurze, prägnante Klauseln zu finden, die zum Beispiel auch ganz genau beschreiben. Welchen Teil von Automotive meine ich jetzt eigentlich? Das kann ja durchaus sein, dass ich ein Audio Codec entwickelt habe und der wird dann irgendwann in Autos zum Einsatz kommen und wenn der jetzt im Bug hat, dann könnte ich genauso gut auf diesem Wege das Auto kompromittieren. In jedem Fall brauchen wir, wenn wir so einen Nutzungsvertrag definieren, auch Konsequenzen, die einer ziehen muss, wenn er gegen unsere Bedingungen verstößt. Diese Konsequenzen könnten eben, also man muss natürlich herausfinden, dass jemand gegen den Vertrag verstoßen hat. Da muss man dann, kann man das Ganze zur Anzahl bringen und so weiter. Es ist schwierig, das herauszufinden, aber wie wir bei Hacking Team zum Beispiel gesehen haben, es ist durchaus so, dass irgendwann diese Wahrheit auch ans Tageslicht kommt und dann kann man halt, hat man auch etwas in der Hand, um dann eine Klage anzustrengen. Und wie ich schon sagte, die erste Idee ist, man kann dann denjenigen zwingen, den Code zu veröffentlichen, was ja in der Regie eben vorher schon passiert ist oder oft, oder man beschreibt halt gleich eine Vertragsstrafe, was dann so den, ja so eine Straflizenzgebühr in Höhe von, meinetwegen, einer Million erreichen kann, um den Leuten, das unattraktiv zu machen gegen unseren Vertrag zu verstoßen. In jedem Fall und deswegen denke ich nicht, dass es unrealistisch ist, solche Ausschlussklauseln mal zu definieren und auch zu benutzen. In jedem Fall haben wir die Möglichkeit, das Ganze öffentlich zu diskutieren, wenn es nämlich mal zu einer Verhandlung kommt. Da muss ein Richter, selbst wenn er sagt, es uns doch egal, wir wollen trotzdem unsere Atomraketen mit deinem Code betreiben, dann muss ein Richter das erst mal sagen und auf Papier bringen und dann haben wir es schwarz auf weiß, dass unsere Rechte damit Füßen getreten werden. Und wir haben in jedem Fall eine öffentliche Debatte und ich glaube, das ist so das primäre Ziel, weil man damit eben darauf aufmerksam machen kann. Ja, also ich denke, wir sollten mal darüber nachdenken, was wir für Möglichkeiten haben, wie wir etwas wie diese Coding Commons wirklich hand definieren können. Dazu müssen wir Juristen und Entwickler sich mal an ein Tisch setzen oder an eine Mailingliste oder was auch immer, um das mal fest aufzuschreiben und dann vielleicht auch zum Kongressament des Jahres mal eine wirklich feste Lizenzform präsentieren zu können, die dann von Entwicklern auch genutzt werden kann. Was ist möglich, juristisch? Was macht Sinn? Was macht weniger Sinn? In jedem Fall, denke ich, sollte jeder mal darüber nachdenken, ob man nicht irgendwie eine Ausschlussklausel gebrauchen kann. Vor allen Dingen auch im Security-Bereich, wenn man Proof-of-Concept-Exploits veröffentlicht, weil man halt eine Schwachstelle gefunden hat und so weiter, dann macht das genau da auch Sinn, so eine Klausel mit reinzunehmen, die halt ausschließt, dass Intelligence oder Regierungen diesen Exploitcode nutzen. Dann haben wir zumindest mal ausgeschlossen, dass das auch so ein zu eins kopiert wird und dann in irgendwelche Staatstrojaner einfließt. Wer sich an dieser Idee und der Diskussion beteiligen will, schreibt mir ein bisschen eine Mail. Es gibt, wie gesagt, jetzt keine fertige Lizenz, das ist einfach, ich will das zur Diskussion stellen und hoffe, dass wir zum Ende des Jahres da einen ganzen Schritt weiter sind. Vielen Dank.