supreme court of the united states · 10/23/2018 · as, a consultant to google in relation to the...

82
No. 18-956 I N THE Supreme Court of the United States GOOGLE LLC, Petitioner, V . ORACLE AMERICA,I NC., Respondent. On Petition for a Writ of Certiorari to the United States Court of Appeals for the Federal Circuit MOTION FOR LEAVE TO FILE BRIEF OF 78 AMICI CURIAE AND BRIEF OF 78 AMICI CURIAE COMPUTER SCIENTISTS IN SUPPORT OF PETITIONER Phillip R. Malone Counsel of Record JUELSGAARD I NTELLECTUAL PROPERTY AND I NNOVATION CLINIC MILLS LEGAL CLINIC AT STANFORD LAW SCHOOL 559 Nathan Abbott Way Stanford, CA 94305 (650) 725-6369 [email protected] Counsel for Amici Curiae

Upload: nguyentuyen

Post on 28-Feb-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

No. 18-956

IN THE

Supreme Court of the United States

GOOGLE LLC,

Petitioner,V.

ORACLE AMERICA, INC.,

Respondent.

On Petition for a Writ of Certiorarito the United States Court of Appeals

for the Federal Circuit

MOTION FOR LEAVE TO FILE BRIEF OF 78AMICI CURIAE AND BRIEF OF 78 AMICI

CURIAE COMPUTER SCIENTISTS INSUPPORT OF PETITIONER

Phillip R. MaloneCounsel of Record

JUELSGAARD INTELLECTUALPROPERTY ANDINNOVATION CLINIC

MILLS LEGAL CLINIC ATSTANFORD LAW SCHOOL

559 Nathan Abbott WayStanford, CA 94305(650) [email protected]

Counsel for Amici Curiae

1MOTION FOR LEAVE TO FILE BRIEF OFAMICI CURIAE COMPUTER SCIENTISTS

Amici are 78 computer scientists, engineers, andprofessors who are pioneering and influential figuresin the computer industry.1 Amici respectfully move,pursuant to Supreme Court Rule 37.2, for leave tofile the attached brief of amici curiae in support ofthe petition for a writ of certiorari. Based on theirextensive knowledge of and experience with softwaredevelopment and the software industry, amici areuniquely positioned to bring to the Court’s attentionimportant information that will not otherwise beprovided by the parties or other amici. Amici’s experthistorical, technical, and industry knowledge may beof considerable help to the Court in this case.

Amici’s experience is exceptionally broad anddeep. Amici include the architects of iconic computersfrom the mainframe era to the microcomputerera, the most widely used programming languages,and operating systems such as MS-DOS andUnix. They are responsible for key advancesin the field, such as computer graphics, cloudcomputing, public key cryptography, object-orientedprogramming, virtual reality, and the Internetitself. They wrote the standard college textbooksin areas including artificial intelligence, algorithms,computer architecture, computer graphics, computersecurity, data structures, functional programming,Java programming, operating systems, softwareengineering, and the theory of programming languages.

As some of the world’s foremost expertsin their field, amici are well suited to provide

1 Amici’s biographies are attached as Appendix A to theproposed brief.

2the Court with an authoritative explanation ofcomputer interfaces, particularly the Java ApplicationProgramming Interface (API) at issue in this case; ofthe Federal Circuit’s fundamental misunderstandingof how interfaces differ from programs; and of theexceptional importance of this case. Moreover, ascomputer scientists, amici have themselves reliedon reimplementing software interfaces to create andoperate new software. Amici bring an unparalleledperspective to assist the Court in understanding thiscase’s potential to upset the long-standing practicesand expectations of the software industry and theinnovation that has flourished under those practicesand expectations.

Many of the computer scientists listed on theproposed brief were amici in four previous briefs in thecourse of this litigation, including two briefs in supportof Petitioner on the merits at the Federal Circuit, onebrief in support of Petitioner’s petition for rehearing enbanc at the Federal Circuit, and one brief in support ofPetitioner’s first petition for a writ of certiorari to thisCourt.

Pursuant to Rule 37.2(a), amici provided noticeof intent to file the attached brief at least ten daysbefore its due date. Petitioner provided blanket consentfor the filing of amicus briefs. Respondent declinedto consent.2 Because amici represent a cross sectionof the world’s most distinguished computer scientistsand engineers, among the 78 amici are a smallnumber (five) who are current employees of Petitioner

2 Respondent indicated it would not consent if the briefincluded any amici who were current Google employees,independent contractors, or consultants, or who had served aswitnesses or retained experts in this case.

3(indicated by * next to their names in Appendix A); twowho receive some support from Google (indicated by**); two who testified as unpaid fact witnesses at trialin this case (indicated by †); and one who was retainedas an expert by Petitioner but did not testify (indicatedby ‡).

Each of those amici signs this brief based on theirpersonal experience and beliefs as individual computerscientists whose work in the field long preceded theiraffiliation with Petitioner or their participation in thiscase. They do not sign on behalf of Petitioner orat its request. Their interest in this case, like thatof all of the other amici, is solely to help explainto the Court the background, nature, and history ofAPIs and the critical importance of software interfacereimplementation for continued innovation across thecomputer industry.

Amici thus respectfully request leave to filethe attached amici curiae brief to aid the Court inunderstanding the technical details of this case and itsexceptional importance.

4Respectfully submitted,

Phillip R. MaloneCounsel of Record

JUELSGAARD INTELLECTUALPROPERTY ANDINNOVATION CLINIC

MILLS LEGAL CLINIC ATSTANFORD LAW SCHOOL

559 Nathan Abbott WayStanford, CA 94305(650) [email protected]

February 25, 2019

TABLE OF CONTENTS

TABLE OF AUTHORITIES.................................... ii

INTEREST OF AMICI CURIAE............................. 1

SUMMARY OF ARGUMENT................................. 2

ARGUMENT.......................................................... 4

I. The Decisions Below Reflect the FederalCircuit’s Fundamental Misunderstanding ofHow Interfaces Differ from Programs.............. 4

A. Software Interfaces Specify What aProgram Does, Not How It Does So........... 5

B. Google Reimplemented the Java API toPromote Interoperability and TransformedJava to Run on Smartphones....................12

II. This Case Is Exceptionally Important Becausethe Decisions Below Upend Decades of SettledExpectations and Threaten SoftwareInnovation......................................................16

A. The Computer Industry Has Long Reliedon Freely Reimplementing SoftwareInterfaces to Foster Innovation andCompetition..............................................17

B. Restricting the Reimplementation ofSoftware Interfaces Will Stifle Competitionby Increasing Entry Barriers....................22

C. Restricting the Reimplementation ofSoftware Interfaces Will ExacerbateLock-In Effects and Create an “OrphanSoftware” Problem....................................24

CONCLUSION.......................................................25

APPENDIX A — LIST OF AMICI CURIAE............1a

iiTABLE OF AUTHORITIES

Cases Page(s)Oracle Am., Inc. v. Google Inc. (Copyright I),

872 F. Supp. 2d 974 (N.D. Cal. 2012) ... passimOracle Am., Inc. v. Google Inc. (Copyright II),

750 F.3d 1339 (Fed. Cir. 2014) ......4, 13, 14, 15Oracle Am., Inc. v. Google Inc. (Fair Use I),

2016 WL 3181206 (N.D. Cal. 2016) .......14, 16Oracle Am., Inc. v. Google LLC (Fair Use II),

886 F.3d 1179 (Fed. Cir. 2018) ............5, 13, 15

ConstitutionsU.S. Const. art. I, § 8, cl. 8 ..................................25

Statutes17 U.S.C. § 101 ......................................................617 U.S.C. § 102(b) .................................................5

Other AuthoritiesCloud Storage Interoperability, Google Cloud

(last updated Oct. 23, 2018),https://cloud.google.com/storage/docs/interoperability ...........................................21

TIOBE Index for December 2018, TIOBE (lastvisited Dec. 5, 2018),https://www.tiobe.com/tiobe-index .................9

Trail: Essential Classes (The JavaTM Tutorials),Oracle (last visited Dec. 10, 2018),https://docs.oracle.com/javase/tutorial/essential/index.html ....................................16

Usage Statistics and Market Share of Unix forWebsites, W3Techs (Nov. 30, 2018),

iiihttps://w3techs.com/technologies/details/os-unix/all/all ..............................................19

Dave Burke, Android: Celebrating a BigMilestone Together with You, Google (May17, 2017), https://blog.google/products/android/2bn-milestone ...........................15, 19

Fred von Lohmann, The New Wave: Copyrightand Software Interfaces in the Wake ofOracle v. Google,31 Harv. J.L. & Tech. 517 (2018) .................23

Ira W. Cotton & Frank S. Greatorex, Jr., DataStructures and Techniques for RemoteComputer Graphics, Am. Fed’n Info.Processing Soc’ys Fall Joint ComputerConf. 533 (1968) ..........................................17

Jay Greene & Laura Stevens, “You’re Stupid IfYou Don’t Get Scared”: When Amazon Goesfrom Partner to Rival, Wall St. J. (June 1,2018, 5:30 AM ET), https://www.wsj.com/articles/how-amazon-wins-1527845402 .......23

Maurice V. Wilkes, David J. Wheeler & StanleyGill, The Preparation of Programs for anElectronic Digital Computer (1951) .............17

Rita Zhang, Access Azure Blob Storage fromYour Apps Using S3 Java API, Microsoft(May 22, 2016),https://www.microsoft.com/developerblog/2016/05/22/access-azure-blob-storage-from-your-apps-using-s3-api .......................21

Steven J. Vaughan-Nichols, Linux TotallyDominates Supercomputers, ZDNet (Nov.14, 2017, 12:04 PM PST),http://www.zdnet.com/article/linux-

1INTEREST OF AMICI CURIAE

Amici are 78 computer scientists, engineers, andprofessors who are pioneering and influential figuresin the computer industry.1 Amici include the architectsof iconic computers from the mainframe era to themicrocomputer era, including the IBM S/360 and theApple II; languages such as AppleScript, AWK, C, C#,C++, Delphi, Go, Haskell, PL/I, Python, RenderMan,Scala, Scheme, Standard ML, Smalltalk, andTypeScript; and operating systems such as MS-DOSand Unix.2 Amici are responsible for key advances inthe field, including in computer graphics, computeranimation, computer system architecture, cloudcomputing, algorithms, public key cryptography, thetheory of computation, object-oriented programming,

1 Pursuant to Rule 37.2(a), counsel for both parties receivednotice of intent to file this brief at least ten days before its duedate. Petitioner consented to the filing; Respondent declined toconsent. No counsel for a party authored this brief in whole orin part, and no party or counsel for a party made a monetarycontribution intended to fund its preparation or submission. Noperson other than the amici or their counsel made a monetarycontribution to the preparation or submission of this brief.

2 Amici’s biographies are attached as Appendix A. Amici signthis brief on their own behalf and not on behalf of the companies ororganizations with which they are affiliated; those affiliations arefor identification purposes only. Amici represent a cross section ofthe world’s most distinguished computer scientists and engineers.As such, the 78 amici include five who are presently Googleemployees (indicated by * next to their names); two who receivesome support from Google (indicated by **); two who testified asunpaid fact witnesses at trial in this case (indicated by †); andone who was retained as an expert by Google but did not testify(indicated by ‡). Each of these amici signs this brief based on theirpersonal experience and beliefs as individual computer scientistswhose work in the field long preceded their affiliation with Googleor their participation in this case. None sign on behalf of Googleor at Google’s request.

2relational databases, design patterns, virtual reality,the spreadsheet, and the Internet. Amici wrote thestandard college textbooks in areas including artificialintelligence, algorithms, computer architecture,computer graphics, computer security, data structures,functional programming, Java programming, operatingsystems, software engineering, and the theory ofprogramming languages.

Amici have been widely recognized for theirachievements. They include at least 12 Association forComputing Machinery (ACM) Turing Award winners(computer science’s most prestigious award); 24 ACMFellows; 11 Institute of Electrical and ElectronicsEngineers (IEEE) Fellows; 14 American Academyof Arts and Sciences (AAAS) Fellows; 6 NationalAcademy of Sciences Members; 24 National Academy ofEngineering Members; 5 National Medal of Technologyrecipients; and numerous professors at many of theworld’s leading universities.

As computer scientists, amici have relied onreimplementing interfaces to create fundamentalsoftware. They join this brief because they believe,based on their extensive experience with andknowledge of computer software and programming,that the decisions below threaten to upend decades ofsettled expectations across the computer industry andchill continued innovation in the field.

SUMMARY OF ARGUMENT

The Court should grant the petition fora writ of certiorari. Review of the decisionsbelow is exceptionally important because theyundermine a fundamental process—softwareinterface reimplementation—that has spurred

3historic innovation across the software industry fordecades.

Software interfaces, including those embodied inthe Java Application Programming Interface (API) atissue here, are purely functional systems or methodsof operating a computer program or platform. They arenot computer programs themselves. Interfaces merelydescribe what functional tasks a computer programwill perform without specifying how it does so. TheJava API’s functional interfaces, called declarations,are written using the Java programming language,which mandates each declaration’s precise form.

In contrast, implementations provide the actualstep-by-step instructions to perform each task includedin an interface. Sun implemented the Java API fordesktop computers. Google reimplemented—or wroteits own original implementation of—the Java API whenit created the Android platform for smartphones andtablets. Android was highly transformative: It enabledprograms written in the Java programming languageto successfully run on smartphones and tablets for thefirst time. Doing so required Google to make significantadditions to the Java API to handle mobile-specificfeatures, like touchscreen inputs.

Android also provided interoperability with Java:Programmers could use their preexisting knowledge tosimultaneously write Java programs for both desktopsand smartphones. Reimplementing the Java APIwas the only way to make Android interoperablewith Java. Reimplementation requires duplicating aninterface’s declarations and organizational scheme—itsstructure, sequence, and organization (SSO). HadAndroid changed the Java API’s declarations or SSO,programmers would have been forced to write different

