From f9e99ecf1e62e21a1d688601b4b0e4f65fa55675 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 11 Mar 2017 09:07:53 +0100 Subject: slides of CLT 2017 Talk about GPL enforcement --- .../gpl_enforcement-clt2017.adoc | 429 +++++++++++++++++++++ 1 file changed, 429 insertions(+) create mode 100644 2017/gpl_enforcement-clt2017/gpl_enforcement-clt2017.adoc diff --git a/2017/gpl_enforcement-clt2017/gpl_enforcement-clt2017.adoc b/2017/gpl_enforcement-clt2017/gpl_enforcement-clt2017.adoc new file mode 100644 index 0000000..f7325f4 --- /dev/null +++ b/2017/gpl_enforcement-clt2017/gpl_enforcement-clt2017.adoc @@ -0,0 +1,429 @@ +Wie man die GNU GPL rechtlich durchsetzen kann +============================================== +:author: Harald Welte +:copyright: gpl-violations.org (License: CC-BY-SA) +:backend: slidy +:max-width: 45em + +== Über den Vortragenden + +Software- und Elektronik-Entwickler, *kein Jurist* + +* Seit 1991 in Datennetzen unterwegs +* 1993 erste Kontakte mit Linux (als Anwender) +* 1999-2005 im netfilter/iptables-Projekt aktiv +* Open Hardware Projekte (RFID, SIM card tracer, ...) +* Open Source Projekte, das letzte Jahrzehnt Mobilfunk +** 2006: OpenEZX (Linux auf Motorola Telefonen +** 2007: Openmoko +** 2008: OpenBSC +** 2010: OsmocomBB +** seitdem: Jede menge Osmocom-Unterprojekte +* von 2003-2013: gpl-violations.org zur GPL-Durchsetzung + + +== Überblick + +* Freie Software, Copyleft und GPL +* Lizenzbedingungen: Wer, wann, was? +* Folgen des Lizenzverstosses +* Schritte zur Durchsetzung +* Anekdoten, Ausblicke + +== Freie Software + +Definition, Frei nach der Free Software Foundation: + +* Freiheit, das Programm für jeden Zweck ausführen zu dürfen +* Freiheit, die Funktionsweise zu untersuchen und es anzupassen +* Freiheit, das Programm weiterzuverbreiten um anderen zu Helfen +* Freiheit, das Programm zu verbessern + +== Freie Software und Lizenzen + +* Freie Software kann unter Vielzahl von Lizenzen stehen (oder in + einigen Ländern gar **public domain** sein) +* Grundlegend gibt es zwei klassen: +** **permissive**: Proprietäre Veränderungen erlaubt +** **copyleft**: Veränderungen nur unter gleicher Lizenz + +Es gibt wie immer (vi/emacs, anyone?) unterschiedliche Auffassungen. +Historisch ist das *BSD Lager permissive, und GNU/Linux Copyleft. + +== Das Copyleft + +Das Copyleft ist die Idee, die Freiheiten der Software abzusichern + +* unter Benutzung des Urheberrechts +* unter Verwendung einer Lizenz, die die Freiheiten garantiert +* Aber: Einführung einiger Pflichten +** Sicherstellung, dass der Quellcode immer zugänglich sein wird +** Sicherstellung, dass niemand jemals die Freiheiten entfernen kann + +== Copyleft als Interessenausgleich + +Das Copyleft + +* schützt Autoren vor einseitiger Ausbeutung durch spätere Weiterentwicklungen +* stellt für mich einen Fairen Interessenausgleich dar: +** jeder gibt seinen Teil zur Entwicklung bei +** jene, die das nicht verstehen werden nicht zur aktiven Teilnahme am + Entwicklungsprozess gezwungen, aber zumindest zur Herausgabe des + Quellcodes etwaiger Veränderungen + +Die GNU GPL gilt als *starkes Copyleft* + +== Die GNU GPL (v2) + +* Knüpft Bedingungen nur an die Verbreitung des Programms, *nicht* + an die Nutzung! +* Gestattet Verbreitung des (veränderten oder unveränderten) Quellcodes, wenn +** Die Lizenz genannt wird +** Eine vollständige Kopie des Lizenztexts beigefügt ist +* Gestattet Verbreitung des (veränderten oder unveränderten) ausführbaren Programms, wenn +** Die Lizenz genannt wird +** Eine vollständige Kopie des Lizenztexts beigefügt ist +** Der Quellcode beiliegt, oder ein **schriftliches Angebot zur Quellcodeabgabe** gemacht wird. + +== Die GNU GPL: Verbreitung + +Was ist Verbreitung? + +* Vertrieb auf Datenträger +** CD-ROM, DVD-ROM, USB-Drive, ... +** Flash-Chip in Embedded Devices (Smartphone) +* Download ("öffentliche Zugänglichmachung") +* Kurioser: Ausstrahlung über Satellit (Receiver-Firmware-Update) +* es ist egal, ob es um Verkauf oder Verleih geht, oder ob Geld + gezahlt wurde +** Merke: Im falle nicht-kommerzieller Verbreitung darf das + schriftliche Angebot zur Quellcodeabgabe von anderen weitergereicht + werden, ohne dass man selbst den Quellcode anbieten müsste. + +== Vollständiger Korrespondierender Quellcode + +* GPL spricht von **vollständigem korrespondierenden Quellcode** +** um Sicherzustellen, dass der Empfänger wirklich genau jene Version des Programms untersuchen, kompilieren und verändern kann, die er als Executable erhalten hat +* z.B. für ein in C geschriebenes Programm heisst dies +** Quellcode (C-Dateien) +** Header-Files (H-Dateien) +** Makefiles ("scripts to control compilation and installation") +** compile-time Konfiguration (z.B. Kernel .config) +* Prinzip / Intention: +** Alles was man jenseits des Compilers braucht, um das Programm zu übersetzen + + +== GPLv2 vs GPLv3 + +* GPLv3 wurde in 2007 veröffentlicht +* genaue Analyse der Unterschiede sprengt den Vortrag +** Anpassungen / Konkretisierungen 15 Jahre alten GPLv2 +* Unterschiede im Detail, Prinzip das gleiche: +** Pflichten greifen beim Verbreiten der Software +** Quellcode muss bei veränderter und unverändertem Programm zur + Verfügung gestellt werden + +== GNU Lesser GPL (LGPL) + +* LGPL erlaubt das verlinken eines LGPL-lizenzierten Programmes mit + einem Programm unter anderer Lizenz (z.B. proprietär) +* copyleft-Bestimmungen beziehen sich nur auf den unter LGPL + lizenzierten Teil, nicht auf andere Teile +* LGPL v2.1 im Text oft konkreter als GPL v2 +** z.B. klarstellung, wie inline-Funktionen zu handhaben sind + +LGPL = GPL-- + +== GNU Affero GPL (AGPL) + +* AGPL erweitert die Pflichten über jene der GPL hinaus. +* Pflichten (zur Quellcodeabgabe) +** nicht nur bei Verbreitung des Programms (GPL/LGPL), sondern +** auch bei Interaktion mit dem Programm über ein Netzwerk +* Deckt damit den immer wichtigeren Bereich Software-as-a-Service ab + +AGPL = GPL++ + + + +== GPL-Verletzungen / Folgen + +Wird unter der GPL lizenzierte Software verbreitet, ohne dass alle Bedingungen der Lizenz eingehalten werden, + +* erlischt die Lizenz +* Verletzung des Urheberrechts der Autoren an dem Programm +** zivilrechtliche Ansprüche +** strafrechtliche Ansprüche +* möglicherweise andere rechtliche Folgen +** Wettbewerbsrecht (unlauterer Wettbewerb) +** Rückgaberecht der Kunden (Produkt mit Rechtsmangel) + +== GPL-Verletzung / zivilrechtliche Folgen + +* Unterlassungsanspruch +** Schutz vor weiteren Verletzungshandlungen +* Schadenersatz +** für den wirtschaftlichen Schaden der Verletzungshandlung +* Aufwandserersatz für Kosten +** der rechtlichen Durchsetzung (Anwaltskosten) +** des Nachweises des Rechtsverstosses (Testkäufe, Re-Engineering, ggfs. Gutachten) +* Auskunftanspruch +** z.B. Namen aller gewerblichen Abnehmer der verletzenden Produkte + +== Wer kann Anspüche geltend machen? + +Für Ansprüche aus dem Urheberrecht: + +* Jeder, der Urheberrechte an dem Programm geltend machen kann +** Der urprüngliche Autor +** Jeder, der Bearbeiterurheberrecht an Weiterentwiclungen hält + +ggfs. weitere Ansprüche durch Wettbewerber, Kunden, aber diese +deutlich weniger ausgeprägt und weniger sanktioniert. + +== Wo kann man Anspüche geltend machen? + +* Bei jedem zuständigen Gericht +* Wenn Produkt Online vertrieben wird, beliebiger Gerichsstand in + Detuschland +* Was ist bei ausländischen Verursachern? +** ohne Niederlassung in Deutschland erstmal nicht greifbar +** Deutsche Importeure, Distributoren, Händler können in Deutschland +belangt werden +** rechtlicher Druck auf diese transformiert sich in wirtschaftlichen +Druck den Zulieferern gegenüber + +== Meine persönliche Erfahrung + +* Jahrelange Mitarbeit an Linux Kernel und anderen unter GPL + veröffentlichten Programmen +* grosse persönliche Investition von Zeit und Energie, im "Glauben" + an das kollaborative Entwicklungsmodell +* in 2003 werden erste Geräte bekannt, die Linux (mit + netfilter/iptables) ausliefern, ohne dass die Lizenz eingehalten + wird. +* zaghafte Versuche zur Lösung auf dem Verhandlungsweg durch die FSF + brauchen zu viel Zeit +* Idee: Eigene Ansprüche nach Deutschem Recht durchsetzen +** (exzellente) Anwaltliche Beratung durch Dr. Till Jaeger + + +== Durchsetzung / Zeitlicher Ablauf (0) + +Schritt 0: Feststellung des Verstosses + +* Testkauf der Software (ggfs. Teil eines Embedded Device) +* Ist ein Lizenzhinweis und der Lizenztext enthalten? +** Anleitung (gedruckt, CD) oder Benutzerinterface? +* Ist der Quellcode enthalten? +** Wenn ja, ist er *vollständig und Korrespondierend*? +** Wen nein, ist ein schriftliches Angebot zur Quellcodeabgabe enthalten? +*** Anforderung des Quellcodes und anschliessende Prüfung auf Vollständigkeit +* Dokumentation sämtlicher Schritte + +Am Ende wird feststehen, ob die Lizenzbedingungen eingehalten +wurden, oder ob es nennenswerte Verstöße gegen die Lizenzbedingungen +gibt. + +== Durchsetzung / Zeitlicher Ablauf (1) + +Schritt 1: Kommunikation im Vorfeld + +* Man kann versuchen, den Verletzer auf das Problem aufmerksam zu + machen +* Erfahrung zeigt: Bringt in der Regel keine Abhilfe, schon gar nicht + schnell oder angemessen :( +* Auch wenn man bei Produktmanager oder anderen Verantwortlichen + landet, und auf konkrete rechtliche Folgen hinweist oder damit + droht, interessiert das i.d.R. niemanden +* Ausnahme in den letzten Jahren: Grosse Firmen mit eigener interner + "Open Source Compliance Abteilung" + +== Durchsetzung / Zeitlicher Ablauf (2) + +Schritt 2: Abmahnung + +* weist Geschäftsführer des Verletzers auf konkreten Verstoss hin +* macht Ansprüche geltend, z.B. +** Abgabe einer Unterlassungserklärung +** Auslagenerstattung +* setzt Frist +** muss sehr kurz gefasst sein, wenn ggfs. einstweilige Verfügung beantragt werden soll + + +== Durchsetzung / Zeitlicher Ablauf (3a) + +Schritt 3a: Unterlassungserklärung abgegeben + +* Programm darf ab sofort nur Lizenzkonform verbreitet werden +** Vertrieb muss demnach komplett umgestellt sein +** je nach Verstoss teils aufwändig, da z.B. Beipackzettel in alle lagernden Geräte gelegt werden müssen + +== Durchsetzung / Zeitlicher Ablauf (3b) + +Schritt 3b: Einstweilige Verfügung + +* Verletzer gibt keine Unterlassungserklärung ab +** jetzt bleibt nur der Gang vor Gericht +* Gerichtsverfahren dauern oft Jahre +** Produkt ist ggfs. bis zur Verhandlung nicht mehr im Handel +* Abhilfe: Einstweilige Verfügung +** wird vor Gericht beantragt +** wird i.d.R. binnen Tagen oder wenigen Wochen erteilt +* Untersagt dem Verletzer sofort den weiteren Vertrieb ohne Einhaltung + der Lizenz + +Beklagter kann Widerspruch einlegen -> mündliche Verhandlung + +== Durchsetzung / Zeitlicher Ablauf (3a-1) + +Schritt 3a-1: Erneuter Verstoss + +* Erneute Zuwiderhandlung ist +** erneuter Urheberrechtsverstoss, *und* +** verwirkt die Vertragsstrafe + +Aber: Eine Unterlassungserklärung ist in Deutschland nur dann +rechtlich zulässig, wenn sie strafbewehrt ist. Es geht also nicht +ohne. Höhe kann dem Ermessen eines Gerichts überlassen werden. + +== Erfolge gpl-violations.org (2004-2013) + +Nach ersten Erfolgen mit netfilter/iptables bei Routern, Aktivitäten +mit mehreren Freiwilligen unter gpl-violations.org gebündelt: + +* Mehrere Hundert Verletzungen nachgewiesen und verfolgt +** einige ohne rechtliche Durchsetzung beigelegt +** viele nie über das Stadium der Abmahnung / Unterlassungserklärung hinausgekommen +** einige Fälle mussten vor Gericht +*** manche davon nur bis zur einstweiligen Verfügung, andere durch Widerspruch/Instanzen +*** alle davon erfolgreich / gewonnen + +Fazit: Die GPL kann in Deutschland durch Urheber erfolgreich durchgesetzt werden! + +== Erfolge gpl-violations.org (2004-2013) + +Allnet GmbH, Siemens AG, Fujitsu-Siemens Computers GmbH, Axis A.B., +Securepoint GmbH, U.S.Robotics Germany GmbH, Belkin Components GmbH, +ASUS GmbH, Gateprotect GmbH, Sitecom GmbH / B.V., TomTom B.V., +Gigabyte Technologies GmbH, Sun Deutschland GmbH, Deutsche Telekom AG, +Hitachi Inc., Tecom Inc. ARP Datacon GmbH, Conceptronc B.V., D-Link +GmbH, Adaptec Deutschland GmbH, TARGA GmbH, Medion AG, naviflash mbH, +Maxtor Inc., Cisco Deutschland GmbH, Fortninet, iRiver Europe GmbH, +Acer Deutschland GmbH, SMC Networks GmbH, Samsung, Thecus, Western +Digital, Avocent, Canyon, Digital Data, Cowon, DGStation, Smartlink, +Sphairon, DeviceVM, Kenwood, Telegent, Barracuda Networks, Ovislink, +Assmann, Gamepark Holdings, Hermstedt, Longshine, Motorola, Skype, +Agfeo, ... + + +== Warum ist GPL-Durchsetzung wichtig? + +* Jede sanktionierte Regel muss auch in der Praxis immer wieder + durchgesetzt werden, damit die Regel wahrgenommen wird +** vgl. Geschwindigkeitskontrollen im Verkehr: Es würde sich kaum +jemand dran halten, gäbe es keine Kontrollen. +* Eine 100%ige Kontrolle ist weder nötig noch gewollt. Kein "Poilzeistaat"! +* gerade [auch, grosse] Firmen sollen lernen, dass FOSS keine Einbahnstrasse ist +* Frage der Fairness: Keine Kontrollen heisst, dass Lizenzverletzer + einen wirtschaftlichen Vorteil gegenüber jenen haben, die sich + korrekt verhalten. + +== Warum ist GPL-Durchsetzung wichtig? + +Business Risk + +* Unternehmen treffen Entscheidungen basierend auf dem damit + verbundenen Risiko +* Aufwand wird (oft nur) dort betrieben, wo es ein Risiko abzuwenden gilt +* Je mehr GPL-Durchsetzung, desto höher das Risiko negativer Folgen + bei GPL-Verstössen + +== Warum machen das so wenige? + +* Nicht jeder Entwickler ist Urheber +* Lästiges Thema, benötigt viel Zeit und hält von der (technischen) + Arbeit ab +* Rechtliches und finanzielles Risiko, wie bei allen + Rechtsstreitigkeiten +* Nichts für schwache Nerven, was man sich da alles für Lügen + und Unterstellungen der Gegenseite anhören muss :/ + +== Schreckt GPL-Enforcement ab? + +These: GPL-Durchsetzung verängstigt Firmen -> Abwendung von Linux + +* Lizenzverträge sind bei jeder Software einzuhalten, egal ob GPL + oder nicht. +* zu verstehen, was in eigenen Produkten für Software ist, und + übersetzbaren Quellcode zu haben, ist auch für Hersteller + + Lieferkette ein Vorteil +* Praktisch oft schwierig, da Hardware-Unterstützung und Entwickler + für andere Betriebssysteme oft fehlen +* Wen die Einhaltung weniger Pflichten schon so abschreckt, der wird auch + sonst nicht viel zur Freien Software beitragen? + +== Schwierigkeiten der Hersteller + +* Das Verständnis dafür, dass es Pflichten gibt, die man nicht + finanziell abgelten kann ;) +* **complete corresponding source** muss für jede jemals ausgelieferte + Software-Version jedes einzelnen Geräts zur Verfügung gestellt werden. +** Es reicht nicht, einmal irgendeine Version zu veröffentlichen +** Source Code Release muss Teil des (hoffentlich automatisierten) + Build-Prozesses werden +* Probleme in der Lieferkette +** Zu viele Produkte werden einfach weiterverkauft (auch unter eigenem + Namen), ohne dass je ein Techniker mal "hineinschaut" :/ +** Verträge mit Zulieferern, die keine FOSS Lizenzen berücksichtigen + +== Kuriositäten + +* dieser Herr Welte ist garnicht der Autor, nur jemand der so heisst +* "Bestreiten durch Nichtwissen" +* "Herr Welte ist eine Rechteverwertungsgesellschaft (sowas wie die + GEMA) und bedarf der Genehmigung durch das DPMA." +* "Linux ist der kleine gelbe Kasten rechts unten" +* "ein Router ist kein Computer, wo ist denn da die Tastatur" +* "Wir verwenden gar kein Linux" +* "Die GPL Verstösst gegen Kartellrecht" +* "Dieses Produkt enthält die Software "netzfilter/ip-tabellen" die + unter der allgemeinen öffentlichen GNU-Lizenz steht" + + +== GPL-Verletzungen heute + +13 Jahre nach dem ersten Gerichtsurteil... + +* Man würde meinen, Firmen hätten das inzwischen längst im Griff +* Realität leider anders +** Erfolge bei einigen (grossen) Firmen, die wirklich dazugelernt haben +** Aber: Es gibt immer mehr Produkte mit Freier Software +*** von Firmen, die nicht aus der klassischen IT kommen, oder die nichts mit FOSS zu tun haben +** Verlust des Wissen über GPL-Compliance durch Mitarbeiterfluktuation +** Grosse Firmen sind oft Komplex, nur weil Abteilung A das Problem +verstanden hat, heisst das nichts für Abteilung B, C und D. +* Das praktische Risiko bei bewussten oder fahrlässigen + Lizenzverstössen ist immernoch niedrig, dazu wenig Durchsetzung. +** **Software Freedom Conservancy** (USA) leistet gute Arbeit, aber + ist (wie auch gpl-violations.org früher) nur ein Tropfen auf dem + heissen Stein. + + +== Ausblick + +* Es gibt Pläne, gpl-violations.org zu reaktivieren +** Arbeit von mir (ich skaliere schlecht) auf mehr Leute Verteilen +*** geht nur, wenn ich nicht mehr persönlich das rechtliche Risiko +Trage +** Form: Eingetragener Verein nach Deutschem Recht +** Entwickler sollen Rechte in den Verein einbringen können +** Verein kümmert sich dann um Durchsetzung + +== Fragen + +Alle Anwesenden haben jetzt **eine Lizenz, Fragen zu stellen** + +Danke für die Aufmerksamkeit. + +Viel Spass beim restlichen CLT 2017. -- cgit v1.2.3