summaryrefslogtreecommitdiff
path: root/2008/embedded-openexpo/embedded-openexpo.mgp
blob: 4b15ba843eb391ca0d3e90e5388702270e5991a0 (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
%include "default.mgp"
%default 1 bgrad
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
%nodefault
%back "blue"

%center
%size 7


Nobody has [yet] understood
Embedded Linux

%center
%size 4
by

Harald Welte <laforge@gnumonks.org>


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
Introduction

Who is speaking to you?
		an independent Free Software developer, consultant and trainer
		13 years experience using/deploying and developing for Linux on server and workstation
		10 years professional experience doing Linux system + kernel level development 
		strong focus on network security and embedded
		expert in Free and Open Source Software (FOSS) copyright and licensing
		digital board-level hardware design, esp. embedded systems
		active developer and contributor to many FOSS projects
		thus, a techie, who will therefore not have fancy animated slides ;)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
Introduction

Why am I qualified?
	The 'Linux community' POV
		Initiator of OpenEZX project (Linux on Motorola GSM phones)
		Author of various drivers for embedded hardware
	The 'embedded Linux done the rigth way' POV
		Lead System Architect (SW+HW) at Openmoko, Inc.
		Co-creator of Open Hardware + Software for RFID
			OpenPCD, OpenPICC, librfid, libmrtd
	The 'chip manufacturer' POV
		Open Source Liaison at VIA Technologies, Inc.
	The 'customer of consumer-grade embedded Linux' POV
		Done reverse-engineering on hundreds of devices for gpl-violations.org

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
Linux is everywhere!

%image "linux_netfilter_singapore_entertainment.jpg"


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
Linux is everywhere

Linux is everywhere!
	Linux mobile phones (Motorola, Openmoko)
	In-flight entertainment systems 
	Embedded networking gear
		DSLAMs
		rack monitoring
	Public payphones
	ATM's / PoS / vending machines
	Now even Fitness gear (Daum Ergometer)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
Strengths of FOSS [0/4]


What are the true strengths of FOSS
	Innovative and creative development
	Security due to code review / bugreport / patches
	Long-term maintainable code
	Stable and reliable systems

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
Strengths of FOSS [1/4]


Innovative and creative development
	easy-to-read existing codebase
	standard (FOSS) development tools
	thus, easy to modify and add features
	community will build around great new features/apps

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
Strengths of FOSS [2/4]


Security due to code review / bugreport / patches
	because all the code is out there
	because many people are familiar with existing architecture
	because code quality requirements usually very high
	because community process allows quick and fast integration of bugfix

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
Strengths of FOSS [3/4]


Long-term maintainable code
	because there's a lot of attention on good software architecture
	because many developers are familiar with the shared/common API's
	because code quality requirements usually ery high
	because all code in mainline gets maintained and updated

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
Strengths of FOSS [4/4]


Stable and reliable systems
	because code quality requirements usually ery high
	because kernel releases are quite frequent
	because all mainline code is automatically ported to new releases


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
Reality Check

	So we should have the perfect world
		tons of embedded Linux products
		all of them maitainable, secure, stable
		encouraging lots of creative work on top of their codebase

	What is the reality
		tons of embedded Linux products
		none of the strengths of FOSS present in 99% of them


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
What does the vendor get

So what do the embedded vendors get?
	unstable software
	security nightmares
	unmaintainable code
	no innovation
	no user-contributed bug fixes

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
What does the vendor get

unstable software
	because their code stinks (low quality)
	because they patch around problems rather than solving them

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
What does the vendor get

security nightmares
	because they use stoneage forks of the kernel
	because they never contributed their code mainline
	because those forks can never be merged back with mainline again

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
What does the vendor get

unmaintainable code
	because they have one fork of the code per device (product)
	because their code quality sucks


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
What does the vendor get

no innovation
		because they try to hide their code (gpl-violations.org)
		because their R&D environment is non-standard
			weird cross-toolchains that nobody has seen before
			weird filesystems with custom patches that nobody knows
		because they add proprietary components to lock developers from adding features
			e.g. the entire web-based UI for embedded networking gear
			binary-only kernel modules that force people to use old kernels with no interesting new features
		because it is, overall, way too hard to develop on/for their platform
		because they don't disclose serial console and/or JTAG access

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
Reality Check

So why do they still do it?
	there can only be one conclusion:
		they never understood the real potential of FOSS
		all they do is try to compete with what proprietary competitors do
		they never think about creating platforms, every product is distinct/separate
		they have no interest in improving their products

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
What does the community get

So what does the community get?
	products that run some crappy fork of Linux somewhere under the hood
		but which we cannot really touch/modify without a lot of effort
	we face opposition from the product maker if we want to help him to improve

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
TODO

What should they do?
	stop thinking in terms of selling black boxes
	defining products that take advantage of the true strength of FOSS
	compete against the proprietary competition on a level that they can't match
	give up the idea of defining all aspects of an appliance
	rather think of building an extensible platforms and let community innovate

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
Outlook


Outlook
	We will see even more embedded Linux, e.g. Mobile phones
	We will see even more restricted devices (Tivo-ization, DRM for code)
		which go on _very_ thin ice even with GPLv2
		which almost completely remove all freedoms of FOSS
	We have some faint dim light at the end of a very far tunnel
		e.g. projects like Openmoko, who truly see openness as a feature

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page 
Nobody has [yet] understood Embedded Linux
Outlook
personal git repositories of Harald Welte. Your mileage may vary