4software for desktops and smartphones, eliminatingone of Android’s most significant benefits.

Google’s reimplementation of an existinginterface was not unusual. Reimplementing softwareinterfaces is a long-standing, ubiquitous practicethat has been essential to realizing fundamentaladvances in computing. It unleashed the personalcomputer revolution, created popular operatingsystems and programming languages, and establishedthe foundation upon which the Internet and cloudcomputing depend. It also increases consumer choice,lowers prices, and fosters compatibility betweenprograms. Free reimplementation of softwareinterfaces was, and continues to be, essential forinnovation and competition in software.

The Court should grant the petition for awrit of certiorari to preserve software interfaces asuncopyrightable and prevent copyright from stiflinginnovation in software.

ARGUMENT

I. The Decisions Below Reflect the FederalCircuit’s Fundamental Misunderstanding ofHow Interfaces Differ from Programs

The decisions below extend copyright protectionto software interfaces—including the Java API—byerroneously equating them with computer programs.Asserting that software interfaces are simply a typeof computer program, all of which are “by definitionfunctional,” the Federal Circuit misapplied generalNinth Circuit law recognizing computer programs ascopyrightable. See Oracle Am., Inc. v. Google Inc.(Copyright II), 750 F.3d 1339, 1367 (Fed. Cir. 2014). But

5software interfaces are not computer programs, and noparty argues that “one can copy line-for-line someoneelse’s copyrighted computer program.” Oracle Am., Inc.v. Google Inc. (Copyright I), 872 F. Supp. 2d 974, 987(N.D. Cal. 2012).

The Federal Circuit’s conclusory review failsto appreciate the district court’s reasoned—andcorrect—recognition of software interfaces asuncopyrightable under 17 U.S.C. § 102(b) and themerger doctrine. See Copyright I, 872 F. Supp.2d at 998-1000. The Federal Circuit compounded itserror by overturning a jury finding of fair use andholding that Google’s creation of Android was not fairuse as a matter of law. See Oracle Am., Inc. v. GoogleLLC (Fair Use II), 886 F.3d 1179, 1185-86 (Fed. Cir.2018).

Amici join Google’s arguments that softwareinterfaces cannot be copyrighted under either Section102(b) or the merger doctrine, and that in any event,Google’s creation of Android was fair use. Brieffor Petitioner at 16-29, Google LLC v. Oracle Am.,Inc., No. 18-956 (Jan. 25, 2019). In supportof those arguments, amici emphasize that softwareinterfaces correspond to functional ideas, that Googlehad to duplicate the Java API’s declarations exactlyto provide interoperability between Android and Java,and that Android was a transformative achievementthat successfully introduced Java to smartphones forthe first time.

A. Software Interfaces Specify What aProgram Does, Not How It Does So

A software interface specifies the set of commandsused to operate a computer program or system. Each

6command defines one functional task a program mustaccomplish, such as finding the maximum of twonumbers, sorting a list of numbers, or displaying texton the screen.

Each command in an interface includes itsname, inputs, and outputs. Together, these comprisethe command’s “declaration.” The declaration for acommand to find the maximum of two numbers, forexample, would include the name “max,” two numbersas inputs, and one number—the maximum—as output.Declarations are purely functional: They specify whata computer program or system needs to do withoutspecifying how it does so. By themselves, declarationsdo not instruct a computer to do anything.

In contrast, an interface’s implementation is theactual “set of statements or instructions to be useddirectly or indirectly in a computer in order to bringabout a certain result,” namely, carrying out the tasksspecified by its declarations. 17 U.S.C. § 101 (defining“computer program”). The same declaration can beimplemented in various ways to accomplish the sametask. Some implementations prioritize speed, othersmemory use. So long as an implementation carries outthe specified task, it is valid. While the “specificationis the idea,” the “implementation is the expression.”Copyright I, 872 F. Supp. 2d at 998 (emphasis inoriginal).

Because real-world software interfaces caninclude thousands of declarations, programmers grouprelated declarations into their own “folders,” just aseveryday computer users group related files into folderson their desktop. The courts and parties have referredto this organizational scheme throughout this litigation

7as the interface’s structure, sequence, and organization(SSO).

i. Declarations specify the individual tasksa program must perform

To better understand the relationship betweenan interface’s declarations, implementations, and SSO,consider the sort declaration in the Java API.3 InEnglish, this declaration would read, “Given a list ofnumbers, sort them in ascending order.” To expressthis functional requirement in terms a computer canunderstand, a programmer would write the followingdeclaration in the Java language4:

public static void sort(int[] a)

Before explaining each component of thisdeclaration, we emphasize that this line does notinstruct the computer to do anything. If a programmerattempted to run this “program,” nothing would happenbecause there are no instructions to run. The linesimply indicates that this declaration’s implementationwill include a command, which Java calls a “method,”for sorting numbers.

The Java language requires almost every wordin this declaration. A programmer must type thosewords exactly as they appear above, including the same

3 Courier denotes Java keywords and declarations.4 The Java language is one part of the Java platform (J2SE),

which also includes the API and API implementations (the latterare also called “libraries”). While the boundary between thelanguage and the API is indefinite, the language is generallyresponsible for defining the syntax and keywords programmersuse to write software. Only the API is at issue here. See CopyrightI, 872 F. Supp. 2d at 978.

8capitalization, punctuation, and order. Otherwise, thedeclaration will cause an error or specify a methodwith different functionality, like sorting words insteadof numbers. The word public is a Java languagekeyword that enables other programs to use sortonce it has been implemented (other keywords, likeprivate, restrict other programs’ access to a method).Similarly, the Java language requires static for sortto work as expected.5 The void keyword means thatthe method does not have any output; rather thanoutput a sorted copy of the list, sort simply rearrangesthe given list of numbers. Finally, the parenthesesenclose the method inputs. Here, the only input is thelist of integers to be sorted—designated by the Javakeyword int[].

In contrast, only two words in the declarationleave the programmer any choice, and both are names.The first is sort itself. This word descriptively namesthe method based on the task its implementationwill perform. While it would be possible to usea synonym—perhaps “arrange” or “order”—for thesame method, few names are as intuitive as sort todescribe the task this method’s implementation willperform. Particularly short and intuitive names forcommon operations like sort even become customaryterms of art used across interfaces.6 Because the

5 The Java language primarily views programs in terms ofinteractions among “objects” representing the program’s data.Related objects are members of the same “class.” Adding thestatic keyword to a method declaration allows that methodto be called on all objects of a class even if the method could notbe added to the class directly, as is the case here. Thus, for sortto work across any list of numbers, rather than one particular list,its declaration must include static.

