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