summaryrefslogtreecommitdiff
path: root/2019/korea/gpl-germany.tex
blob: 519b6c546b9ac71c61aae6efa19bc6c6eb6f4506 (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
\documentclass[11pt]{beamer}
\usetheme{default}
%\setbeamertemplate{frametitle}{}
\newenvironment{myline}
    %{\usebeamerfont{frametitle}\usebeamercolor[fg]{frametitle}\vfill\centering}
    {\usebeamerfont{frametitle}\vfill\centering}
    {\par\vfill}

\usetheme{Warsaw}
\usecolortheme{whale}

\title{GNU GPL enforcement cases in Germany}
%\subtitle{Subtitle}
\author{Harald~Welte}
\date[June 2019, Seoul/Korea]{Public Domain \& Open Source Conference, June 2019}
\institute{gpl-violations.org}


\begin{document}

\begin{frame}
\titlepage
\end{frame}


\begin{frame}{Outline}
	\tableofcontents[hideallsubsections]
\end{frame}


\begin{frame}{About the speaker}
\begin{itemize}
	\item I'm not a lawyer, this is not legal advice
	\item Free Software developer for more than 20 years
	\item Used to work on the Linux kernel from 1999-2009
	\item By coincidence among the first people enforcing the GNU GPL in court
	\item Since 2009 developing FOSS in cellular communications (Osmocom)
	\item Living and working in Berlin, Germany.
\end{itemize}
\end{frame}

\section{History: First GPL enforcement in German court}

\begin{frame}{History leading to the case (2003)}
\begin{itemize}
	\item Linux started to get used in consumer DSL/WiFi routers
	\item 2003 Linksys WRT54G enforcement in US / FSF-led coalition
	\item some dissatisfied at slow progress / little results
	\item more similar devices are showing up in German market
	\item I was head of netfilter/iptables development back then
	\item companies disrespecting our development model made me very upset
	\item I did some research on the legal situation and was looking for a competent lawyer
	\item Luckily I found Dr. Till Jaeger, who had already published extensively on FOSS back then
\end{itemize}
\end{frame}

\begin{frame}{Welte vs. Sitecom (2004)}
Timeline
\begin{itemize}
	\item March 18, 2004: Warning Letter to Sitecom
	\item March 22, 2004: Sitecom asks for extension of deadline, granted by plaintiff
	\item March 30, 2004: No declaration to cease+desist received
	\item April 1, 2004: Request for grant of preliminary injunction filed
	\item April 2, 2004: Injunction granted by district court Munich
	\item April 13, 2004: Preliminary injunction served to Sitecom
	\item April 20, 2004: Sitecom files appeal against injunction
	\item May 19, 2004: Court issues ruling, upholding injunction
\end{itemize}
LG München, Az~21~O~6123/04
\end{frame}

\begin{frame}{Welte vs. Sitecom (2004)}
\begin{itemize}
	\item Timeline reflects standard procedural code in copyright infringements in Germany
	\item preliminary injunction can only be requested in {\em urgent} cases, which typically means {\em no less then 30 days after plaintiff knows about infringement}
	\item short amount of time for declaration to cease and desist and fixing GPL compliance
	\item if product is sold (or firmware downloadable) all over Germany, all courts are competent, plaintiff can chose
	\item District court of Munich (LG München) didn't show any doubt about validity of GPL under German law
\end{itemize}
\end{frame}

\begin{frame}{Welte vs. Sitecom aftermath}
\begin{itemize}
	\item Sitecom did some half-hearted attempts at fixing that one first product we found
	\item preliminary injunction is not on a single product, but on the software netfilter/iptables
	\item Unfortunately, Sitecom didn't change their habits / processes
	\item April 20, 2005: Sitecom has to pay 5000 EUR to the court for a GPL violation in another product (WL-111), infringing the preliminary injunction.
	\item May 22, 2006: Found another incompliant product: Warning notice about WL-105i
\end{itemize}
\end{frame}

\begin{frame}{After that first German case}
more lawsuits
\begin{itemize}
	\item Welte vs. Fortinet (2005)
	\item Welte vs. D-Link (2006)
	\item Welte vs. Skype (2008)
	\item gpl-violations.org slows down from 2008 onwards
	\item Welte vs. Fantec (2013)
\end{itemize}
many more out of court enforcements (hundreds) with companies ranging from Siemens to Sun
\end{frame}

\begin{frame}{gpl-violations.org becomes dormant}
\begin{itemize}
	\item I'm an engineer. Anything except writing code or designing electronics is a distraction
	\item Legal work of license enforcement with gpl-violations.org took a lot of time
	\item It was a great team working with Armijn Hejmel, Till Jaeger and colleagues
	\item Ultimately, I am personally liable in all copyright lawsuits
	\begin{itemize}
		\item Requires deep personal involvement in lots of details
	\end{itemize}
	\item We had successfully demonstrated to the industry the GPL is upheld by court, and GPL compliance matters
	\begin{itemize}
		\item at least parts of the industry began to change their habits
		\item mission accomplished
	\end{itemize}
	\item gpl-violations.org became dormant / inactive
\end{itemize}
\end{frame}

\begin{frame}{}
fast-forward to 2016
\end{frame}

\section{Enforcement by Patrick McHardy}

\begin{frame}{Patrick McHardy GPL enforcement caeses}
\begin{itemize}
	\item Patrick McHardy was another German Linux Kernel developer starting GPL enforcement
	\item by coincidence he was also involved with netfilter/iptables
	\item he started his enforcement around the time he stopped contributing actual code
	\item enforcement process is similar to what was described before
	\item unfortunately, enforcement doesn't seem to be compliance-centric but profit-driven
\end{itemize}
\end{frame}

\begin{frame}{Patrick McHardy GPL enforcement caeses}
\begin{itemize}
	\item Patrick secluded himself from Linux and netfilter developers
	\item for many years he refuses to respond to any of our inquuries
	\item his enforcement often seems to emphasize on minor infractions or grey areas like requiring a German translation of the GPL
	\item he's not publishing his actions, but acting in secret
	\item many assume he's largely financially motivated
	\item suspended from netfilter team as a result
	\item other netfilter core team members sign {\em principles of community oriented GPL enforcement}
\end{itemize}
\end{frame}

\begin{frame}{McHardy vs. Geniatech (2016-2018)}
From a high level, pretty similar to other infringement cases
\begin{itemize}
	\item test purchase is made
	\item warning notice is filed
	\item no declaration to cease and desist
	\item preliminary injunction applied for at LG Köln; granted (Az~14~O~188/17)
	\item appeal against preliminary injunction turned down
\end{itemize}
\end{frame}

\begin{frame}{The details matter}
\begin{itemize}
	\item Scope of preliminary injunction is very broad:
	\item Defendant shall cease and desist from
	\begin{itemize}
		\item ever publishing, selling, offering for download any version of Linux (whether Patrick McHardy has any copyright in that or not)
		\item putting hyperlinks on their website to any version of Linux
		\item asking users to download ant version of Linux
	\end{itemize}
\end{itemize}
\end{frame}

\begin{frame}{Appeal at OLG Köln (2018)}
\begin{itemize}
	\item More than 1000 pages of filings of the parties (!)
	\item Linux kernel development model makes McHardy {\em modifying author}, not {\em co-author}. 
	\item modifying author can only ask for cease and desist on those portions he wrote, not entire work
	\item McHardy did not sufficiently show what exactly his contributions were and how they were forming themselves copyrightable works
	\item McHardy did not substantiate what copyrightable contributions he has made outside of netfilter/iptables
	\item McHardy decided to withdraw his case at this point, avoiding the higher district court to ever get to issue a verdict on the case.
\end{itemize}
\end{frame}

\begin{frame}{Legal concept: Miturheber vs. Bearbeiterurheber}
German copyright distinguishes between
\begin{itemize}
	\item {\em Miturheber} (co-author)
	\begin{itemize}
		\item multiple authors plan and create a work together
		\item any of the co-authors can claim cease+desist for the full work
	\end{itemize}
	\item {\em Bearbeiterurheber} (modifying author)
	\begin{itemize}
		\item a pre-existing work gets edited/modified by another author
		\item the modifying author can only claim cease+desist on his part
	\end{itemize}
\end{itemize}
This turns out to be one of the more important legal formalities discussed in recent GPL enforcement cases.
\end{frame}

\section{Enforcement by Christoph Hellwig}

\begin{frame}{Hellwig vs VMware (2016-2019)}
\begin{itemize}
	\item not a classic (embedded) Linux GPL violation case
	\item Linux kernel not used as a whole / as OS kernel
	\item parts of Linux, such as SCSI-mid-layer, USB stack, radix tree and tons of device drivers used inside proprietary ESXi vmkernel
	\item no preliminary injunction involved
\end{itemize}
\end{frame}

\begin{frame}{First court case at LG Hamburg (Az~310~O~89/15)}
\begin{itemize}
	\item initial lack of understanding of the court on how the parts are pieced together
	\item large focus on legal formalitiies such as standing
	\item co-authorship (Miturheberschaft) vs.\ editor authorship (Bearbeiterurheberrecht)
\end{itemize}
\end{frame}

\begin{frame}{Second court case at OLG Hamburg  (Az~5~U~146/16)}
Hearing on Nov. 28, 2018
\begin{itemize}
	\item court has difficulties understanding which functionalities / code Hellwig is basing his claims on
	\item court states Hellwig cannot claim editing copyright (Bearbeiterurheberrecht) on Linux as a whole
	\item court believes the ruling at the previous court is a valid ruling based on the filings made
	\begin{itemize}
		\item editing copyright only on the part edited
		\item no rights on the original program
	\end{itemize}
\end{itemize}
\end{frame}

\begin{frame}{Second court case at OLG Hamburg  (Az~5~U~146/16)}
\begin{itemize}
	\item general statements and pointers to public sources are insufficient to prove authorship/rights
	\item the concrete copies of code sections must be pointed out
	\item it is insufficient if only an expert witness can show something
	\item in some of the code, copyright statements hint that co-authorship might exist, while the claims were all based on editing authorship
	\item difficulties with "what is a work".  If the entire vmkernel+vmklinux and linux derived portions are one work, then Hellwig's parts are proportionally small.
\end{itemize}
\end{frame}

\begin{frame}{Second court (OLG Hamburg): Case dismissed}
\begin{itemize}
	\item case was dismissed entirely based on formal grounds
	\item court claims Hellwig didn't demonstrate clearly enough that his copyrighted work ended up in VMwares product
	\item court didn't actually have to rule on the merits of the case
\end{itemize}
\end{frame}

\begin{frame}{Why is this happening all in Germany?}
\begin{itemize}
	\item no copyright registration required
	\item preliminary injunction must be applied for very quickly
	\item preliminary injunction granted without hearing defendant
	\item preliminary injunction doesn't require injunction bond
	\item lots of precedent primarily due to the 2004 to 2008 cases
	\item legal costs are regulated and not as insanely expensive as some other jurisdictions that shall not be named
\end{itemize}
\end{frame}

\begin{frame}{Further Reading}
\begin{itemize}
	\item gpl-violations.org cases
	\begin{itemize}
		\tiny
		\item \url{http://gpl-violations.org/} (News section)
	\end{itemize}
	\item McHardy cases
	\begin{itemize}
		\tiny
		\item \url{https://www.netfilter.org/files/statement.pdf}
		\item \url{https://netfilter.org/licensing.html}
		\item \url{https://blog.fossa.io/patrick-mchardy-and-copyright-profiteering-44f7c28c0693/}
		\item \url{http://laforge.gnumonks.org/blog/20180307-mchardy-gpl/}
		\item \url{https://ifosslr.org/index.php/ifosslr/article/view/128/246}
	\end{itemize}
	\item Hellwig / VMware
	\begin{itemize}
		\tiny
		\item \url{https://sfconservancy.org/copyleft-compliance/vmware-lawsuit-faq.html}
		\item \url{http://laforge.gnumonks.org/blog/20151029-vmware_gpl/}
		\item \url{http://laforge.gnumonks.org/blog/20160225-vmware-gpl/}
	\end{itemize}
	\item List of judgements / verdicts (not only) in Germany
	\begin{itemize}
		\tiny
		\item \url{https://ifross.github.io/ifrOSS/Cases}
	\end{itemize}
\end{itemize}
\end{frame}

\begin{frame}{Thanks}
Thanks for your attention.

	You have a General Public License to ask questions now :)
\end{frame}

\end{document}
personal git repositories of Harald Welte. Your mileage may vary