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

Cite as:  593 U. S. ____ (2021) 

23 

Opinion of the Court 

code, which is copyrightable but was not copied. 

Moreover, the copied declaring code and the uncopied im-
plementing programs call for, and reflect, different kinds of
capabilities.  A single implementation may walk a computer
through dozens of different steps.  To write implementing 
programs, witnesses told the jury, requires balancing such
considerations  as  how  quickly  a  computer  can  execute  a
task or the likely size of the computer’s memory.  One wit-
ness  described  that  creativity  as  “magic”  practiced  by  an
API  developer  when  he  or  she  worries  “about  things  like
power  management”  for  devices  that  “run  on  a  battery.” 
App. 143; see also id., at 147, 204.  This is the very creativ-
ity that was needed to develop the Android software for use
not in laptops or desktops but in the very different context 
of smartphones.

The  declaring  code  (inseparable  from  the  programmer’s
method calls) embodies a different kind of creativity.  Sun 
Java’s  creators,  for  example,  tried  to  find  declaring  code 
names that would prove intuitively easy to remember.  Id., 
at  211.  They  wanted  to  attract  programmers  who  would 
learn the system, help to develop it further, and prove re-
luctant to use another.  See post, at 10 (“Declaring code . . . 
is user facing.  It must be designed and organized in a way 
that is intuitive and understandable to developers so that 
they can invoke it”).  Sun’s business strategy originally em-
phasized  the  importance  of  using  the  API  to  attract  pro-
grammers.  It sought to make the API “open” and “then . . . 
compete  on  implementations.”    App.  124–125.  The  testi-
mony at trial was replete with examples of witnesses draw-
ing this critical line between the user-centered declaratory
code  and  the  innovative  implementing  code.  Id.,  at  126– 
127, 159–160, 163–164, 187, 190–191. 

These features mean that, as part of a user interface, the
declaring code differs to some degree from the mine run of 
computer  programs.  Like  other  computer  programs,  it  is 
functional in nature.  But unlike many other programs, its