6 As of December 2018, seven of the top ten most usedprogramming languages (Java, Python, C++, Visual Basic .NET,

9programmers who design and use a software interfaceare typically different people, declaration names mustbe intuitive and succinctly describe their purpose topromote efficiency and minimize errors.

Similarly, a names the input “array,” or list,of numbers to be sorted. Just as with sort, theprogrammer designing the interface chooses the input’sname. Other options could be “array,” “numbers,” or“list.” But just as with sort, the universe of potentialnames is small and further restricted by linguisticconvention. While software interface designers havesome choice for naming methods and inputs, themethod’s function, word length, and clarity constraintheir choice. Particularly for programming languageinterfaces, which define the most basic commands usedacross programs, there are few practical options fornaming declarations that satisfy these constraints.

ii. Implementations provide thestep-by-step instructions to perform thetasks declarations specify

Once a software interface has been designed,programmers can supply implementations to carryout the tasks specified by its declarations. Google,for example, wrote its own implementations for theJava API’s declarations. Implementations take theinputs listed in declarations and manipulate themto produce the correct output. While the syntaxof the programming language dictates the form ofeach declaration, implementations are open-endedand can be thousands of lines long. Naïve

C#, JavaScript, and PHP) include a command called sort toarrange a list in ascending order. See TIOBE Index for December2018, TIOBE (last visited Dec. 5, 2018), https://www.tiobe.com/tiobe-index.

10implementations can be prohibitively slow or useexcessive amounts of memory. In contrast, cleverimplementations can run quickly enough to makeformerly unfeasible operations practical or conserveenough memory to allow programs to run on entirelynew hardware—such as phones, tablets, televisions, oreven home thermostats—that have far less memoryavailable than desktop computers.

Computer scientists have evaluated dozens ofimplementations for sort. One of the simplestimplementations is “selection sort.” Given a list ofnumbers, a selection sort implementation starts atthe beginning of the list and walks through numberby number, keeping a running tally of the smallestnumber it has found. Once it reaches the end of thelist, it swaps the smallest number with the numberat the beginning of the list. Then, the programsearches through the remainder of the list a secondtime, this time looking for the second smallest numberto swap into the second position. This process repeatsuntil the program has swapped every number into itscorrect position. Unfortunately, this implementation isprohibitively slow for large lists of numbers.

More sophisticated implementations for sort,like “quicksort” or “mergesort,” can sort even largelists efficiently. With modern data sets comprisinghundreds of millions or even billions of numbers,names, or images, inefficient sorting implementationslike selection sort make entire categories of programsimpossible to use. Because different devices havedifferent constraints, software engineers devoteconsiderable effort to choosing the best implementationto meet their specific needs. Their choice could meanthe difference between the success of two competingpieces of software.

11iii. SSOs establish how software interfaces

group related declarations

Because interfaces can include tens of thousandsof declarations, their designers organize relateddeclarations in the same way users organize relatedfiles into folders on their desktop. In fact, Java’sdesigners organized the Java API’s files in exactly thisway. See Figure 1.

Figure 1

Java’s API is organized in three tiers: packages,classes, and methods. Packages correspond to folders,classes to files, and declarations to individual linesin a file. The full file path for sort, for example, isjava.util.Arrays.sort. The overall folder for theinterface is named java, while util, short for utility,is the name of the package, or subfolder, containingthe API’s various general-purpose classes. One suchclass, Arrays, is a file that contains methods formanipulating lists of objects, like numbers. One ofthe lines in Arrays is the declaration given above forsort.

Programmers who reimplement, or provide theirown implementation for, an interface must maintainits SSO. Just as users must know how to navigate totheir saved documents, programmers using a softwareinterface must specify the path for each declaration

12they use, like sort, so that the computer knows whereto find the corresponding implementation. Telling aperson to click on “My Documents,” then on a foldercalled “Receipts,” and finally on a file called “Sofa” tofind how much their sofa cost is just like a programnavigating through the Java API to a package calledutil and opening a class called Arrays to find theimplementation for the sort method.

Changing this standard organizational schemewould prevent a person or a program from locatingthe file or implementation they need, rendering theinterface specification incompatible. Thus, whileinterface designers have some choice in naming theirmethod declarations and inputs, programmers who arereimplementing an existing interface, like Google didwith the Java API, must use the same standard namesand structure to achieve interoperability.

B. Google Wrote Its Own Implementationof the Java API to PromoteInteroperability and Transform Javato Run on Smartphones

Google created the Android platform to promoteinteroperability and enable Java to run on an entirelynew class of devices: smartphones. This requiredGoogle to reimplement the Java API: It duplicatedthe Java API’s declarations and SSO but wrote itsown implementations. See Copyright I, 872 F. Supp.2d at 978. It would have been impossible for Google tomake Android interoperable, or compatible, with Javawithout reimplementing the Java API.7 In this context,making software interoperable means reimplementinga software interface.

7 Though we follow convention in using interoperability andcompatibility interchangeably, some computer scientists

13In both of its opinions, the Federal Circuit

questioned Google’s claim that Android reimplementedthe Java API to promote interoperability withJava because programs written for Android arenot fully compatible with Java. Fair Use II, 886F.3d at 1206 n.11 (finding evidence “unrebutted”that “Google designed Android to be incompatiblewith the Java platform”); see also Copyright II,750 F.3d at 1371 (finding “Google’s interoperabilityargument confusing”). But complete compatibilityis not necessary, or even desirable, to promoteinteroperability in software development.

Because of its longevity, Java, and almostevery other computer system, must remainbackwards-compatible. Any program written inearlier versions of Java must also run on later versions,or programmers would be unable to make cumulativeimprovements and the software ecosystem wouldbreak down. However, this also means that inefficientor outdated software survives several generations ofsoftware development solely to maintain compatibility.

To avoid this problem, Google selectivelyreimplemented portions of the Java API for Androidto eliminate functionality that was obsolete orinappropriate for smartphones, like using a mouse. SeeCopyright I, 872 F. Supp. 2d at 978. Rather than copy

distinguish compatibility as one-way functionality andinteroperability as two-way functionality. For example, underthis distinction, new versions of Microsoft Word are compatiblewith older versions because users can save documents in Word2003 and open them in Word 2017. New versions of Word arenot interoperable, however, because the converse is not true. Incontrast, Oracle’s requirement that companies obtain a JavaCompatibility Kit (JCK) license to demonstrate “compatibility” ismerely a licensing scheme, not a technical necessity.

14Sun’s implementations, Google was careful to write its own implementations to carry out the tasks the Java API’s declarations specify. Google’s decision empowered software developers to write Java programs that run equally well on both desktops and smartphones. See Oracle Am., Inc. v. Google Inc. (Fair Use I), 2016 WL 3181206, at *10 (N.D. Cal. 2016).

Android was highly transformative. Amici agree with the district court that “Sun and Oracle never successfully developed its own smartphone platform using Java technology.” Copyright I, 872 F. Supp. 2d at 978.8 Creating Android required Google to significantly expand Java’s API in novel ways to account for external features and constraints unique to the smartphone context: built-in GPS tracking, limited battery life and memory, fluctuating network connections, and an entirely new user interface based on touchscreen gestures. See Fair Use I, 2016 WL 3181206 at *9.

These significant augmentations to Java’s APIintroduced Java to an entirely new Android platformthat, with over two billion monthly active devices,now has the “largest reach of any computing platformof its kind.” Dave Burke, Android: Celebratinga Big Milestone Together with You, Google (May

8 While Sun did release Java ME to run Java on feature phones,these devices are far less sophisticated than modern smartphones.Moreover, Java ME did not support the entire Java language,omitting basic features like numbers with decimal points (knownas floating point arithmetic). Finally, Java ME did not support keyJava API features like the Java Collections Framework, which ispart of java.util, a package necessary “to make any worthwhileuse of the [Java] language.” Copyright II, 750 F.3d at 1349. Thus,Java ME was far less compatible with standard Java than Android,and Java ME’s failure to include such core functionality onlyunderscores how transformative Android was.

,

1517, 2017), https://blog.google/products/android/2bn-milestone. Programmers using only the reimplementedpackages can write programs for desktops andsmartphones using the same familiar instructions.Additionally, because Java and Android are bothopen source (meaning anyone can read theirimplementations), Google’s focus on interoperabilityhas enabled outside programmers, including manyamici, to contribute improvements to both platformssimultaneously. Contrary to the Federal Circuit’sassertion that there was no evidence of programsthat rely only on Google’s reimplemented packages,or that “[no] such program would be useful,” CopyrightII, 750 F.3d at 1371 n.15, Java and Android formparts of a broad and largely compatible ecosystem thatdrastically simplifies writing software for desktops andsmartphones.

Android revitalized this ecosystem, inspiringrenewed innovation and collaboration amongprogrammers. Sun’s CEO publicly congratulatedGoogle upon Android’s release on his official companyblog and expressed support for Android. See Brief ofDefendant-Appellee/Cross-Appellant Google Inc. at17-18, Fair Use II, 886 F.3d 1179 (Docket No. 17-1118),2017 WL 2305681. Sun’s CEO also emailed Google’sCEO directly to offer his congratulations on Android’ssuccess and to suggest further improvements. See id.at 18-19. After acquiring Sun, even Oracle initiallypraised Google for expanding Java to new devices. Seeid. at 19.

Sun had always promoted the Java API, alongwith the Java language, as free and open for all to use.See id. at 9-10. Many amici, along with instructors athigh schools and colleges across the country, decided

16to teach Java in introductory programming coursesprecisely because of its free availability. Assertionsthat the Java API might be copyrightable only emergedafter Oracle acquired Sun in 2010. While Oracle doesnot dispute that the Java language is free and open forall to use, it asserts a copyright interest in the Java API.Copyright I, 872 F. Supp. 2d at 978. Even then, Oracleconcedes that at least sixty-two classes, spread acrossthree Java API packages, are necessary for the Javalanguage to work. Fair Use I, 2016 WL 3181206 at *5.

As professors, textbook authors, and industryleaders, amici have broad experience with bothteaching and using the Java language and do notconsider it to be fully separable from the Java API.Amici agree with the district court that “there isno bright line” between them. Copyright I, 872 F.Supp. 2d at 982. The API is part of what makesthe Java language, Java. Indeed, Oracle’s own onlinetutorials consider portions of the Java API—includingpackages like java.util.regex that it accusesGoogle of infringing—“essential to most programmers”for programming in Java. Trail: Essential Classes(The JavaTM Tutorials), Oracle (last visited Dec. 10,2018), https://docs.oracle.com/javase/tutorial/essential/index.html.

II. This Case Is Exceptionally ImportantBecause the Decisions Below UpendDecades of Settled Expectations andThreaten Software Innovation

Software interfaces are essential to innovation.For decades, programmers have relied uponreimplementing interfaces to create fundamentallytransformative technologies. Reimplementing softwareinterfaces also promotes innovation by countering

,

17network effects and lock-in effects that inhibitcompetition. It is exceptionally important that theCourt review the decisions below to preserve softwareinterface reimplementation and the vitality of thesoftware industry.

A. The Computer Industry Has LongRelied on Freely ReimplementingSoftware Interfaces to FosterInnovation and Competition

Oracle’s attempt to assert copyright in the JavaAPI is historically anomalous and jeopardizes theunparalleled innovation and competition that continueto flourish across the computer industry. The firstpractical description of an API appeared in 1951,see generally Maurice V. Wilkes, David J. Wheeler& Stanley Gill, The Preparation of Programs for anElectronic Digital Computer (1951), and the specificphrase “application programming interface” datesto at least 1968, see Ira W. Cotton & Frank S.Greatorex, Jr., Data Structures and Techniques forRemote Computer Graphics, Am. Fed’n Info. ProcessingSoc’ys Fall Joint Computer Conf. 533, 534-35 (1968).Programmers have freely reimplemented softwareinterfaces throughout the ensuing decades. Bycreating standard specifications for computer programsto communicate with each other, uncopyrightablesoftware interfaces have promoted competition inpersonal computing and led to the rise of popularoperating systems, programming languages, theInternet, and cloud computing.

18i. Software interfaces unleashed the

personal computer revolution

Reimplementing software interfaces madepersonal computing commonplace. IBM released itsfirst home computer in 1981. Software companiesdeveloped an ecosystem of products to run on IBM’smachine, including the popular spreadsheet programLotus 1-2-3. To run these programs, however, users hadto purchase IBM’s PC because the programs requiredfull compatibility with IBM’s basic input-outputsystem (BIOS) responsible for starting the operatingsystem and initializing the computer’s hardwarewhen turned on. To compete with IBM, othercomputer manufacturers, like Compaq, and softwarecompanies, like Phoenix, reimplemented the BIOS API,including its SSO, to enable users to run their favoriteIBM-compatible software on competing machines.

Thus, reimplementing the BIOS API resultedin the manufacture and sale of faster, cheaper, andcompatible alternatives to IBM’s PC, including DOS,the operating system responsible for Microsoft’s earlysuccess. If copyright had prevented competitorsfrom reimplementing IBM’s BIOS API and makingIBM-compatible PCs, companies like Microsoft wouldnever have been able to revolutionize personalcomputing.

ii. Software interfaces created the world’smost ubiquitous operating systems

Operating systems, the fundamental programsresponsible for managing all of a computer’s hardwareand software resources, depend on software interfacereimplementation. The first modern operating system,Unix, was co-developed by amicus Ken Thompson

19at AT&T Bell Labs and released in 1969. AT&Tlicensed Unix’s source code to academic institutions fora nominal fee, leading to widespread adoption. Becausecommercial licenses from AT&T were costly andrestrictive, and because hardware evolutions outpacedAT&T’s Unix API, programmers reimplemented theAPI themselves.

Today, nearly 70% of websites run on Unix-basedoperating systems, including the popular open sourceoperating system Linux. See Usage Statistics andMarket Share of Unix for Websites, W3Techs (Nov.30, 2018), https://w3techs.com/technologies/details/os-unix/all/all. Linux alone runs nearly 40% of Internetservers and the 500 fastest supercomputers in theworld. See id; Steven J. Vaughan-Nichols, LinuxTotally Dominates Supercomputers, ZDNet (Nov. 14,2017, 12:04 PM PST), http://www.zdnet.com/article/linux-totally-dominates-supercomputers. Android’soperating system, the most popular in the world, seeBurke, is itself built atop Linux. Apple, co-founded byamicus Steve Wozniak, also reimplemented the UnixAPI for its desktop OS X and mobile iOS operatingsystems. Programmers’ ability to reimplement theUnix API established a standardized design for thefundamental program running on any computer: itsoperating system.

iii. Software interfaces fueled widespreadadoption of popular programminglanguages

One of the most influential programminglanguages, C, became widespread due to the relativeease of reimplementing its API to enable C programsto run on different hardware. Open source enthusiastsreimplemented a version of C compatible with Unix,

20and industry leaders like Microsoft and Googlereimplemented C for their own products. Other popularprogramming languages like C++, created by amicusBjarne Stroustrup, also proliferated due in part toreimplementations of their APIs.

Similarly, Sun reimplemented existing APIsfor Java. Java reimplemented C’s math API,which includes methods for calculating a variety ofmathematical functions. While at Sun, amicus JoshuaBloch oversaw Sun’s reimplementation of the Perlprogramming language’s regular expression API forJava, which allows sophisticated text searches andalterations. Oracle’s attempt to copyright Java’s APIand hold Google liable for infringement of the resultingjava.util.regex API ignores Java’s own history ofAPI reimplementation.

iv. Software interfaces enable computernetworks, including the internet, tofunction

The Internet relies on programmers’ abilityto reimplement standardized interfaces to transmitdata. Copyrighting those interfaces would defeatthe Internet’s goal of creating a global network ofinterconnected computers. In 1983, the BerkeleySystems Research Group released the BerkeleySystems Distribution (BSD) sockets API. Socketscontrol the endpoints for any communication overthe Internet. Because the BSD sockets API wasnot copyrighted, it became widely adopted: Everymajor operating system reimplemented it to enableInternet communication. Thus, programmers can writestandardized software compatible across computers tomanage Internet connectivity.

21v. Software interfaces are fundamental to

cloud computing

Finally, reimplementing software interfaces hasbeen, and continues to be, fundamental to cloudcomputing. With cloud computing, developers can rentpowerful computer hardware to run resource-intensivecomputations, like machine-learning algorithms,without having to purchase and manage expensivehardware themselves. Amazon’s Web Services (AWS)API serves as the de facto industry standard for cloudcomputing. AWS itself reimplemented IBM’s BIOS API,enabling familiar BIOS commands to run on Amazon’sservers. AWS therefore allows programmers to writeprograms as if they were running on a standard PCrather than learn commands unique to Amazon.

Major competitors, including Microsoft andGoogle, have in turn adopted AWS’s API. SeeRita Zhang, Access Azure Blob Storage from YourApps Using S3 Java API, Microsoft (May 22,2016), https://www.microsoft.com/developerblog/2016/05/22/access-azure-blob-storage-from-your-apps-using-s3-api; Cloud Storage Interoperability,Google Cloud (last updated Oct. 23, 2018),https://cloud.google.com/storage/docs/interoperability.Rather than compete on the API’s design, cloudproviders compete on business factors—like priceand customer service—and on implementationfactors—like latency, downtime, and redundancy.Software interface reimplementation therefore fosterscompetition in the cloud by allowing customers totransfer their data or programs to competing cloudproviders that offer cheaper or better service withouthaving to learn an entirely new interface or rewritetheir software to conform to a new specification.

22B. Restricting the Reimplementation

of Software Interfaces Will StifleCompetition by Increasing EntryBarriers for Startups

The decisions below jeopardize the market forsoftware. Reimplementing software interfaces enablesstartups to counter network effects and compete withestablished players. Network effects arise when aservice’s value increases along with its number ofusers. They make users unlikely to switch even totechnically “better” competing software services thathave not yet established a large userbase becausemuch of a service’s value comes from its community ofusers and its secondary market of compatible services.For example, a developer might choose not to learna new programming language unless it is used bypotential employers, even if that language is moreintuitive than others and produces efficient results.On the other hand, an archaic language used byinstitutional employers is worth learning, regardless ofits inefficiencies. Uncopyrightable software interfacesaddress network effect barriers by enabling startupsto plug into existing systems and grow throughcumulative improvements.

Just as the first car would look laughabletoday, the first word processing software would be alaughable replacement for modern applications. Yeta steering wheel, turn signals, and gas and brakepedals have been standard in cars for over a century.If Tesla had to re-invent the standard driving interfaceto make electric-powered cars, it would face highbarriers in attracting new customers. See Fred vonLohmann, The New Wave: Copyright and SoftwareInterfaces in the Wake of Oracle v. Google, 31 Harv.

23J.L. & Tech. 517, 517 (2018). In software, treatinginterfaces as copyrightable would be like requiring carmanufacturers to invent a substitute for the steeringwheel. Startups would not risk manufacturing such acar, and even if they did, consumers likely would notpurchase it.

Furthermore, extending copyright to softwareinterfaces would enable companies, like Sun, tomonopolize standard interfaces. Companies couldinitially make their interfaces freely available tolure developers to their platform, and then, afterattracting a significant number of developers, demanda licensing fee for further use. These fees wouldbe passed on to consumers, making software moreexpensive. Copyrightable interfaces could also curtailemployee mobility because different employers woulduse competing proprietary APIs, and employees withexpertise in one proprietary API would be lessdesirable to employers using another. Innovation couldstagnate.

Amazon, for example, could follow Oracle’s leadand use the decisions below to force every companythat has reimplemented its cloud storage APIs topay a licensing fee, stifling competition in a vibrantmarket valued at $42 billion in 2017 and projected toreach $72 billion by 2019. See Jay Greene & LauraStevens, “You’re Stupid If You Don’t Get Scared”: WhenAmazon Goes from Partner to Rival, Wall St. J. (June1, 2018, 5:30 AM ET), https://www.wsj.com/articles/how-amazon-wins-1527845402. Amazon could gaina monopoly over cloud storage until its competitorsredesigned their systems from scratch to avoidinfringing on Amazon’s APIs. The decisions below willmake copyright an additional tool for incumbents tostave off competition.

24Relying on fair use is no answer. A fair use

standard creates uncertainty because it depends onfact-intensive, case-by-case determinations which canresult, as demonstrated by this case, in lengthy andprohibitively expensive litigation. Rather than riskcrippling lawsuits, startups will choose not to enter themarket at all or will undertake inefficient workarounds.Conditioning API reimplementation on fair use wouldimpede innovation and competition almost as muchas denying reimplementation outright: Users willsuffer from fewer product choices, higher prices, andincompatible software.

C. Restricting the Reimplementation ofSoftware Interfaces Will ExacerbateLock-In Effects and Create an “OrphanSoftware” Problem

Reimplementing software interfaces protectsconsumers from lock-in effects by promotinginteroperability among operating systems, programs,and Internet browsers. Consumers depend onoperating systems that run on their hardware,programs that run across operating systems, andInternet applications that run across browsers. Underthe decisions below, software interfaces enablinginteroperability might require expensive licenses, andtheir owners could significantly restrict their use.Consumers will face higher prices and fewer choices.Software will become harder to use because switchingto a competing service will require users to learn anunfamiliar interface. Rather than switch to moreinnovative software, users will remain locked in tooutdated systems.

If software interfaces are copyrightable, itwill become economically infeasible to continue

25using orphan software, i.e., software no longersupported or updated by its creator. Previously,when copyrighted software became unsupported,developers could reimplement its interface to allowit to run on new systems. When NASA neededto refurbish old manufacturing robots for a project,for example, it contracted with a company toreimplement the interface necessary for integratingnewly manufactured memory chips with the old robothardware. Had the interface been copyrighted, NASAwould have needed to purchase new robots at asignificantly higher cost.

Restricting the reimplementation of softwareinterfaces could make generations of software unusableby the people and organizations who paid for them,hindering, rather than promoting, “the Progress ofScience and useful Arts.” U.S. Const. art. I, § 8, cl.8. Copyrightable interfaces would particularly harmpublic, nonprofit, and research-based entities becauseof their limited resources, undermining crucial servicesfor public health and safety, national defense, andaccess to justice.

CONCLUSION

The Court should grant the petition for a writof certiorari to review the decisions below and ensurecontinued innovation and competition in the softwareindustry.

26Respectfully submitted,

Phillip R. MaloneCounsel of Record

JUELSGAARD INTELLECTUALPROPERTY ANDINNOVATION CLINIC

MILLS LEGAL CLINIC ATSTANFORD LAW SCHOOL

559 Nathan Abbott WayStanford, CA 94305(650) [email protected]

February 25, 2019

1aAPPENDIX A — LIST OF AMICI CURIAE

(In alphabetical order)

Amici sign this brief on their own behalf andnot on behalf of the companies or organizations withwhich they are affiliated; those affiliations are foridentification purposes only.1

1. Harold Abelson.** Dr. Harold “Hal” Abelson is aProfessor of Electrical Engineering and ComputerScience at MIT, a fellow of the IEEE, and a foundingdirector of both Creative Commons and PublicKnowledge. He directed the first implementation ofthe Logo computing language for the Apple II, whichmade the language widely available on personalcomputers beginning in 1981, and published apopular book on Logo in 1982. Abelson co-developedMIT’s introductory computer science subject, whichincluded innovative advances in curricula designedfor students pursuing different kinds of computingexpertise. These curricula had a worldwide impacton university computer science education. Notableawards include the Bose Award (MIT School ofEngineering, 1992), the Taylor L. Booth EducationAward (IEEE-CS, 1995), and the SIGCSE 2012Outstanding Contribution to Computer Science

1 The * indicates five amici who are current Google employees,** indicates two amici who receive some support from Google, †

indicates two amici who testified as unpaid fact witnesses at trialin this case, and ‡ indicates one amicus who was retained as anexpert by Google but did not testify at trial. Each of these amicisign this brief based on their personal experience and beliefsas individual computer scientists whose work in the field longpreceded their affiliation with Google or their participation in thiscase.

2aEducation (ACM, 2012). Abelson holds an A.B. fromPrinceton University and a Ph.D. in mathematicsfrom MIT.

2. Brian Behlendorf. Brian Behlendorf is ExecutiveDirector of Hyperledger, an open source blockchaintechnology collaborative based at the LinuxFoundation. He also serves as Chairman of theBoard of the Electronic Frontier Foundation, and amember of the boards of the Mozilla Foundation andBenetech. He also co-founded the Apache SoftwareFoundation, has worked as CTO for the WorldEconomic Forum, advised and served the WhiteHouse on open data and open source software issues,and co-founded a string of successful startups.

3. Jon Bentley. Jon Bentley’s research interestsinclude programming techniques, algorithm design,and the design of software tools and interfaces.He has written three books on programming andover a hundred articles on a variety of topics,ranging from the theory of algorithms to softwareengineering. He received a B.S. from Stanford in1974 and an M.S. and Ph.D. from the Universityof North Carolina in 1976, then taught ComputerScience at Carnegie Mellon for six years. He joinedBell Labs Research in 1982, where he became aDistinguished Member of Technical Staff. He leftBell Labs in 2001 to join Avaya Labs Research, fromwhich he retired in 2013. He has been a visitingfaculty member at West Point and Princeton, andhas been a member of teams that have shippedlibrary functions, software tools, telephone switches,telephones and web services. He holds over 40 USPatents. In March 2000 he received the Dr. Dobb’s

3aExcellence in Programming Award for “advancingthe craft of computer programming.”

4. Matthew Bishop. Matthew Bishop received hisPh.D. in computer science from Purdue University,where he specialized in computer security, in1984. He is on the faculty at the Department ofComputer Science at the University of Californiaat Davis. His main research area is the analysisof vulnerabilities in computer systems, includingmodeling, detecting, and analyzing them. Currently,he has research projects involving data sanitization,modeling election processes, and analyzing attacks.He is co-leading an education project aimed atimproving the practice of programming usinga “secure programming clinic” to help studentsimprove the robustness and security of theirprograms. He has been active in the area ofUNIX security since 1979, and has presentedtutorials at SANS, USENIX, and other conferences.He also has done work on electronic voting, andwas one of the two principle investigators of theCalifornia Top-to-Bottom Review, which performeda technical review of all electronic voting systemscertified for use in the State of California. Histextbook, Computer Security: Art and Science(Addison-Wesley, 2002), is used at many academicinstitutions throughout the world.

5. Joshua Bloch.† Joshua Bloch is an expert on APIdesign, with over a quarter century of experience.He is a Professor of Computer Science at CarnegieMellon University. Previously, he was Chief JavaArchitect at Google, a Distinguished Engineer atSun Microsystems, and a Senior Systems Designerat Transarc Corporation. He led the design

4aand implementation of numerous Java APIs andlanguage features, including the award-winningJava Collections Framework. He is the authorof several books, including the bestselling, JoltAward-winning Effective Java (Addison-Wesley,2001; Second Edition, 2008), the de facto standardguide to Java best practices. He served on theNational Academies CSTB Certifiably DependableSoftware Committee. He holds a B.S. from Columbiaand a Ph.D. in Computer Science from CarnegieMellon University.

6. Gilad Bracha. Gilad Bracha is the creator ofthe Newspeak programming language and a wellknown researcher in the area of object-orientedprogramming languages. He was awarded thesenior Dahl-Nygaard prize in 2017. Previously, hehas worked at Google, as a VP at SAP Labs inPalo Alto, a Distinguished Engineer at Cadence,and a Computational Theologist and DistinguishedEngineer at Sun. He has authored or co-authoredseveral books including the Java Language andVirtual Machine Specifications, and the DartProgramming Language. Prior to joining Sun, heworked on Strongtalk, the Animorphic SmalltalkSystem. He received his B.Sc in Mathematics andComputer Science from Ben Gurion University inIsrael and a Ph.D. in Computer Science from theUniversity of Utah.

7. Daniel Bricklin. Daniel “Dan” Bricklin is bestknown for conceiving and co-developing VisiCalc,the pioneering electronic spreadsheet, while he wasa student at the Harvard Business School. VisiCalc,released in 1979, is widely credited for fueling therapid growth of the personal computer industry.

.

5aThere is a direct line of upward-compatibilityfor data files from VisiCalc to Lotus 1-2-3 toMicrosoft Excel and then to Google Docs. Priorto VisiCalc, he worked at Digital EquipmentCorporation developing early screen-based wordprocessing software. He is the author of a popularapp for the Apple iPad, and is currently ChiefTechnology Officer of Alpha Software Corporation.Mr. Bricklin is a member of the National Academyof Engineering, a Fellow of the Computer HistoryMuseum, an Association for Computing Machinery(ACM) Fellow, and a recipient of the ACM SoftwareSystem Award, the ACM Grace Murray HopperAward, and the Western Society of EngineersWashington Award. Mr. Bricklin holds a BS inElectrical Engineering/Computer Science from MITand an MBA from the Harvard Graduate School ofBusiness Administration.

8. Frederick Brooks. Frederick Brooks is theKenan Professor of Computer Science (Emeritus)at University of Northern Carolina at ChapelHill. As Corporate Project Manager for IBM’sSystem/360 (mainframe) computer family hardwareand the Operating System/360 software, he in 1964switched the standard computer byte size from6 to 8 bits. He was an architect of the Stretchand Harvest supercomputers. He founded UNC’sComputer Science Department. He’s researchedcomputer architecture, software engineering, thedesign process, and graphics virtual environments.He wrote The Mythical Man-Month, The Designof Design, and with G.A. Blaauw, ComputerArchitecture. Honors include the National Medal ofTechnology, the ACM Turing award, the National

6aAcademies of Engineering and Sciences, and Britishand Dutch academies.

9. Edwin Catmull. Edwin “Ed” Catmull is co-founderof Pixar Animation Studios and was presidentof Pixar Animation and Disney Animation, vicepresident of Lucasfilm Computer Division, and headof the Computer Graphics Laboratory at the NewYork Institute of Technology. He is an architectof the RenderMan rendering software, which wasused in 44 of the last 47 films nominated for anAcademy Award in the Visual Effects category.Catmull was honored with five Academy Awardsincluding the Gordon E. Sawyer Award for lifetimeachievement in the field of computer graphics. Healso holds the IEEE John von Neumann Medal forpioneering contributions to the field of computergraphics, the ACM SIGGRAPH Steven Anson CoonsAward for Outstanding Creative Contributions toComputer Graphics, the Carnegie Mellon UniversityEntertainment Technology Center Randy PauschAward, the Progress Medal and the Fuji Gold Medalawards from the Society of Motion Picture andTelevision Engineers, and the animation industry’sUb Iwerks Award for technical advancements in theart or industry of animation. Catmull is a Fellowof the Association for Computing Machinery, theComputer History Museum, and the Visual EffectsSociety. He received his Ph.D. in computer sciencefrom the University of Utah.

10. Rick Cattell.‡ R. G. G. “Rick” Cattell is anindependent consultant in database systems. Hepreviously worked as a Distinguished Engineer atSun Microsystems. Dr. Cattell served for 20 yearsat Sun Microsystems in management and senior

7atechnical roles, and for 10 years in research atXerox PARC and Carnegie Mellon University. Heis best known for his contributions in databasesystems and middleware, including databasescalability, Enterprise Java, object/relationalmapping, object-oriented databases, and databaseinterfaces. At Sun he instigated EnterpriseJava, JDBC, Java DB, and Java Blend, andcontributed to many Java APIs and products.He previously developed Xerox PARC’s CedarDBMS, Sun’s Simplify database GUI, and SunSoft’sCORBA-database integration. He is a co-founderof SQL Access (predecessor to ODBC), founderand chair of the Object Data Management Group(ODMG), author of the world’s first monograph onobject/relational and object databases, recipient ofthe ACM Outstanding Ph.D. Dissertation Award,and an ACM Fellow.

11. Vinton G. Cerf.* Vinton G. “Vint” Cerf is anInternet pioneer, and VP and Chief InternetEvangelist for Google, where he contributes toglobal policy development and the continued spreadof the Internet. Widely known as one of the“Fathers of the Internet,” Cerf is the co-designerof the TCP/IP protocols and the architecture ofthe Internet. He has served in executive positionsat MCI, the Corporation for National ResearchInitiatives, the Defense Advanced Research ProjectsAgency, and on the faculty of Stanford University.Cerf served as chairman of the board of the InternetCorporation for Assigned Names and Numbers(ICANN) from 2000-2007. Cerf is a Fellow ofthe IEEE, ACM, and the American Academy ofArts and Sciences, the International EngineeringConsortium, the Computer History Museum, and is

8aa member of the National Academy of Engineering.He is a former President of the ACM and FoundingPresident of the Internet Society. President Obamaappointed him to the National Science Board in2012. Cerf is a recipient of numerous awards andcommendations in connection with his work on theInternet, including the US Presidential Medal ofFreedom, US National Medal of Technology, theQueen Elizabeth Prize for Engineering, the ACMTuring Award, Officer of the Legion d’Honneur and29 honorary degrees. In December 1994, Peoplemagazine identified Cerf as one of that year’s “25Most Intriguing People.” Cerf holds a B.S. fromStanford, and an M.S. and Ph.D. from UCLA.

12. David Clark. David Clark received his PhDfrom MIT in 1973. He is a Senior ResearchScientist at the MIT Computer Science and ArtificialIntelligence Laboratory. He is technical directorof the MIT Internet Policy Research Initiative.Since the mid-70s, he has been leading thedevelopment of the Internet; from 1981-1989he acted as Chief Protocol Architect in thisdevelopment, and chaired the Internet ActivitiesBoard. He is past chairman of the Computer Scienceand Telecommunications Board of the NationalAcademies, and has contributed to a number ofstudies on the societal and policy impact of computercommunications. He is a member of the NationalAcademy of Engineering and the American Academyof Arts and Sciences, and serves as a member ofthe Academy Council. His recently published book,Designing an Internet, discusses the key role thatmodularity and open interfaces played in the successof the Internet.

9a13. William Cook. William Cook is an Associate

Professor in the Department of Computer Sciencesat the University of Texas at Austin. Hisresearch is focused on object-oriented programming,programming languages, modeling languages, andthe interface between programming languages anddatabases. Prior to joining UT in 2003, Dr. Cookwas Chief Technology Officer and co-founder ofAllegis Corporation. He was chief architect forseveral award-winning products, including theeBusiness Suite at Allegis, the Writer’s Solutionfor Prentice Hall, and the AppleScript language atApple Computer. At HP Labs his research focusedon the foundations of object-oriented languages,including formal models of mixins, inheritance, andtyped models of object-oriented languages. Hecompleted his Ph.D. in Computer Science at BrownUniversity in 1989. He recieved the Dahl-NygaardSenior Prize in 2014 for his contributions to thetheory and practice of object-oriented programming.

14. Miguel de Icaza. Miguel de Icaza is currentlya Distinguished Engineer at Microsoft and wasan early contributor to Linux projects. In 1997,he co-founded the GNOME project, with the goalto create a completely free desktop environment.In 2001, he co-founded and directed the MonoProject, with the goal to reimplement Microsoft’s.NET development platform on Linux. He hasstarted two companies: Ximian in 1999, whichfocused on the Linux desktop and was sold toNovell in 2003; and Xamarin which was foundedin 2011 to build mobile development tools andwas sold to Microsoft in 2016. He has receivednumerous awards and recognitions including: theFree Software Foundation Free Software Award,

10athe MIT Technology Review Innovator of the YearAward, and was named one of Time Magazine’s 100innovators for the new century.

15. Jeffrey Dean.* Jeff Dean joined Google in 1999and is currently one of two Senior Fellowsin the company, where he leads Google’sResearch, AI and Health efforts. He hasco-designed/implemented five generations ofGoogle’s crawling, indexing, and query servingsystems, and co-designed/implemented major piecesof Google’s initial advertising and AdSense forContent systems. He is also a co-designer andco-implementor of Google’s distributed computinginfrastructure, including the MapReduce, BigTableand Spanner systems, protocol buffers, LevelDB,systems infrastructure for statistical machinetranslation, the TensorFlow open-source machinelearning system, and a variety of internal andexternal libraries and developer tools. Prior tojoining Google, Jeff did computer systems researchat Digital Equipment Corporation’s WesternResearch Lab. Jeff has also worked for both theCenters for Disease Control and the World HealthOrganization, designing computer software forepidemiology and for statistical analysis of theHIV/AIDS pandemic. He is a Fellow of the ACM andthe AAAS, a member of the U.S. National Academyof Engineering, and a recipient of the Mark WeiserAward and the ACM-Infosys Foundation Award inthe Computing Sciences. Jeff holds a B.S., summacum laude, in computer science and economicsfrom the University of Minnesota, and a M.S. andPh.D. in computer science from the University ofWashington.

11a16. L. Peter Deutsch. Dr. L. Peter Deutsch

received a Ph.D. in Computer Science from U.C.Berkeley in 1973. Subsequently at Xerox PARC,he helped develop the Interlisp-D, Cedar Mesa,and Smalltalk-80 programming systems. Deutsch’swork on Smalltalk implementation, among otherinnovations, was an important contributor to thejust-in-time compilation technology now used widelyto dramatically improve the performance of Javaand JavaScript implementations. He is also theauthor of a number of RFCs and of the The EightFallacies of Distributed Computing, and originatedthe Deutsch limit adage about visual programminglanguages. From 1986 to 1991, as Chief Scientistat ParcPlace Systems, he developed cross-platformJIT technology. From 1986 to 2003, dba AladdinEnterprises, he was the creator of Ghostscript,an Open Source implementation of the PostScriptlanguage. In 1993, he was a co-recipient of theACM Software System Award, and was also nameda Distinguished Alumnus of the U.C. BerkeleyComputer Science program; he was named anACM Fellow in 1994. In 1994, he founded ArtifexSoftware to license Ghostscript commercially whilecontinuing its development and its release asOpen Source; Artifex today is a multi-million-dollarbusiness. In 1999-2000, he served on the board ofthe Open Source Initiative. He is a co-inventor ontwo patents.

17. Whitfield Diffie. Dr. Whitfield Diffie serves asadvisor to a variety of startups, primarily in thefield of security. He is best known for discoveringthe concept of public key cryptography, whichunderlies the security of internet commerce andall modern secure communication systems. Diffie’s

12atwo principal positions after leaving StanfordUniversity in the late 1970s were Manager of SecureSystems Research for Bell-Northern Research, thelaboratory of the Canadian telephone system, andChief Security Officer at Sun Microsystems. Diffiereceived the 2015 Turing Award and in 2017 waselected to both the National Academy of Engineeringand the Royal Society.

18. David L. Dill. David Dill is The Donald E. KnuthProfessor, Emeritus, in the School of Engineering atStanford University. Prof. Dill’s Ph.D. thesis, “TraceTheory for Automatic Hierarchical Verification ofSpeed Independent Circuits” was named as aDistinguished Dissertation by the Association forComputing Machinery (ACM), and published assuch by M.I.T. Press in 1988. He was named aFellow of the Institute of Electrical and ElectronicsEngineers (IEEE) in 2001 for his contributions toverification of circuits and systems, and a Fellowof the ACM in 2005 for contributions to systemverification and for leadership in the developmentof verifiable voting systems. In 2008, he receivedthe first “Computer-Aided Verification” award forfundamental contributions to the theory of real-timesystems verification. In 2013, he was electedto the National Academy of Engineering and theAmerican Academy of Arts and Sciences. In 2016, hereceived the Alonzo Church Award for OutstandingContributions to Logic and Computation.

19. Lester Earnest. Lester Earnest is awidely-recognized computer scientist, best knownfor his deep involvement with the AdvancedResearch Project Agency Network (ARPAnet)startup committee, which led to his invention of

13athe Finger social networking protocol. He servedas a US Navy Aviation Electronics Officer andDigital Computer Project Officer at the Naval AirDevelopment Center, and later joined MIT to helpdesign the Semi-Automatic Ground Environmentair defense system. Later, he innovated numerousearly features in the nascent field of word processing,including the first spell-checker, search engine,self-driving vehicle, robotic hand-eye assemblerthat took verbal instructions, online restaurantreviews, online news service, and a number of othersuccessful innovations.

20. Stu Feldman. Dr. Stuart Feldman is a well knowncomputer scientist and specialist in programminglanguages. Feldman is currently Chief Scientist ofSchmidt Futures where he is responsible for theScientific Knowledge programs, including creatingfellowship programs, supporting nascent innovativeresearch projects, and driving new platforms andlarger research projects that aim to change the wayscientific research is done and the way universitiessupport it. Feldman did his academic work inastrophysics and mathematics and earned his ABat Princeton and his PhD at MIT. He has beenawarded an honorary Doctor of Mathematics by theUniversity of Waterloo and an Honorary Doctoratefrom the Technion. He is former President ofACM (Association for Computing Machinery, thelargest professional society in computing) andformer member of the board of directors of theAACSB (Association to Advance Collegiate Schoolsof Business). Feldman is best known for writing"Make" and other essential tools. He received the2003 ACM Software System Award. He is a Fellowof the IEEE, ACM, and AAAS. He is Board Chair

14aof the Center for the Minorities and Disabled in IT,serves on a number of university advisory boardsand National Academy panels, and has served on awide variety of government advisory committees.

21. Martin Fowler. Martin Fowler is an authorand educator on software development. He iscurrently chief scientist at ThoughtWorks, a globalsystem delivery and consulting firm. Mr. Fowlerconcentrates on the design of enterprise software:what makes a good design and what practicesare needed to enhance it. He is the author ofseven books on software development, which haveover a million copies in print in over a dozenlanguages. He is the editor of a book series withAddison-Wesley on software design. His website,http://martinfowler.com, is a wide-ranging resourceof software development techniques attractingaround 150,000 visitors per month.

22. Bob Frankston. Bob Frankston co-foundedSoftware Arts with Dan Bricklin, where heimplemented VisiCalc. Prior to VisiCalc, Bobworked to develop the first online financial language.He worked at Lotus Development where hecreated Lotus Express, and at Microsoft, where hechampioned home networking which extended theInternet into people’s homes. He is a fellow of theIEEE, the ACM and the Computer History Museum.Bob is a recipient of the the ACM Software SystemAward, the MIT William L. Stewart Award, theMIT LCS Industrial Achievement Award, and theWestern Society of Engineers Washington Award.He holds Math and EECS BS Degrees, and Mastersand Engineers degrees in EECS from MIT. He is

15aon the Board of Governors of the IEEE ConsumerElectronics Society.

23. Neal Gafter. Neal Gafter is a Principal Engineerat Microsoft, where he is a technical lead forthe Roslyn Project (Microsoft’s implementation forthe C# and Visual Basic programming languages).Previously he was a software engineer and JavaEvangelist at Google, where he designed andimplemented the distributed storage architecturefor Google Calendar, and a Senior Staff Engineer atSun Microsystems, where he led the developmentof the Java compiler and implemented the Javalanguage features in releases 1.4 through 5.0. Nealwas a member of the C++ Standards Committeeand led the development of C and C++ compilersat Sun Microsystems, Microtec Research, andTexas Instruments. He holds a B.S. in computerengineering from Case Western Reserve Universityand a Ph.D. in computer science from the Universityof Rochester.

24. Erich Gamma. Erich Gamma is a MicrosoftTechnical Fellow. He is co-author of “DesignPatterns: elements of reusable object-orientedsoftware” which is a highly influential book in thesoftware industry. It has become a classic in theliterature of object-oriented development, offeringtimeless and elegant solutions to common problemsin software design. The book has sold over 1/2million copies and was awarded the Associationof Computing Machinery (“ACM”) ProgrammingLanguage Award. Prior to joining Microsoft,Gamma was a Distinguished Engineer at IBM. Hewas one of the leaders of the Eclipse Project and wasresponsible for its Java Development Tools. For the

16acontribution to Eclipse he was awarded the ACMSoftware System Award.

25. Allan Gottlieb. Allan Gottlieb is a professor ofcomputer science at New York University wherehe has been teaching for 39 years and is a Fellowof the Association of Computing Machinery. Hehas co-authored a book (with George Almasi) onparallel computing. The “Ultracomputer” grouphe led introduced the fetch-and-add coordinationinstruction still in use today.

26. Anoop Gupta. Anoop Gupta is co-founder andCEO of SeekOut, a startup providing recruitingand engagement tools for hard-to-find and diversetechnology talent. Prior to SeekOut, Anoop spent 18years at Microsoft. He was Distinguished Scientistat Microsoft Research leading Telepresence andNatural-User-Interface efforts; he directly reportedto Bill Gates as his technology assistant; he headedall enterprise communications products (Exchange,Skype) as Corporate Vice President of UnifiedCommunications; and he was Corporate VicePresident for Global Technology Policy for Microsoft.Prior to Microsoft, Anoop was a tenured professorof Computer Science at Stanford, where he foundedone of the earliest companies in the streamingmedia space that was acquired by Microsoft in1997. He has a Ph.D. in Computer Science fromCarnegie-Mellon University. He holds over 85issued US patents and is author 100+ researchpapers.

27. Robert Harper. Robert Harper is a professorin the computer science department at CarnegieMellon University. He holds a Ph.D. in computer

17ascience from Cornell University. His main researchinterest is in the application of type theory tothe design and implementation of programminglanguages and to the mechanization of theirmeta-theory. Harper made major contributionsto the design of the Standard ML programminglanguage and the LF logical framework. Harper isa recipient of the Allen Newell Medal for ResearchExcellence and the Herbert A. Simon Award forTeaching Excellence, and is an Association forComputing Machinery Fellow.

28. Anders Hejlsberg. Anders Hejlsberg is aTechnical Fellow in the Cloud and Enterprise groupat Microsoft Corporation and has been designingand implementing programming languages anddevelopment tools for over 35 years. Anders is thelead architect of the TypeScript open-source projectand the original designer of the C# programminglanguage. Before joining Microsoft in 1996, Anderswas a Principal Engineer at Borland International.As one of the first employees of Borland, he wasthe original author of Turbo Pascal and laterworked as the Chief Architect of the Delphi productline. Anders studied Engineering at the TechnicalUniversity of Denmark.

29. Martin Hellman. Martin Hellman is co-inventor,with Whitfield Diffie and Ralph Merkle, of publickey cryptography, the technology that securese-commerce and protects trillions of dollars per dayin financial transactions. His many honors includethe top prize in computer science (the million dollarACM Turing Award) and election to the NationalAcademy of Engineering. Hellman has a deepinterest in the ethics of technological development

18aand serves on Advisory Boards at the Federation ofAmerican Scientists and Verified Voting. He wason the faculty at MIT (1969-1971) and StanfordUniversity (1971-1996), where he is now ProfessorEmeritus of Electrical Engineering.

30. Maurice Herlihy. Maurice Herlihy has an A.B. inMathematics from Harvard University, and a Ph.D.in Computer Science from M.I.T. He has served onthe faculty of Carnegie Mellon University and thestaff of DEC Cambridge Research Lab. He is therecipient of the 2003 Dijkstra Prize in DistributedComputing, the 2004 Gödel Prize in theoreticalcomputer science, the 2008 ISCA influential paperaward, the 2012 Edsger W. Dijkstra Prize, andthe 2013 Wallace McDowell award. He received a2012 Fulbright Distinguished Chair in the NaturalSciences and Engineering Lecturing Fellowship, andhe is fellow of the ACM, a fellow of the NationalAcademy of Inventors, the National Academy ofEngineering, and the American Academy of Artsand Sciences.

31. Tom Jennings. Tom Jennings has specialized incomputers, software, and electronics since 1977;computer networking since 1984; and the Internetsince 1992. Jennings was on the team that wrotethe interface specification (API in today’s parlance)for Phoenix Software’s IBM compatible ROM BIOS.Jennings is the creator of FidoNet, the firstand most influential message and file networkingsystem protocol for networking computer bulletinboards. Jennings built Wired magazine’s firstinternet presence as its first webmaster and ranan early regional internet service provider, TLGnet.

19aCurrently, Jennings is on the faculty at CalartsArt+Technology program.

32. Mitchell Kapor. Mitchell Kapor founded LotusDevelopment Corp. in 1982 and co-createdLotus 1-2-3. He served as the President (laterChairman) and Chief Executive Officer of Lotusfrom 1982 to 1986, and as a Director until 1987.In 1990, Mr. Kapor co-founded the ElectronicFrontier Foundation, and served as its chairmanuntil 1994. From 1999 to 2001, he was apartner at Accel Partners, a venture capital firmbased in Palo Alto, California. In 2003, Mr.Kapor became the founding Chair of the MozillaFoundation, which is dedicated to the developmentand promulgation of standards-compliant, opensource web browser software. From 1994-1996, heserved as Adjunct Professor at the MassachusettsInstitute of Technology’s Media Lab, where hetaught courses on software design, democracyand the Internet, and digital community. From2005 to 2009, Mr. Kapor was on the facultyof the Information School at the University ofCalifornia, Berkeley, as Lecturer (2005-2006) andAdjunct Professor (2006-2009), where he co-taught“Open Source Development and Distribution ofInformation.” He is currently a Partner at KaporCapital, which invests in seed-stage, social-impacttech startups; and Co-Chair of the Kapor Center forSocial Impact, which pursues creative strategies toleverage tech for positive, progressive change. Mr.Kapor received a B.A. from Yale College in 1971and studied psychology, linguistics, and computerscience as part of an interdisciplinary major inCybernetics.

20a33. Alan Kay. Alan Kay is one of the pioneers of

object-oriented programming, personal computing,and graphical user interfaces. For this work,Dr. Kay has received the Draper Prize from theNational Academy of Engineering, the ACM TuringAward, and the Kyoto Prize from the InamoriFoundation. Alan has been elected a fellow ofthe American Academy of Arts and Sciences, theNational Academy of Engineering, the Royal Societyof Arts, and the Computer History Museum. Alanhas held fellow positions at HP, Disney, Apple,and Xerox, and has served as the chief scientistat Atari. While at Xerox PARC, he was one ofthe key members there to develop prototypes ofnetworked workstations using the programminglanguage Smalltalk. He is an adjunct professorof computer science at UCLA and an advisor toOne Laptop per Child. At Viewpoints Research,Alan also continues his work with “powerful ideaseducation” for the world’s children, as well as thedevelopment of advanced personal computers andnetworking systems.

34. Brian Kernighan.** Brian Kernighan is aprofessor in the Computer Science Department ofPrinceton University. He worked at Bell Labsalongside Unix creators Ken Thompson and DennisRitchie and contributed to the development ofUnix. He co-authored a number of Unix programs,including widely used document preparation tools.He is also the author or co-author of eleven bookson computing, including the first book on the Cprogramming language with Dennis Ritchie; thesebooks have been translated into more than twodozen languages. He is also a co-creator of theAWK and AMPL programming languages. In

21acollaboration with Shen Lin he devised well-knownheuristics for two fundamental NP-completeoptimization problems: graph partitioning and thetraveling salesman problem. Kernighan received aBachelor’s degree in engineering physics from theUniversity of Toronto, and his Ph.D. in electricalengineering from Princeton University. He is amember of the National Academy of Engineering.

35. David Klausner. David Klausner has overfifty years of software/hardware development andconsulting experience in the computer and softwareindustry. He has written software for commercialproducts as an engineer, developer, supervisor,project manager, department manager, middlemanager and company executive. He has worked inforensic investigation and in reverse engineering.He has been employed in various capacities forvarious companies, such as Microsoft, AT&T, Cisco,IBM, Hewlett Packard, and Intel Corporation. Heholds a Bachelors of Arts degree in Mathematics,and a Master of Science degree in ElectricalEngineering. He has taught programming, publicspeaking, has guest lectured at Stanford University,and been an invited speaker by IBM, AT&T, andothers. His technical opinions have been confirmedin several cases by the United States Court ofAppeals for the Federal Circuit.

36. Kin Lane. Kin is a computer scientistand API Evangelist working to understand thetechnology, business and politics of APIs andhelp share this insight with the world. Heis the author of the book, Business of APIs,and is behind the popular API Evangelist blog.He has over twenty years of experience as a

22aprogrammer, database administrator, architect,product developer, manager, and executive in theAPI space.

37. Ed Lazowska. Ed Lazowska holds the Bill &Melinda Gates Chair in the Paul G. School ofComputer Science & Engineering at the Universityof Washington. His research concerns the design,implementation, and analysis of high performancecomputing and communication systems, and morerecently, the techniques and technologies ofdata-intensive discovery. He co-chaired (with MarcBenioff) the President’s Information TechnologyAdvisory Committee from 2003-05, and (with DavidE. Shaw) the Working Group of the President’sCouncil of Advisors on Science and Technology toreview the Federal Networking and InformationTechnology Research and Development Program in2010. He is a Member of the National Academy ofEngineering and a Fellow of the American Academyof Arts and Sciences.

38. Doug Lea. Doug Lea is a Professor ofComputer Science at the State University of NewYork at Oswego. He is an author of books,articles, reports, and standardization efforts onobject oriented software development includingthose on specification, design and implementationtechniques, distributed, concurrent, and parallelobject systems, and software re-usability; he hasserved as chair, organizer, or program committeemember for many conferences and workshops inthese areas. He is the primary author of severalwidely used software packages and components.

39. Bob Lee.† Bob Lee is CEO of Present Company,makers of Present, a new location-based social

23anetwork. Prior to that, as Square’s CTO, Bob builtSquare’s core products, scaled the team from 12to 1200 people, and created Square Cash. BeforeSquare, Bob worked at Google where he createdGuice and was the core library lead for Android.

40. Harry Lewis. Harry Lewis is Gordon McKayProfessor of Computer Science, where he has taughtsince 1974, and where he is also a Faculty Fellowof the Berkman Klein Center for Internet andSociety. His students have included Bill Gates,Mark Zuckerberg, and computer science professorsat Harvard, Yale, Brown, Stanford, MIT, andother leading universities. He has served bothas dean of Harvard College and as interim deanof Harvard’s School of Engineering and AppliedSciences. Lewis is a member of the board of directorsof EPIC, the Electronic Privacy Information Center.He is a co-author of Blown to Bits: Your Life,Liberty, and Happiness after the Digital Explosion,and of several other books on computer science,mathematics, and higher education. He holdsBachelor’s, Master’s, and PhD degrees in AppliedMathematics from Harvard University.

41. Sheng Liang. Sheng Liang is a softwareentrepreneur. He is cofounder and CEO of RancherLabs, an enterprise software company. He wasCTO of the Cloud Platform group at Citrix Systemsafter their acquisition of Cloud.com, where hewas co-founder and CEO. Sheng was co-founderand CTO of Teros, a provider of perimeter andnetwork security solutions for enterprises andservice providers, acquired by Citrix Systems in2005. He also served as VP of Engineeringat SEVEN Networks, and Director of Software

24aEngineering at Openwave Systems. He was a StaffEngineer in Java Software at Sun Microsystems,where he designed the Java Native Interface(JNI) and led the Java Virtual Machine (JVM)development for the Java 2 platform. He has a B.S.from the University of Science and Technology ofChina and a Ph.D. from Yale University.

42. Barbara Liskov. Barbara Liskov is one of theworld’s leading authorities on computer languageand system design. Liskov joined MIT in 1972as a member of the Department of ElectricalEngineering and computer Science. She is alsoa member of the MIT laboratory for ComputerScience and Artificial Intelligence and headsthe programming methodology group. Herresearch interests lie in programming methodology,programming languages and systems, anddistributed computing. Major projects include:the design and implementation of CLU, the firstprogramming language to support data abstraction;the design and implementation of Argus, the firsthigh-level language to support implementation ofdistributed programs; and the Thor object-orienteddatabase system, which provides transactionalaccess to persistent, highly available objects inwide-scale distributed environments. Liskov isa fellow of the American Academy of Arts andSciences, the National Academy of Inventors,the Association for Computing Machinery, andthe Massachusetts Academy of Science. She is amember of the National Academy of Sciences andthe National Academy of Engineering. In 2009,she received the A.M. Turing Award from theACM. Other honors include the Society of WomenEngineers’ Achievement Award, the IEEE von

25aNeumann medal, the ACM SIGPLAN ProgrammingLanguages Achievement Award, the Universityof Pennsylvania Harold Pender Award, the ACMSIGOPS Hall of Fame Award, the CMU and TokyoUniversity of Technology Katayanagi Award forResearch Excellence, the ACM SIGOPS LifetimeAchievement Award, and five honorary doctorates.She holds a B.A. from UC Berkeley and a Ph.D.from Stanford.

43. Paul Menchini. Paul Menchini is the ChiefInformation Security Officer at the North CarolinaSchool of Science and Mathematics. Previously,he held technical positions at HP, Intel, GEMicroelectronics, CLSI and OrCAD. As a memberof the “Woods Hole Summer Study on HardwareDescription Languages,” he contributed to thespecifications for VHDL; subsequently, he edited tworevisions of IEEE Std 1076 VHDL and developedthe first commercially successful VHDL compiler. Aspart of the compiler project, he developed an API fora VHDL intermediate form, which was subsequentlystandardized by the IEEE. He holds a Masters inComputer Engineering from Stanford Universityand is the recipient of numerous technical awards,including charter membership in the “IEEE GoldenCore.”

44. Douglas McIlroy. Douglas McIlroy is an adjunctprofessor of computer science at Dartmouth College,to which he retired from Bell Laboratories. At Bellhe headed a research department that originatedthe Unix operating system [and counts sevenmembers of the National Academy of Engineeringamong its alumni]. He pioneered macroprocessors,was a designer of the PL/I programming language,

26aand provided PL/I for writing the Multics operatingsystem. He has done basic work in speechsynthesis, text processing, and graphics algorithms.In connection with Unix, he conceived “pipes”that enable one to combine concurrent computerprocesses, originated standard Unix programmingtools, and edited the manual, some editions ofwhich were trade books. He received awardsfor lifetime achievement and programming toolsfrom the Usenix association and is a fellow ofthe American Association for the Advancement ofScience and a member of the National Academy ofEngineering.

45. James H. Morris. Dr. James H. Morris isa Professor Emeritus of Computer Science atCarnegie Mellon University, where he servedas Dean of the Silicon Valley Campus, Deanof the School of Computer Science, Head ofthe Computer Science Department, and Directorof the Information Technology Center, a jointproject with IBM that developed a prototypeuniversity computing system. He founded CarnegieMellon’s Human Computer Interaction Institute,Robot Hall of Fame, and Silicon Valley Campus.He was an Associate Professor at UC Berkeley,where he developed two fundamental principles ofprogramming languages: inter-module protectionand lazy evaluation. He was co-discoverer of theKnuth-Morris-Pratt string-searching algorithm. Hewas Principal Scientist and Research Fellow atXerox PARC, where he was part of the team thatdeveloped the Alto, a precursor to today’s personalcomputers. He is a founder of MAYA Design Groupand an ACM Fellow. He holds a B.S. from CMU andan M.S. and Ph.D. from MIT.

27a46. Peter Norvig.* Peter Norvig is a Director of

Research at Google; previously he directed Google’score search algorithms group. He is co-author ofArtificial Intelligence: A Modern Approach, theleading textbook in the field, and co-teacher of anArtificial Intelligence class that signed up 160,000students, helping to kick off the current round ofmassive open online classes (MOOCs). He is a fellowof the AAAI, ACM, California Academy of Scienceand American Academy of Arts and Sciences.

47. Martin Odersky. Martin is a professor at EPFLin Lausanne, Switzerland. He is best known asthe creator and principal designer of the Scalaprogramming language. Prior to that, he madeseveral contributions to the development of Java.He created the Pizza and GJ languages, designedthe original version of generics for Java, and wrotethe javac reference compiler for Java. He is a fellowof the ACM.

48. John Ousterhout. John Ousterhout is theBosack Lerner Professor of Computer Science atStanford University. His current research focuseson new software stack layers to allow data centerapplications to take advantage of communicationand storage technologies with microsecond-scalelatencies. Ousterhout’s prior positions includefourteen years in industry, where he founded twocompanies (Scriptics and Electric Cloud), precededby fourteen years as Professor of Computer Scienceat U.C. Berkeley. He is the creator of the Tclscripting language and is also well known forhis work in distributed operating systems andstorage systems. Ousterhout received a BS degreein Physics from Yale University and a PhD in

28aComputer Science from Carnegie Mellon University.He is a member of the National Academy ofEngineering and has received numerous awards,including the ACM Software System Award, theACM Grace Murray Hopper Award, the NationalScience Foundation Presidential Young InvestigatorAward, and the U.C. Berkeley DistinguishedTeaching Award.

49. Tim Paterson. Tim began his career designingone of the first 16-bit microcomputer systems atSeattle Computer Products. He then wrote anoperating system for that computer, which waslater sold to Microsoft and became widely used asMS-DOS. He went on to found his own company,Falcon Technology, whose primary products werehard disk systems for personal computers. Hemoved on to Microsoft where he was a softwareengineer for many years, working on such productsas QuickBASIC, Visual Basic, VBScript, and VisualJ++ (Java). After his retirement in the late‘90s he has continued developing software andmicrocontroller-based hardware projects as a hobbyand part-time small business. He has been grantedthree U.S. patents on software methods.

50. David Patterson.* David Patterson joined UCBerkeley in 1977. He has been Director of thePar Lab, Chair of UC Berkeley’s CS Division,Chair of the Computing Research Association,and President of the Association for ComputingMachinery. His most successful projects havebeen Reduced Instruction Set Computers (RISC),Redundant Arrays of Inexpensive Disks (RAID),and Network of Workstations. All helped lead tomultibillion-dollar industries. This research led

29ato many papers, six books, and about 35 honors,including election to the National Academy ofEngineering, the National Academy of Sciences,the Silicon Valley Engineering Hall of Fame, andFellow of the Computer History Museum. Heshared the IEEE von Neumann Medal, the NECC&C Prize,and the ACM Turing Award (the highestprize in computing) with John Hennessy, formerPresident of Stanford University and co-author oftwo of his books.

51. Alex Payne. Alex Payne consults, advises, andinvests in early-stage technology startups. AsPlatform Lead at Twitter he managed one of theweb’s most popular APIs. He was subsequentlyco-founder and Chief Technology Officer of onlinebanking service Simple, acquired by BBVA in 2014.Alex organizes an annual conference showcasingadvances in programming languages and hasco-authored a book on the Scala programminglanguage (O’Reilly, 2009). He is a regular speakerat technology and business conferences worldwideand has lectured on API design at Stanford.

52. Tim Peierls. Since receiving a BS in ComputerScience from Yale in 1983 and an MS in CS fromCornell in 1986, Tim has continuously worked inthe software industry, first at Bell Labs (airline crewscheduling), then co-founding the Lightstone Groupin 1990 (aircraft scheduling, delivery vehicle routingand scheduling, sold to Descartes Systems Group in1998) and Seat Yourself in 2002 (online ticketing forschool performing arts groups). For the last fifteenyears, almost all of his programming work has beenin Java. He has served on the Expert Groups ofseveral Java Specification Requests (166, 201, 330,

30a334) and on the SE/EE Executive Committee of theJava Community Process; he co-authored a book,Java Concurrency in Practice; and he contributescode, support, and advice to various open sourceprojects, including Restlet, Hazelcast, and JClouds.

53. Ronald L. Rivest. Ronald L. Rivest is an MITInstitute Professor in the Electrical Engineeringand Computer Science Department. He iswell-known as a co-inventor of the RSA public-keycryptosystem, for which he received the ACM TuringAward. He is a co-author of the widely-used textbookIntroduction to Algorithms. His current researchinterest is voting systems and election integrity.

54. Aviel D. Rubin. Dr. Aviel “Avi” D. Rubinis Professor of Computer Science and TechnicalDirector of the Information Security Institute atJohns Hopkins University. He is also the Directorof the JHU Health and Medical Security Lab. Priorto joining Hopkins, Rubin was a research scientistat AT&T Labs. His is also the founder of HarborLabs, a cybersecurity company. Rubin testifiedabout information security before the U.S. Houseand Senate on multiple occasions, and he is theauthor of several books about computer security.Rubin is a frequent keynote speaker at industry andacademic conferences, and he delivered a widelyviewed TED talk in 2011 and another TED talkin September, 2015. He also testified in federalcourt as an expert witness on numerous occasionsin matters relating to high tech litigation. Rubinserved as Associate Editor of IEEE Transactionson Information Forensics and Security, AssociateEditor of Communications of the ACM (CACM),and an Advisory Board member of Springer’s

31aInformation Security and Cryptography Book Series.In 2010-2011 Rubin was a Fulbright Scholar atTel Aviv University. In January, 2004 BaltimoreMagazine named Rubin a Baltimorean of the Yearfor his work in safeguarding the integrity of ourelection process, and he is also the recipient ofthe 2004 Electronic Frontiers Foundation PioneerAward. Rubin has a B.S, (’89), M.S.E (’91), and Ph.D.(’94) from the University of Michigan.

55. Curtis Schroeder. Curtis is aHardware-in-the-Loop Simulation Engineerat Draper. He served as the Drafting Group Editorfor the Simulation Interoperability StandardsOrganization (SISO) Common Image GeneratorInterface (CIGI) 4.0 international standard. Thesuccess of SISO international standards dependsupon implementation of said copyrighted standardsby numerous simulation vendors and end-users,including NATO. Previously, Curtis has worked forAntycip Simulation in the UK and the LockheedMartin Aeronautics Company, where he utilizeda number of open standards in projects he wasinvolved in. He earned B.S. & M.S. ComputerScience degrees at the Missouri University ofScience & Technology.

56. Robert Sedgewick. Robert Sedgewick is thefounding chair and the William O. Baker Professorin the Department of Computer Science at Princetonand served for many years as a member of theboard of directors of Adobe Systems. He has overfifty years of experience working with softwaresystems. He has held visiting research positionsat Xerox PARC, Palo Alto, CA; Institute for DefenseAnalyses, Princeton, NJ; and INRIA, Rocquencourt,

32aFrance. He regularly serves on journal editorialboards and organizing program committees ofconferences and workshops on data structures andthe analysis of algorithms held throughout theworld. Professor Sedgewick’s research interestsinclude analytic combinatorics, algorithm design,the scientific analysis of algorithms, curriculumdevelopment, and innovations in the disseminationof knowledge. He has published widely in theseareas and is the author of twenty books, includinga series of books on algorithms that have beenbestsellers for four decades and have sold nearlyone million copies. He has also published extensiveonline content (including studio-produced videolectures) on analysis of algorithms and analyticcombinatorics and (with Kevin Wayne) algorithmsand computer science. Their massive open onlinecourse (MOOC) on algorithms has been named oneof the “top 10 MOOCs of all time.”

57. Mary Shaw. Mary Shaw is the Alan J. PerlisUniversity Professor of Computer Science in theInstitute for Software Research at Carnegie MellonUniversity. Her research focuses on softwareengineering and software design, particularlysoftware architecture and design of systems usedby real people. She has made fundamentaland significant contributions to an engineeringdiscipline for software through developing dataabstraction with verification, establishing softwarearchitecture as a major branch of softwareengineering, designing influential and innovativecurricula in software engineering and computerscience supported by two influential textbooks,and helping to found the Software EngineeringInstitute at Carnegie Mellon. She has received

33athe United States’ National Medal of Technologyand Innovation, the George R. Stibitz Computer& Communications Pioneer Award, the ACMSIGSOFT Outstanding Research Award, the IEEEComputer Society TCSE’s Distinguished Educatorand Distinguished Women in Software EngineeringAwards, and CSEE&T’s Nancy Mead Award forExcellence in Software Engineering Education. Sheis an elected Life Fellow of the ACM and the IEEEand an elected Fellow of the AAAS. She holds a BAcum laude from Rice and a Ph.D. from CarnegieMellon.

58. Barbara Simons. Barbara Simons is a formerPresident of the Association for ComputingMachinery (ACM), the nation’s oldest and largesteducational and scientific society for computingprofessionals. She is the only woman to havereceived the Distinguished Engineering AlumniAward from the College of Engineering of U.C.Berkeley, where she earned her Ph.D. in computerscience. A fellow of ACM and the AmericanAssociation for the Advancement of Science, shealso received the Computing Research AssociationDistinguished Service Award and the ElectronicFrontier Foundation Pioneer Award. She haspublished Broken Ballots: Will Your Vote Count?, abook on voting machines co-authored with DouglasJones. She has been on the Board of Advisorsof the U.S. Election Assistance Commission since2008, and she co-authored the report that led to thecancellation of Department of Defense’s Internetvoting project (SERVE) in 2004 because of securityconcerns. She was a member of the NationalWorkshop on Internet Voting, convened by PresidentClinton, which conducted one of the first studies of

34aInternet Voting and produced a report in 2001. Sheis Board Chair of Verified Voting and is retired fromIBM Research.

59. Daniel Sleator. Daniel Sleator is a professor ofcomputer science at Carnegie Mellon university.Prior to joining CMU, Sleator was a member oftechnical staff at AT&T Bell Laboratories. He isthe joint winner (with Bob Tarjan) of the 1999 ACMParis Kanellakis Theory and Practice Award. Thiswas awarded for the invention of the splay tree.His primary area of research is algorithm and datastructure design and analysis. He has also builtsystems for parsing English, and doing automatedmusic analysis. In 1995 he founded the InternetChess Club.

60. Alfred Z. Spector. Alfred Spector is ChiefTechnology Officer and Head of Engineering atTwo Sigma, a firm dedicated to using informationto optimize diverse economic challenges. Prior tojoining Two Sigma, Dr. Spector spent nearly eightyears as Vice President of Research and SpecialInitiatives, at Google, where his teams delivered arange of successful technologies including machinelearning, speech recognition, and translation. Priorto Google, Dr. Spector held various senior-levelpositions at IBM, including Vice President ofStrategy and Technology (or CTO) for IBM Softwareand Vice President of Services and Softwareresearch across the company. He previously foundedand served as CEO of Transarc Corporation, apioneer in distributed transaction processing andwide-area file systems, and he was a professor ofcomputer science at Carnegie Mellon University.Dr. Spector received a bachelor’s degree in Applied

35aMathematics from Harvard University and a Ph.D.in computer science from Stanford University. Heis a Fellow of both the Association for ComputingMachinery and the IEEE. He is an active memberof the National Academy of Engineering and theAmerican Academy of Arts and Sciences, where heserves on the Council. Dr. Spector won the IEEEKanai Award for Distributed Computing in 2001and the ACM Software Systems Award for his workon the Andrew File System (AFS) in 2016.

61. Michael Stonebraker. Dr. Stonebraker has beena pioneer of data base research and technologyfor more than 40 years. He was the mainarchitect of the INGRES relational DBMS, andthe object-relational DBMS, POSTGRES. Theseprototypes were developed at the University ofCalifornia at Berkeley where Stonebraker wasa Professor of Computer Science for twenty-fiveyears. More recently at M.I.T. he was a co-architectof the Aurora/Borealis stream processing engine,the C-Store column-oriented DBMS, the H-Storetransaction processing engine, the SciDB arrayDBMS, and the Data Tamer data curation system.Presently he serves as Chief Technology Officer ofParadigm4 and Tamr, Inc. Professor Stonebrakerwas awarded the ACM System Software Award in1992 for his work on INGRES. Additionally, hewas awarded the first annual SIGMOD Innovationaward in 1994, and was elected to the NationalAcademy of Engineering in 1997. He was awardedthe IEEE John Von Neumann award in 2005 andthe 2014 Turing Award, and is presently an AdjunctProfessor of Computer Science at M.I.T, where heis co-director of the Intel Science and TechnologyCenter focused on big data.

36a62. Bjarne Stroustrup. Bjarne Stroustrup is the

inventor of the C++ programming language. Hewrote the standard textbook on the language andits original implementation, The C++ ProgrammingLanguage, and many other academic and popularbooks and articles. He has served on the ISOStandards committee since its creation in 1989. Heis a fellow of the ACM, the IEEE and the CHM.He was elected member of the National Academy ofEngineering and is a recipient of the NAE’s highestaward, The Charles S. Draper Prize. He holdsa masters degree in mathematics and computerscience from Aarhus University, in Denmark, anda Ph.D. in computer science from the Universityof Cambridge, where he is an honorary fellow ofChurchill College.

63. Gerald Jay Sussman. Gerald Jay Sussmanis the Panasonic (formerly Matsushita) Professorof Electrical Engineering at the MassachusettsInstitute of Technology. He has been involved inartificial intelligence research at M.I.T. since 1964.His research has centered on understanding theproblem-solving strategies used by scientists andengineers, with the goals of automating parts of theprocess and formalizing it to provide more effectivemethods of science and engineering education.Sussman has also worked in computer languages,in computer architecture, and in VLSI design.Sussman is a coauthor of the introductory computerscience textbook that included innovative advancesin curricula designed for students pursuing differentkinds of computing expertise, which has had aworldwide impact on university computer-scienceeducation. Sussman has received numerousawards and recognitions including: the ACM’s Karl

37aKarlstrom Outstanding Educator Award, the AmarG. Bose award for teaching, a fellow of the Instituteof Electrical and Electronics Engineers, a fellowof the American Academy of Arts and Sciences, amember of the National Academy of Engineering,and a fellow of the American Association for theAdvancement of Science. He received the S.B.and the Ph.D. degrees in mathematics from theMassachusetts Institute of Technology in 1968 and1973.

64. Ivan E. Sutherland. Ivan E. Sutherland receivedhis B.S. degree from the Carnegie Institute ofTechnology, his M.S. degree from the CaliforniaInstitute of Technology, and his Ph.D. degree fromthe Massachusetts Institute of Technology, all inelectrical engineering. He holds honorary degreesfrom Harvard University, the University of NorthCarolina, and the University of Utah. He joinedSun in 1990 as a Sun Fellow, Sun’s highest technicalrank. He joined Portland State University in 2009 tofound the Asynchronous Research Center. He leadsa small group working on self-timed VLSI systems;his group develops self-timed circuit methodologiesand design techniques for fast CMOS circuitsand applies them to new hardware architectures.His book, Logical Effort (1999) with joint authorsSproull and Harris, describes the mathematicsof designing fast circuits. His 1963 MIT Ph.D.,Sketchpad, is widely known, and he has been calledthe “father of computer graphics.” He is author ofmore than seventy patents, as well as numerouspublications and lectures. Dr. Sutherland holdsthe 1988 ACM Turing Award, the 2012 Kyoto Prizeand the IEEE Von Neumann Award. He is a Fellowof the ACM and a member of both the National

38aAcademy of Engineering and the National Academyof Sciences.

65. Andrew Tanenbaum. Andrew S. Tanenbaumhas an S.B. degree from M.I.T. and a Ph.D. fromthe University of California. He is a professoremeritus at the Vrije Universiteit in Amsterdam.Tanenbaum is the principal designer of threeoperating systems: TSS-11, Amoeba, and MINIX, aswell as a considerable amount of other open-sourcesoftware. In addition, Tanenbaum is the author orcoauthor of five books, which together have beentranslated in more than 20 languages and over 175editions. Tanenbaum has lectured on a variety oftopics all over the world. He has been keynotespeaker at 40 conferences and has given talks atover one hundred universities and companies infifteen countries all over North America, Europe,Asia, and Australia. In 2004, Tanenbaum becamean Academy Professor of the Royal NetherlandsAcademy of Arts and Sciences. In 2008, he receiveda prestigious European Research Council AdvancedGrant. Tanenbaum is a Fellow of the ACM, aFellow of the IEEE, and a member of the RoyalNetherlands Academy of Arts and Sciences. In 1994he was the recipient of the ACM Karl V. KarlstromOutstanding Educator Award. In 1997 he won theACM SIGCSE Award for Outstanding Contributionsto Computer Science. In 2007 he won the IEEEJames H. Mulligan, Jr., Education Medal. In 2008he won the USENIX Lifetime Achievement Awardand in 2015 he won the inaugural Eurosys LifetimeAchievement Award. He has also won numerousother awards, some of which are on his Wikipediapage. He has two honorary doctorates.

39a66. Brad Templeton. Brad Templeton, active in

the computer network community since 1979, wasfounder and publisher at ClariNet CommunicationsCorp., the electronic newspaper that was perhapsthe earliest dot-com company. He participatedin the building and growth of USENET from itsearliest days, and in 1987 founded and editedrec.humor.funny, for many years the world’s mostwidely read electronic publication. He was thefirst employee of Personal Software/Visicorp, thefirst major microcomputer applications softwarecompany. He later founded Looking GlassSoftware and over the years was author of adozen packaged microcomputer software products,including VisiPlot for the IBM-PC, variousgames, popular tools and utilities for Commodorecomputers, special Pascal and Basic programmingenvironments designed for education (ALICE), anadd-in spreadsheet compiler for Lotus 1-2-3 (3-2-1Blastoff), and various network related softwaretools. He currently is track chair for computing andnetworks at Singularity University, a consultantand speaker on self-driving cars, and is on theboard of the Electronic Frontier Foundation andthe Foresight Nanotech Institute. He is ChairmanEmeritus of the Electronic Frontier Foundation.

67. Ken Thompson.* Ken Thompson spent much ofhis career at Bell Laboratories where he co-designedand implemented the original Unix operatingsystem, invented the B programming languagethat was a precursor to the C programminglanguage, invented the Bon programming language,co-developed the Plan 9 operating systems,developed the CTSS version of the editor QED,developed ed, which is the standard text editor on

40aUnix, and the definition of the UTF-8 encoding,which is used for more than half of all Webpages. Thompson also co-developed the software andhardware for Belle, which was the first computerbuilt for the sole purpose of chess playing, and itofficially became the first master-level machine in1983. He is currently a Google Advisor and wasformerly a Distinguished Engineer at Google, wherehe invented new programming languages (includingthe Go programming language as a co-inventor),among other projects. Thompson is a recipient ofnumerous awards and commendations in connectionwith his work on Unix, including the IEEE EmanuelR. Piore Award (1982), the Turing Award (1983),the IEEE Richard W. Hamming Medal (1990), theNational Medal of Technology (1999), and the JapanPrize (2011). He is a member of the NationalAcademy of Sciences and the National Academyof Engineering. Thompson holds a B.S. and anM.S., both in Electrical Engineering and ComputerScience, from the University of California, Berkeley.He has been awarded two honorary Ph.D degrees.

68. Jeffrey Ullman. Jeffrey Ullman is the Stanford W.Ascherman Professor of Engineering (Emeritus) inthe Department of Computer Science at Stanfordand CEO of Gradiance Corp. He received aB.S. degree from Columbia University in 1963and a Ph.D. from Princeton in 1966. Prior tohis appointment at Stanford in 1979, he was amember of the technical staff of Bell Laboratoriesfrom 1966-1969, and on the faculty of PrincetonUniversity between 1969-1979. From 1990-1994,he was chair of the Stanford Computer ScienceDepartment. Ullman was elected to the NationalAcademy of Engineering in 1989, the American

41aAcademy of Arts and Sciences in 2012, and hasheld Guggenheim and Einstein Fellowships. He hasreceived the Sigmod Contributions Award (1996),the ACM Karl V. Karlstrom Outstanding EducatorAward (1998), the Knuth Prize (2000), the SigmodE. F. Codd Innovations award (2006), the IEEE vonNeumann medal (2010), and the NEC C&C Prize(2017). He is the author of 16 books, including bookson database systems, compilers, automata theory,and algorithms.

69. Leslie Valiant. Leslie Valiant is the T. JeffersonCoolidge Professor of Computer Science and AppliedMathematics in the School of Engineering andApplied Sciences at Harvard University. Hehas been a founding contributor to the theory ofmachine learning, devised the bulk synchronousmodel of parallel computation, invented randomizedcommunication methods for data centers, anddeveloped fundamental theories of the inherentlimits of computational feasibility. He is therecipient of the Nevanlinna Prize from theInternational Mathematical Union, and of theTuring Award from the ACM. He is a Fellow ofthe Royal Society and a member of the NationalAcademy of Sciences.

70. Andries van Dam. Andries van Dam is a Professorof Computer Science at Brown University, andhas served on Brown’s Computer Science facultysince 1965. He was also Brown’s first VicePresident of Research from 2002 to 2006. Heis the author of the widely used reference booksComputer Graphics: Principles and Practice andObject-Oriented Programming Java: A GraphicalApproach. In 1967, Andries co-founded ACM

42aSICGRAPH, the precursor to SIGGRAPH. Andriesis an IEEE Fellow, an ACM Fellow, and is a memberof the National Academy of Engineering and theAmerican Academy of Arts and Sciences. Andrieshas won multiple awards, including the InformationDisplay’s Special Recognition Award (1974), theIEEE Centennial Medal (1984), the NationalComputer Graphics Association’s Academic Award(1990), the ACM SIGGRAPH Steven A. CoonsAward (1991), the L. Herbert Ballou UniversityProfessor Chair (1992), the ACM Karl V. KarlstromOutstanding Educator Award (1994), the ThomasJ. Watson, Jr. University Professor of Technologyand Education Chair (1995), the IEEE James H.Mulligan, Jr. Education Medal (1999), and theACM SIGCSE Award for Outstanding Contributionsto Computer Science Education (2000). Andriesreceived a B.S. with honors in Engineering Scienceform Swarthmore College, a M.S. and Ph.D.from the University of Pennsylvania, and holdshonorary Ph.D. degrees from Darmstadt TechnicalUniversity, University of Waterloo, ETH Zurich, andSwarthmore College.

71. Guido van Rossum. Guido van Rossum createdthe open-source programming language Python,and is its lead developer and thought leader.Python is widely used in industry, and is the mostpopular introductory teaching language at top U.S.universities. Guido developed the Python languagewhile at CWI in Amsterdam. After moving to theUnited States, he worked as a guest researcher atNIST, at CNRI, and at several start-up companies.He became a Senior Staff Engineer at Google, andis currently a principal engineer at Dropbox. Guidois an ACM Distinguished Engineer, a Fellow of

43athe Computer History Museum, and a recipient ofseveral awards including the USENIX STUG Award,the NLUUG Award, the Free Software FoundationAward, and the Dr. Dobb’s Journal 1999 Excellencein Programming Award. In 2013, Python wasawarded the Dutch National ICT COMMIT Award.Guido holds an M.S. in Mathematics and ComputerScience from the University of Amsterdam.

72. John Villasenor. John Villasenor is on the facultyat UCLA, where he is a professor of electricalengineering, public policy, and management,as well as a visiting professor of law. Heis also a nonresident senior fellow at theBrookings Institution and a visiting fellow atthe Hoover Institution. Professor Villasenor’sresearch considers communications and informationtechnologies and their broader ramifications, andhas addressed topics including cybersecurity,autonomous vehicles, and digital media policy.Professor Villasenor is a member of the Council onForeign Relations and a former vice chair of theWorld Economic Forum’s Global Agenda Council onthe Intellectual Property System. He holds an M.S.and Ph.D. in electrical engineering from StanfordUniversity, and a B.S. in electrical engineering fromthe University of Virginia. Professor Villasenor haspreviously served as, though is not currently servingas, a consultant to Google in relation to the Oraclev. Google matter.

73. Jan Vitek. Jan Vitek is a Professor of ComputerScience at Northeastern University. He is thepast Chair of the ACM Special Interest Groupon Programming Languages (SIGPLAN), the vicechair of AITO and of the IFIP WG 2.4, and

44ais Chief Scientist at Fiji Systems. He holdsa Ph.D. from the University of Geneva and anMSc from the University of Victoria. He workson various aspects of programming languagesincluding virtual machines, compilers, softwareengineering, real-time and embedded computing,concurrency and information security. ProfessorVitek led the Ovm project which resulted in thefirst successful flight test of real-time Java virtualmachine. With Noble and Potter, Vitek proposedthe notion of ownership for alias control, whichbecame known as ownership types. He chairedPLDI, ISMM and LCTES and was program chair ofESOP, ECOOP, VEE, Coordination, and TOOLS.

74. Philip Wadler. Philip Wadler is a Professor ofTheoretical Computer Science at the University ofEdinburgh and Senior Research Fellow at IOHK. Heis an ACM Fellow and a Fellow of the Royal Societyof Edinburgh, past chair of ACM SIGPLAN, pastholder of a Royal Society-Wolfson Research MeritFellowship, winner of the SIGPLAN DistinguishedService Award, and a winner of the POPL MostInfluential Paper Award. Previously, he workedor studied at Stanford, Xerox Parc, CMU, Oxford,Chalmers, Glasgow, Bell Labs, and Avaya Labs,and visited as a guest professor in Copenhagen,Sydney, and Paris. He has an h-index of 66 withmore than 22,000 citations to his work, accordingto Google Scholar. He contributed to the designs ofHaskell, Java, and XQuery, and is a co-author ofIntroduction to Functional Programming (PrenticeHall, 1988), XQuery from the Experts (AddisonWesley, 2004) and Generics and Collections in Java(O’Reilly, 2006). He has delivered invited talks inlocations ranging from Aizu to Zurich.

45a75. James H. Waldo. James “Jim” Waldo is

the Gordon McKay Professor of the Practice ofComputer Science in the School of Engineeringand Applied Sciences at Harvard, where he isalso the Chief Technology Officer. Jim is alsoa professor of technology policy at the HarvardKennedy School. Previously, Jim designed cloudsat VMware, and was a Distinguished Engineerat Sun Microsystems, where he investigatednext-generation large-scale distributed systems.He was the lead architect for Jini, a distributedprogramming system based on Java. Before joiningSun, Jim spent eight years at Apollo Computerand Hewlett Packard, working in the areas ofdistributed object systems, user interfaces, classlibraries, text and internationalization. While atHP, he led the design and development of thefirst Object Request Broker, and was instrumentalin getting that technology incorporated into thefirst OMG CORBA specification. Jim edited thebook The Evolution of C++: Language Design inthe Marketplace of Ideas (MIT Press), co-editedEngaging Privacy and Information Technology in aDigital Age (National Academies Press), and wasone of the authors of The Jini Specification (AddisonWesley). More recently, he authored Java: The GoodParts. He is currently a member of the editorialboards of Queue magazine and Communications ofthe ACM. He holds over fifty patents. Jim receivedhis Ph.D. from the University of Massachusetts(Amherst). He holds two M.A. degrees from theUniversity of Utah.

76. Dan Wallach. Dan Wallach is a professor inthe Department of Computer Science and a RiceScholar at the Baker Institute for Public Policy at

46aRice University in Houston, Texas. His researchconsiders a variety of different computer securitytopics, ranging from web browsers and serversthrough Java security, electronic voting technologies,and smartphones. Wallach is a former memberof the Air Force Science Advisory Board and aformer member of the USENIX Association Boardof Directors.

77. Steve Wozniak. Steve Wozniak co-founded Appleand invented the Apple I and Apple II computers.He holds a B.S. in Electrical Engineering andComputer Science from UC Berkeley, and honorarydoctorates from twelve universities. Wozniak isInnovator in Residence at High Point University.He founded many companies including CL 9,which brought the first programmable universalremote control to market in 1987, Wheels ofZeus (WOZ), and Acquicor Technology. He wasChief Scientist at Fusion-io and at Primary Data.He designed calculators for Hewlett-Packard andtaught computer science to elementary schoolstudents and their teachers. Wozniak wonnumerous awards including the ACM Grace MurrayHopper Award, the National Medal of Technology(with Steve Jobs), the IEEE Hoover Medal,the Heinz Award for Technology, the AmericanHumanist Association Isaac Asimov Science Award,the Global Award of the President of Armenia forOutstanding Contribution to Humanity ThroughIT, the Young Presidents’ Organization LifetimeAchievement Award, the Cal Alumni AssociationAlumnus of the Year Award, and the Legacy forChildren Award from the Children’s DiscoveryMuseum in San Jose. He was named a Fellowof the Computer History Museum “for co-founding

47aApple Computer and inventing the Apple I personalcomputer,” and inducted into the National InventorsHall of Fame, the Manufacturing Hall of Fame, andthe Consumer Electronics Hall of Fame.

78. Frank Yellin. Frank Yellin spent over a decadeworking on runtime systems for interpreted andcompiled languages. As a Staff Engineer inEmbedded and Consumer at Sun Microsystems, hewas an original member of the Java project. Yellin isco-author of The Java Virtual Machine Specification(Addison-Wesley, 1999), and coauthored the firstversion of the Java API specification. Yellin workedas a Staff Software Engineer at Google, where hespecialized in automatic scalable security testing.Previously he worked at Lucid, where he focused onmultitasking, garbage collection, interrupts, and thecompilation of Common Lisp. He holds an A.B. inApplied Mathematics from Harvard and an M.S. inComputer Science from Stanford. He is the inventoror co-inventor of sixteen patents.