summaryrefslogtreecommitdiff
path: root/2004/gpl-bof-ols2004/gpl-bof-ols2004.mgp
blob: db63bcbe9e8f53e23262de191a50e010f47d89cc (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
%include "default.mgp"
%default 1 bgrad
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
%nodefault
%back "blue"

%center
%size 7


Enforcing the GNU GPL
Copyright helps Copyleft


%center
%size 4
by

Harald Welte <laforge@netfilter.org>


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
GNU GPL - Copyright helps Copyleft
Contents


	Introduction

	The GNU GPL Revisited
	Motivations for licensing under the GPL
	Enforcing the GNU GPL

	Thanks

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
GNU GPL - Copyright helps Copyleft
Introduction

Who is speaking to you?

		an independent Free Software developer
		who earns his living off Free Software since 1997
		who is one of the authors of the linux kernel firewall system called netfilter/iptables
		who IS NOT A LAWYER, although this presentation is the result of dealing six months with lawyers on the GPL

Why is he speaking to you?

		because he became aware of copyright (copyleft?) infringement and took legal action within German jurisdiction

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
GNU GPL - Copyright helps Copyleft
What is copyrightable?

	The GNU GPL is a copyright license, and thus only covers copyrighted code
	Not everything is copyrightable (German: Schoepfungshoehe)
		Small bugfixes are not copyrightable (similar to typo-fixes in a book)
		As soon as the programmer has a choice in the implementation, there is significant indication of a copyrightable work
		Choice in algorithm, not in formal representation.
	Apparently, the level for copyrightable works is relatively low.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
GNU GPL - Copyright helps Copyleft
The GNU GPL Revisited

Revisiting the GNU General Public License

	Regulates distribution of copyrighted code, not usage
	Allows distribution of source code and modified source code
	Allows distribution of binaries or modified binaries, if
		The license itself is mentioned
		A copy of the license accompanies every copy
		The complete source code is either
			included with the copy
			made available to any 3rd party

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
GNU GPL - Copyright helps Copyleft
Complete Source Code


%size 3
"... complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable."

	Our interpretation of this is:
		Source Code
		Makefiles
		Tools for generating the firmware binary from the source
			(even if they are technically no 'scripts')
	General Rule:
		Intent of License is to enable user to run modified versions of the program.  They need to be enabled to do so.
		Result: Signing binaries and only accepting signed versions without providing a signature key is not acceptable!


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
GNU GPL - Copyright helps Copyleft
Derivative Works

	What is a derivative work?
		Not dependent on any particular kind of technology (static/dynamic linking, dlopen, whatever)
		Even while the modification can itself be a copyrightable work, the combination with GPL-licensed code is subject to GPL.
	No precendent in Germany so far
		As soon as code is written for a specific non-standard API (such as the iptables plugin API), there is significant indication for a derivative work
		This position has been successfully enforced out-of-court with two Vendors so far (iptables modules/plugins).
	Result
		Position of my lawyers and IBM lawyers:
			In-kernel proprietary code (binary kernel modules) are not compliant
			Case-by-case analysis required, especially when drivers/filesystems are ported from other OS's.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
GNU GPL - Copyright helps Copyleft
Confusion about the GPL

Unfortunately, the wide misconception about copyright, free software, public
domain (even the RedHat CEO!) leads to people unknowingly, or even wilfully 
only benefit from the freedom but not fulfill the obligations of the GPL.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
GNU GPL - Copyright helps Copyleft
Enforcing the GNU GPL

Enforcing the GPL
		GPL violations are nothing new, as GPL licensed software is nothing new.
		However, the recent Linux boom 
		The FSF enforces GPL violations of code on which they hold the copyright
			silently, without public notice
			in lengthy negotiations
		During 2003 the "Linksys" case drew a lot of attention
			Linksys was selling 802.11 WLAN Acces Ponts / Routers
			Lots of GPL licensed software embedded in the device (included Linux, uClibc, busybox, iptables, ...)
			FSF led alliance took the 'qiet' approach and it took about four months until the full source code was released
		Some developers didn't agree with this approach
			not enough publicity
			violators don't loose anything by first not complying and wait for the FSF
			four months delay is too much for low product lifecycles in WLAN world
		So the netfilter/iptables project started to do their own enforcement in more cases coming up

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
GNU GPL - Copyright helps Copyleft
Enforcing the GNU GPL

Enforcing the GPL
		chronological order
			reverse engineering of firmware images
			sending the infringing organization a warning notice
			wait for them to sign a statement to cease and desist
			applying for a preliminary injunction if they don't (max 4 weeks after reverse engineering)

		Success so far
			amicable agreement with Asus, Belkin, Allnet, Fujitsu-Siemens, Siemens, Securepoint, U.S. Robotics, ...
			some of which made significant donations to charitable organizations of the free software community
			preliminary injunction against Sitecom, Sitecom also lost appeals case 
			more settled cases (not public yet)
			negotiating in more cases
			public awareness 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
GNU GPL - Copyright helps Copyleft
Enforcing the GNU GPL

Enforcing the GPL
		remains an important issue for Free Software
		will start to happen within the court
		has to be made public in order to raise awareness

Problems
		only the copyright holder (in most cases the author) can do it
		users discovering GPL'd software need to communicate those issues to all copyright holders

	The http://www.gpl-violations.org/ project was started
		as a platform wher users can report alleged violations
		to verify those violations and inform all copyright holders
		to inform the public about ongoing enforcement efforts

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
GNU GPL - Copyright helps Copyleft
How to make later enforcement easy

	Practical rules for proof by reverse engineering
		Don't fix typos in error messages and symbol names
		Leave obscure error messages like 'Rusty needs more caffeine'
		Make binary contain string of copyright message, not only source
	Practical rules for potential damages claims
		Use revision control system
		Document source of each copyrightable contribution
			Name+Email address in CVS commit message
		Consider something like FSFE FLA (Fiduciary License Agreement)
		Make sure that employers are fine with contributions of their employees
	If you find out about violation
		Don't make it public (has to be new/urgent for injunctive relief)
		Contact lawyer immediately to send wanrning notice

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
GNU GPL - Copyright helps Copyleft
Thanks

	Thanks to
		Alan Cox, Alexey Kuznetsov, David Miller, Andi Kleen
			for implementing (one of?) the world's best TCP/IP stacks
		Paul 'Rusty' Russell
			for starting the netfilter/iptables project
			for trusting me to maintain it today
		Astaro AG
			for sponsoring parts of my netfilter work
		Free Software Foundation
			for the GNU Project 
			for the GNU General Public License
%size 3
	The slides of this presentation are available at http://www.gnumonks.org/
%size 3
	The netfilter homepage http://www.netfilter.org/
%size 3
	The http://www.gpl-violations.org/ project


personal git repositories of Harald Welte. Your mileage may vary