“A BRIEF HISTORY OF SOFTWARE” From Mainframes to Mobile David L. Hayes Fenwick & West LLP April 14, 2016 SOFTWARE 1
“A BRIEF HISTORY OF SOFTWARE” From Mainframes to Mobile
David L. Hayes Fenwick & West LLP April 14, 2016
SOFTWARE
1
“A BRIEF HISTORY OF SOFTWARE” From Mainframes to Mobile
David L. Hayes Fenwick & West LLP April 15, 2016
2
“A BRIEF HISTORY OF SOFTWARE” From Mainframes to Mobile
David L. Hayes Fenwick & West LLP April 15, 2016
SOFTWARE
DAVID HAYES
3
“A BRIEF HISTORY OF SOFTWARE” From Mainframes to Mobile
David L. Hayes Fenwick & West LLP April 15, 2016
SOFTWARE
DAVID HAYES
4
60 70 80 90 00 10 20
Mainframes Minicomputers PCs World Wide Web Cloud CompuAng & Open Source
Mobile CompuAng
5
60 70 80 90 00 10 20
Mainframes Minicomputers PCs World Wide Web Cloud CompuAng & Open Source
Mobile CompuAng
IBM 1400
6
60 70 80 90 00 10 20
Mainframes Minicomputers PCs World Wide Web Cloud CompuAng & Open Source
Mobile CompuAng
PDP 11
7
60 70 80 90 00 10 20
Mainframes Minicomputers PCs World Wide Web Cloud CompuAng & Open Source
Mobile CompuAng
IBM PC
MAC
8
60 70 80 90 00 10 20
Mainframes Minicomputers PCs World Wide Web Cloud CompuAng & Open Source
Mobile CompuAng
BERNERS LEE
MOSAIC BROWSER
9
60 70 80 90 00 10 20
Mainframes Minicomputers PCs World Wide Web Cloud CompuAng & Open Source
Mobile CompuAng
SALESFORCE
ANDROID OS & FIRST iPHONE
10
60 70 80 90 00 10 20
Mainframes Minicomputers PCs World Wide Web Cloud CompuAng & Open Source
Mobile CompuAng
100 BILLIONTH DOWNLOAD FROM APP STORE
11
60 70 80 90 00 10 20
PATENTS
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
12
60 70 80 90 00 10 20
PATENTS
Benson 1972
Flook 1978
Diehr 1981
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
13
60 70 80 90 00 10 20
PATENTS
Freeman-‐Walter-‐ Abele Test 1982
Alappat 1994
State Street Bank 1998
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
14
60 70 80 90 00 10 20
PATENTS
Freeman-‐Walter-‐ Abele Test 1982
Alappat 1994
State Street Bank 1998
TradiAonalists Radicals Literalists
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
15
60 70 80 90 00 10 20
PATENTS Bilski 2008
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
16
State Street Bank 1998
60 70 80 90 00 10 20
PATENTS
Bilski v. Kappos 2010
Alice 2014
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
17
60 70 80 90 00 10 20
PATENTS
Mortgage Grader 2016
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
18
60 70 80 90 00 10 20
PATENTS
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
19
11 Tests for Patentability
60 70 80 90 00 10 20
PATENTS
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
20
60 70 80 90 00 10 20
COPYRIGHTS
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
21
60 70 80 90 00 10 20
COPYRIGHTS
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
IBM 1400 1959
PDP 11 1970
1976 Copyright Act
VISICALC 1979
22
60 70 80 90 00 10 20
COPYRIGHTS
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
Mac 1984
Whelan v Jaslow 1986
So[klone 1987
Lotus 123 1983
Lotus v Paperback 1990
Consultec 1991
23
60 70 80 90 00 10 20
COPYRIGHTS
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
Altai 1992
Apple v Microso[ 1994
Lotus v Borland 1996
24
25
60 70 80 90 00 10 20
COPYRIGHTS
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
Altai 1992
Apple v Microso[ 1994
Lotus v Borland 1996
26
60 70 80 90 00 10 20
COPYRIGHTS
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
StandardizaAon on Windows & Mac OS and web browsers 2000
27
60 70 80 90 00 10 20
COPYRIGHTS
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
Oracle v Google 2014
Mass market Uncertainty of SW patents Open source Cloud compuAng
28
60 70 80 90 00 10 20
COPYRIGHTS
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
29
60 70 80 90 00 10 20
TRADE SECRETS
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
30
60 70 80 90 00 10 20
TRADE SECRETS
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
Beginning of PC era
31
60 70 80 90 00 10 20
TRADE SECRETS
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
Look & feel
Salesforce 1999
32
60 70 80 90 00 10 20
TRADE SECRETS
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
Look & feel
Cloud compuAng Engineer mobility Open source So[ware patents
Worlds of Warcra[ 2004
Office 365 2011
Alice 2014
33
60 70 80 90 00 10 20
TRADE SECRETS
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
34
Alice 2014
60 70 80 90 00 10 20
A BRIEF HISTORY of SOFTWARE
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
35
36
60 70 80 90 00 10 20
A BRIEF HISTORY of SOFTWARE
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
37
Why is soSware so hard to protect?
38
39
“SoSware” is not a monolithic thing
40
7 key characterisVcs
1. SoSware is inherently funcVonal
41
1. SoSware is inherently funcVonal
Requires creaVvity, but for funcVonal outcomes
42
1. SoSware is inherently funcVonal
Interoperability
43
2. SoSware embodies mulVple types of creaVvity
44
2. SoSware embodies mulVple types of creaVvity
TradiVonal expression (games)
45
2. SoSware embodies mulVple types of creaVvity
Line by line code
46
2. SoSware embodies mulVple types of creaVvity
Non-‐literal internal elements (SSO, data
formats, command sets)
47
2. SoSware embodies mulVple types of creaVvity
External interfaces (APIs, input formats, GUI)
48
3. SoSware evoluVon is oSen incremental
49
3. SoSware evoluVon is oSen incremental
Limited record of prior art (it’s oSen just in the code)
50
3. SoSware evoluVon is oSen incremental
ProtecVon of incremental changes may not be very
important
51
3. SoSware evoluVon is oSen incremental
Object oriented programming and reuse of code
52
4. SoSware is increasingly short lived
53
4. SoSware is increasingly short lived
UNIX 50 yrs (1969)
54
4. SoSware is increasingly short lived
UNIX 50 yrs (1969)
Mainframe 10-‐20 yrs
55
4. SoSware is increasingly short lived
UNIX 50 yrs (1969)
Mainframe 10-‐20 yrs
PC so[ware 6 mos -‐ 2 yrs
56
4. SoSware is increasingly short lived
UNIX 50 yrs (1969)
Mainframe 10-‐20 yrs
PC so[ware 6 mos -‐ 2 yrs
Mobile app A few weeks
57
5. SoSware development methodology has evolved
58
5. SoSware development methodology has evolved
Small development teams working over a long Vme
(mainframes)
59
5. SoSware development methodology has evolved
Large enterprise development teams using
top down methods
60
5. SoSware development methodology has evolved
Inter-‐company joint development
61
5. SoSware development methodology has evolved
Agile development
62
5. SoSware development methodology has evolved
Open source
63
6. SoSware exists in many different markets
64
6. SoSware exists in many different markets
Discrete, small markets for mainframe soSware
65
6. SoSware exists in many different markets
Medium size markets for enterprise soSware
66
6. SoSware exists in many different markets
Mass markets for consumer soSware
67
6. SoSware exists in many different markets
EssenVally infinite markets for mobile apps
68
7. SoSware has many different distribuVon and use architectures
69
7. SoSware has many different distribuVon and use architectures
On premises
70
7. SoSware has many different distribuVon and use architectures
Client/server
71
7. SoSware has many different distribuVon and use architectures
Cloud compuVng (public and private)
72
7. SoSware has many different distribuVon and use architectures
SaaS/ASP/On-‐demand
73
7. SoSware has many different distribuVon and use architectures
Grid compuVng & other forms of
distributed compuVng
74
7. SoSware has many different distribuVon and use architectures
Peer-‐to-‐peer
75
7. SoSware has many different distribuVon and use architectures
Mobile compuVng
76
60 70 80 90 00 10 20
A BRIEF HISTORY of SOFTWARE
Mainframes Minicomputers PCs World Wide Web Mobile CompuAng Cloud CompuAng & Open Source
77
“There you have it”
78