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
430
431
432
433
|
working title:
History of Software Freedom: Free Software and Open Source
hacker subculture - ~04:00
will discuss first, since:
hacker values permeate and give context to the history of sw freedom
few, if any, in the audience know what a hacker is
Phil Agre, an MIT hacker, on the definition:
The word hack doesn't really have 69 different meanings. In fact, hack
has only one meaning, an extremely subtle and profound one which defies
articulation.
[Jargon-meaning]
nonetheless, many have attempted to define hacking:
RFC 1392:
hacker
A person who delights in having an intimate understanding of the
internal workings of a system, computers and computer networks in
particular. The term is often misused in a pejorative context,
where "cracker" would be the correct term. See also: cracker.
[RFC1392, 21]
RMS, a renowned hacker I'll be discussing in detail shortly:
It is hard to write a simple definition of something as varied as
hacking, but I think what these activities have in common is
playfulness, cleverness, and exploration. Thus, hacking means
exploring the limits of what is possible, in a spirit of playful
cleverness. Activities that display playful cleverness have "hack
value".
[RMS-hacking]
Jargon file offers a good detailed explanation:
1. A person who enjoys exploring the details of programmable systems
and how to stretch their capabilities, as opposed to most users, who
prefer to learn only the minimum necessary. RFC1392, the Internet
Users' Glossary, usefully amplifies this as: A person who delights
in having an intimate understanding of the internal workings of a
system, computers and computer networks in particular.
2. One who programs enthusiastically (even obsessively) or who
enjoys programming rather than just theorizing about programming.
3. A person capable of appreciating hack value.
4. A person who is good at programming quickly.
5. An expert at a particular program, or one who frequently does
work using it or on it; as in ‘a Unix hacker’. (Definitions 1
through 5 are correlated, and people who fit them congregate.)
[Jargon-hacker]
MIT Tech Model Railroad Club
1950s and 1960s
members sought to learn how things worked
members disliked authority
information wants to be free
vocabulary
foo, frob, cruft, hack, etc.
TODO: continue history, describe hacker ethic
examples of hacks
MIT
campus police car on the Great Dome
[IHTFP-CP-Car]
nyan cat
[IHTFP-Nyan-Cat]
RFC 1149
A Standard for the Transmission of IP Datagrams on Avian Carriers
CPIP (Carrier Pidgeon IP)
Bergen Linux User's Group
2001-04-28: Bergen, Norway
— 10.0.3.1 ping statistics —
9 packets transmitted, 4 packets received, 55% packet loss
round-trip min/avg/max = 3211900.8/5222806.6/6388671.9 ms
[RFC1149]
[Jargon-meaning]
[BLUG-CPIP-WG]
in the beginning, there was freedom - ~02:00
sharing software is as old as modern computing is
just as sharing recipes is as old as cooking is
DEC PDP-1
became the favorite machine of the budding hacker culture
after its donation to MIT in 1962
[WP-PDP-1]
DECUS
Digital Equipment Computer Users Society
users had to write software for PDP-1
founded in 1961
facilitated free exchange of info and sw between customers and DEC
[CHM-DECUS]
Spacewar!
space shooter with realistic physics that showed power of PDP-1
written by Steve Russel in 1961-1962
a traditional hack
goofy and random, with no use other than as a diversion
MIT hackers freely shared game
[Quinn, 316]
[CHM-Spacewar!]
[Williams-RMS, 211]
TODO: something about sharing software like sugar [Williams-RMS, 5]
or what I just added above -- I don't know
Unix
originally written in 1969 to run on PDP-7
by Ken Thompson, Dennis Ritchie, M. D. McIlroy, and J. F. Ossanna
to be "a system around which a fellowship could form"
AT&T was required to license non-telephone tech. to anyone who asked
under a 1958 consent decree in settlement of an antitrust case
AT&T licensed Unix with source code to univs, corps, U.S. gov't
Lion's Commentary, 1976, documented Unix source code
Unix hackers of the early 1970s
enjoyed largely unrestricted access to Unix sys at univs and corps
throughout the 1970s, univs worldwide contributed greatly to Unix dev
[DMR-Hist]
[ESR-TAOUP-2.1]
[WP-Unix]
proprietarization - ~02:00
IBM unbundling
1969
IBM stopped providing software in source form with hardware
instead began selling binary copies of software at a high cost
pioneered the "software industry"
[WP-IBM]
"Open Letter to Hobbyists"
written by Bill Gates, General Partner, Micro-Soft
published between January and May, 1976
in Homebrew Computer Club Newsletter, Computer Notes, et al
accused hobbyists of stealing
claimed that sharing software is unfair and prevents writing of good sw
[WP-Open-Letter]
[DB-Gates]
copyright
Commission on New Technological Uses of Copyrighted Works (CONTU)
established in 1974 to study and make recommends on legislation
Copyright Act of 1976
added 17 U.S.C. §117
Computer Software Copyright Act of 1980
added defn of "computer program" to 17 U.S.C. §101
explicitly made software copyrightable
rewrote 17 U.S.C. §117
"it is not an infringement for the owner of a copy of a computer
program to make or to authorize the making of another copy or
adaptation of that computer program provided:
(1) that such a new copy or adaptation is created as an
essential step in the utilization of the computer program in
conjunction with a machine and that it is used in no other
manner, or
(2) that such new copy or adaptation is for archival
purposes only and that all archival copies are destroyed in
the event that continued possession of the computer program
should cease to be rightful."
EULAs
contracts
circumvent 17 U.S.C. § 117
by arguing that software in question is "licensed not sold"
you don't own the CD of MS Windows you buy from a store
legality is disputed
take away rights: fair use, reverse engineering, disclosure of info.
GNU
the Trojan Horse printer
printer in MIT AI lab
jammed frequently
RMS, a hacker in the lab, devised a clever workaround
modified the driver sw on systems to check for jams and alert users
users awaiting jobs congregated around printer
usually at least one knew how to fix the jam
[Williams-RMS, 3]
Xerox Corporation donated a fast new prototype printer
jammed frequently
RMS thought to apply the same hack
searched for the Xerox printer driver, found no source code
[Williams-RMS, 2-4]
CMU computer scientist
RMS heard that a scientist at CMU had a copy of the source code
eventually he visited CMU and found the scientist
asked for a copy
scientist said he'd agreed not to share it, signed an NDA
RMS, stuned and angry, immediately and without a word walked out
[Williams-RMS, 6-8]
to add:
1982 - AI Lab admins bought a new PDP-10
used DEC's nonfree timesharing system instead of ITS
GNU name
why Unix like?
OS is most basic software on a computer system
without a free OS, can't even use a computer without prop sw
parts of a Unix-like OS
importance of software freedom
car analogy
common question: I'm not a computer programmer, so why should I care?
imagine all car hoods were welded shut so no one could see the engine
no one can study or modify their engines
I'm not an auto mechanic, so why should I care?
if car with a welded hood breaks down, only manufacturer could repair it
hope manufacturer stays in business
many around the world almost didn't in 2008-2009
monopolies in auto repair market
if car without welded hood breaks down, anyone with skills can repair it
auto repair is a free market
many professional and amateur mechanics
when your car breaks down, you can:
fix it yourself,
find a friend to fix it for you, or
hire a mechanic to fix it for you
when a free program breaks, anyone can fix it
and they can share their fix with the world
"code is law"
developer decides what program can and cannot do
without freedom to study and modify program, users are helpless
restrictions
include anti-features and limitations of freedom 0
trial versions
program can deny access to certain features
program can stop working after some period of time - "time bomb"
screen shots in MS Windows Media Player
copyright law allows screen shots in many situations
program does not allow screen shots in any situations
printing DRM-enabled PDF files in Adobe Reader
program refuses to print certain files for you
backdoors and tracking
NSAKEY in MS Windows
accidentally revealed by MSFT
shows that NSA might have access to every Windows system
Amazon.com Inc. deleted books from Kindle libraries
including, ironically, "1984" by George Orwell
multiple times, despite promises otherwise
like bookstore breaking into house and taking books from shelf
mobile phone location tracking files
found in Apple iOS and Android
tracks everywhere you go with the device
is copied to desktop or laptop PC
can therefore be accessed by anyone with access to the PC:
family, friends,
crackers,
PIs, law enforcement
the tracking in Android at least could be removed
because much of Android is free software
in fact, Replicant doesn't track its users
reliability and security
proprietary software can be audited only by its developers
relies on a practice called "security through obscurity"
hide the code, hide the holes
thoroughly disproven by studies
crackers find holes anyway
users are helpless until developers fix the holes, if they ever do
free software can be audited (and even fixed) by anyone
users can protect themselves and help protect each other
ex: HTTP Range header bug
bug in HTTP, affected all Web servers
solutions discussed on Apache list
Debian maintainers (Apache users) added patch to package
Debian released a complete fix 9 days before Apache did
ex: implantable medical devices
software is not reviewed by FDA; FDA trusts devs to report on safety
software has bugs, most of which could easily be found
many people have died due to such errors
software is unsecure; IMDs with wireless radios can be cracked
a person could kill an IMD user with a small, cheap device
people are dying because companies refuse to publish source code
ex: Air France Flight 447
2009-06-01
all 228 people on board were killed
under investigation
apparent cause:
software responding poorly to conflicting measurements
ex: Toyota brakes
ex? Diebold voting machines
"Proprietary software is an unsafe building material"
[Moglen]
commercial free software
many believe that money can't be made in open source and free software
that free means noncommercial
logical fallacy, false exclusionary disjunct
free software can be used commercially, and successful business models exist
if a license allows only noncommercial dealing, it would be non-free
[FSD]
generalized the ways people make money with fs into 3 broad categories
1. development
resembles pre-1970s economic models around software
programmers paid for time spent on work
not for copies of work (or rather contracts allowing use thereof)
[Codebreakers]
four examples:
a. Linux
over 70% of work done on Linux is done by paid programmers
[Linux-Kernel-Development, 12-13]
6000? 7000? programmers work on Linux
clarify? cite?
at least 659 companies have supported Linux development
[Linux-Kernel-Development, 10]
compare to the Microsoft Windows NT kernel
one company? plus contractors?
1,000 MSFT employees worked on Windows Vista as a whole
estimate ~20 employees worked on NT kernel between 5.x and 6.x
years?
b. Qt
flexible cross-platform application framework
popular in desktop, server, and embedded environments
[Qt]
most developers employed by Qt Development Frameworks
subsidiary of Nokia Corporation since 2008
[Qt-Development-Frameworks]
free software, GNU LGPL 2.1
[Qt Licensing]
now maintained as an independent project
[citation needed]
c. GNAT
a compiler for the Ada programming lang, now part of GCC
originally developed by NYU
under $3-million contract awarded by USAF in 1992
under requirements of contract, (C) transferred to FSF
sw released with terms of GNU GPL
[GNAT]
d. GNU
FSF hired programmers to work on parts of GNU
GNU Bash
popular and user-friendly command shell
now used in systems like GNU/Linux and Apple Mac OS X
GLIBC
ISO C library
GNU tar
archiving program
[Freedom-and-Cooperation]
all are fs, all are nowadays often distributed at no charge
why do companies pay for development of sw for which few people pay?
many companies sell support
many companies sell hw with which fs is run
servers, wireless network adapters, digital cameras,
mobile phones, televisions, cars, commercial airplanes, etc.
many companies see fs as a way to save time+money
and not have to reinvent wheels
probably part of AMD's motivation to support coreboot
free boot firmware
faster and more flexible than proprietary BIOSes
2. support
proprietary software
only (C) holder can understand and support it
support is a monopoly
found a bug in MS Windows?
only recourse: pay $49 to send MS an e-mail or $59 to call MS
free software
everyone is allowed to understand and support it
support is a free market
competition in free software support
companies and individuals must please clients
clients are free to go elsewhere for support
examples:
RMS made custom changes to his programs
made more money than he ever did before
Cygnus Solutions
founded 1989
maintained many parts of GNU development toolchain
offered commercial support for GNU software
very successful, had an 18-month waiting list
merged with Red Hat, Inc. between 1999 and 2000
Red Hat
sells support for GNU/Linux
revenue expected to reach $1 billion
Canonical, Ltd.
founded in 2004
maintains and supports numerous free software projects
including the Ubuntu GNU/Linux operating system
Nokia Corporation
used to provide official support for Qt framework
but earlier this year, sold support business to Digia Plc.
Digia one of 27 "Qt Partners":
companies that work w/ Nokia to provide comm. support for Qt
AdaCore
company run by original developers of GNAT
officially supporting GNAT since 1994
consultants supporting Debian GNU OSes
672 companies and 109 individuals in 64 countries
thousands of companies and individuals support free software
not a select handful of monopolists like MSFT and Adobe
3. distribution
many people sell free software
that is, they charge a fee for distribution
even of other people's work
software copyright licenses must allow this practice
in order to be considered free and open-source
often a cost in making and distributing copies of software
e.g. cost of burning and shipping discs
people may just want to earn some money for performing a moral act
(sharing freedom)
might contribute some of the profits back to the developers
in the 1980s, RMS charged a fee for copies of Emacs he shipped on tape
made about $1300/mo just distributing copies of one free program
Jargon-meaning
http://www.catb.org/jargon/html/meaning-of-hack.html
RFC1392
http://www.rfc-editor.org/rfc/rfc1392.txt
RMS-hacking
http://www.stallman.org/articles/on-hacking.html
Jargon-hacker
http://www.catb.org/jargon/html/H/hacker.html
RFC1149
http://tools.ietf.org/html/rfc1149
IHTFP-CP-Car
http://hacks.mit.edu/Hacks/by_year/1994/cp_car/
IHTFP-No-Tresspassing
http://hacks.mit.edu/Hacks/by_year/2004/no_tresspassing/
IHTFP-Firetruck
http://hacks.mit.edu/Hacks/by_year/2006/firetruck/
IHTFP-Nyan-Cat
http://hacks.mit.edu/Hacks/by_year/2011/nyan_cat/
BLUG-CPIP-WG
http://www.blug.linux.no/rfc1149/
WP-PDP-1
http://en.wikipedia.org/wiki/PDP-1
CHM-DECUS
http://pdp-1.computerhistory.org/pdp-1/index.php?f=theme&s=4&ss=7
Quinn
Quinn, Michael J. _Ethics for the Information Age_. Fourth Edition.
Addison-Wesley, 2011. 316.
CHM-Spacewar!
http://pdp-1.computerhistory.org/pdp-1/index.php?f=theme&s=4&ss=3
DMR-Hist
http://cm.bell-labs.com/cm/cs/who/dmr/hist.html
ESR-TAOUP-2.1
http://www.faqs.org/docs/artu/ch02s01.html
WP-Unix
http://en.wikipedia.org/wiki/Unix
WP-IBM
http://en.wikipedia.org/wiki/History_of_IBM
#1969:_Antitrust.2C_the_Unbundling_of_software_and_services
WP-Open-Letter
http://en.wikipedia.org/wiki/Open_Letter_to_Hobbyists
DB-Gates
http://www.digibarn.com/collections/newsletters/homebrew/V2_01/
homebrew_V2_01_p2.jpg
Williams-RMS
Moglen
http://www.softwarefreedom.org/events/2010/sscl/moglen-
software_in_everything-transcript.html
http://www.gnu.org/gnu/about-gnu.html
http://www.gnu.org/gnu/gnu-history.html
http://www.gnu.org/gnu/thegnuproject.html
http://www.gnu.org/gnu/initial-announcement.html
http://www.gnu.org/gnu/manifesto.html
|