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

%center
%size 7


The GNU GPL Revisited


%center
%size 4
by

Harald Welte <laforge@hmw-consulting.de>


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
The GNU GPL Revisited
Contents


	Introduction
	What is Copyrightable?
	Terminology
	Common FOSS Licenses
	The GNU GPL Revisited
	Complete Source Code
	Derivative Works
	Non-Public Modifications
	GPL Violations
	Thanks

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
The GNU GPL Revisited
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 almost a year with lawyers on the subject of the GPL

Why is he speaking to you?
		because he thinks there is too much confusion about copyright and free software licenses. Even Red Hat CEO Matt Szulik stated in an interview that RedHat puts investments into 'public domain' :(

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
The GNU GPL Revisited
Disclaimer

Legal Disclaimer

		All information presented here is provided on an as-is basis
		There is no warranty for correctness of legal information
		The author is not a lawyer
		This does not comprise legal advise
		The authors experience is limited to German copyright law

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
The GNU GPL Revisited
What is copyrightable?

	The GNU GPL is a copyright license, and thus only covers copyrighted works
	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
The GNU GPL Revisited
Terminology

	Public Domain
		concept where copyright holder abandons all rights
		same legal status as works where author has died 70 years ago (German: Gemeinfreie Werke)
	Freeware
		object code, free of cost. No source code
	Shareware
		proprietary "Try and Buy" model for object code.
	Cardware/Beerware/...
		Freeware that encourages users to send payment in kind

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
The GNU GPL Revisited
Terminology

	Free Software
		source code freely distributed
		must allow redistribution, modification, non-discriminatory use
		mostly defined by Free Software Foundation
	Open Source
		source code freely distributed
		must allow redistribution, modification, non-discriminatory use
		defined in the "Open Source Definition" by OSI

	The rest of this document will refer to Free and Open Source Software as FOSS.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
The GNU GPL Revisited
Common FOSS licenses

	Original BSD License
		allows redistribution, modification
		even allows proprietary extensions with no source code offer
		all docs, advertisement materials have to mention copyright holder
	Modified BSD License
		same as "Original BSD License", but no copyright statements required in docs and advertisements

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
The GNU GPL Revisited
Common FOSS licenses

	GPL (GNU General Public Liense)
		allows redistribution, including modified works
		obliges distributor to supply source code including all modifications
		usage rights are revoked if license conditions not met
	LGPL (GNU Library General Public License)
		explicitly allows linking of proprietary applications
		written as special case for libraries (such as glibc)


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
The GNU GPL Revisited
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
			The license itself is mentioned
			A copy of the license accompanies every copy
		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
The GNU GPL Revisited
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
The GNU GPL Revisited
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).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
The GNU GPL Revisited
Derivative Works

	Position of my lawyer:
		In-kernel proprietary code (binary kernel modules) are hard to claim GPL compliant
		Case-by-case analysis required, especially when drivers/filesystems are ported from other OS's.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
The GNU GPL Revisited
Collected Works

%size 3
"... it is not the intent .. to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works ..."
%size 3
"... mere aggregation of another work ... with the program on a volume of a storage or distribution medium does not bring the other work und the scope of this license"

	GPL allows "mere aggregation"
		like a general-porpose Linux distribution (SuSE, Red Hat, ...)

	GPL disallows "collective works"
		legal grey area
		tends to depend a lot on jurisdiction
		no precendent so far


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
The GNU GPL Revisited
Non-Public modifications

	Non-Public modifications
		A common misconception is that if you develop code within a corporation, and the code never leaves this corporation, you don't have to ship the source code.
		However, at least German law would count every distribution beyound a number of close colleague as distribution.  
		Therefore, if you don't go for '3a' and include the source code together with the binary, you have to distribute the source code to any third party.
		Also, as soon as you hand code between two companies, or between a company and a consultant, the code has been distributed.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
The GNU GPL Revisited
GPL Violations

	When do I violate the license
		when one ore more of the obligations are not fulfilled

	What risk do I take if I violate the license?
		the GPL automatically revokes any usage right
		any copyright holder can obtain a preliminary injunction banning distribution of the infringing product

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
The GNU GPL Revisited
Thanks

	Thanks to
		KNF
			for first bringing me in contact with linux in 1994
		Astaro AG
			for sponsoring most of my netfilter work
		Free Software Foundation
			for the GNU Project 
			for the GNU General Public License
		Dr. Till Jaeger
			for handling my legal cases

%size 3
	The slides of this presentation are available at http://www.gnumonks.org/

	Further reading:
%size 3
	The netfilter homepage http://www.netfilter.org/
%size 3
	The http://www.gpl-violations.org/ project
%%	http://management.itmanagersjournal.com/management/04/05/31/1733229.shtml?tid=85&tid=4


personal git repositories of Harald Welte. Your mileage may vary