laforge-slides/2017/gpl_enforcement-clt2017/gpl_enforcement-clt2017.adoc

430 lines
16 KiB
Plaintext

Wie man die GNU GPL rechtlich durchsetzen kann
==============================================
:author: Harald Welte <laforge@gnumonks.org>
: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.