summaryrefslogtreecommitdiff
path: root/2017/gpl_enforcement-clt2017/gpl_enforcement-clt2017.adoc
blob: f7325f455d6caec9e1a273308f179f2b83e72111 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
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.
personal git repositories of Harald Welte. Your mileage may vary