Document ID: ./input/supremecourt_opinions/opinions/20pdf/18-956_d18f.pdf
Page Number: 26

22 

GOOGLE LLC v. ORACLE AMERICA, INC. 

Opinion of the Court 

actually  instructs  the  computer  on  the  steps  to  follow  to
carry out each task.  Google wrote its own programs (imple-
menting  programs)  that  would  perform  each  one  of  the 
tasks that its API calls up. 

Second,  the  Sun  Java  API  associates  a  particular  com-
mand,  called  a  “method  call,”  with  the  calling  up  of  each
task.  The symbols java.lang., for example, are part of the 
command that will call up the program (whether written by 
Sun or, as here, by Google) that instructs the computer to
carry out the “larger number” operation.  Oracle does not 
here argue that the use of these commands by programmers 
itself violates its copyrights. 

Third, the Sun Java API contains computer code that will
associate  the  writing  of  a  method  call  with  particular 
“places”  in  the  computer  that  contain  the  needed  imple-
menting  code.  This  is  the  declaring  code.    The  declaring
code both labels the particular tasks in the API and organ-
izes those tasks, or “methods,” into  “packages” and “clas-
ses.”  We have referred to this organization, by way of rough 
analogy,  as  file  cabinets,  drawers,  and  files.    Oracle  does 
claim that Google’s use of the Sun Java API’s declaring code 
violates its copyrights. 

The  declaring  code  at  issue  here  resembles  other  copy-
righted works in that it is part of a computer program.  Con-
gress has specified that computer programs are subjects of 
copyright.    It  differs,  however,  from  many  other  kinds  of 
copyrightable  computer  code.    It  is  inextricably  bound  to-
gether  with  a  general  system,  the  division  of  computing 
tasks, that no one claims is a proper subject of copyright.  It 
is inextricably bound up with the idea of organizing tasks
into  what  we  have  called  cabinets,  drawers,  and  files,  an 
idea that is also not copyrightable.  It is inextricably bound
up  with  the  use  of  specific  commands  known  to  program-
mers,  known  here  as  method 
(such  as 
java.lang.Math.max, etc.), that Oracle does not here con-
test.  And  it  is  inextricably  bound  up  with  implementing 

calls