Third edition of USA copyright office compendium – what is a computer program

The Copyright Act defines a “computer program” as “a set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result.” A claim to copyright in a computer program may be based on the authorship “expressed in words, numbers, or other verbal or numerical symbols or indicia,” regardless of whether that expression has been fixed in tapes, disks, cards, or any other tangible medium of expression.

However, the fixed program must be used directly or indirectly in a computer. For purposes of copyright registration, a “computer” is defined as a programmable electronic device that can store, retrieve, and process data that is input by a user through a user interface, and is capable of providing output through a display screen or other external output device, such as a printer. “Computers” include mainframes, desktops, laptops, tablets, and smart phones.

A derivative computer program is a program that is “based upon one or more preexisting works.” Typically, a derivative computer program is a new version of a preexisting program, or a program that contains material from a preexisting work that has been revised, augmented, abridged, or otherwise modified such that the modifications as a whole represent an original work of authorship.

Source code is a set of statements and instructions written by a human being using a particular programming language, such as C, C++, FORTRAN, COBOL, PERL, Java, Basic, PASCAL, LISP, LOGO, or other programming languages. These statements or instructions are comprehensible to a person who is familiar with the relevant programming language, but in most cases a computer or other electronic device cannot execute these statements or instructions unless they have been converted into object code. This conversion is performed by a separate program within the computer, which is known as an interpreter, assembler, or compiler.

Object code is the representation of a computer program in a machine language. It typically consists of the numbers zero and one (i.e., binary coding), the numbers zero through seven (i.e., octal coding), or a combination of letters and numbers (i.e., ASCII or hexadecimal coding). Object code is comprehensible to a computer or other electronic device, but it is not intended to be read by human beings, and as a general rule, it is not directly comprehensible to human beings.

The U.S. Copyright Office views (draft) source code and object code as two representations of the same work. As a general rule, the Office will not issue separate registrations for the source code and object code versions of the same program. If a program was registered in unpublished form based on a submission of object code, the Office may register the first published version of the same program based on a submission of source code (or vice versa), even if the published version “is substantially the same as the unpublished version.”