As patent practitioners know, the law sometimes defines technical topics in ways that do not always accord with how engineers and scientists understand those same topics. With that, since this series addresses legal protections, its primary focus will be on the legal definition of technical matters.
Under U.S. copyright law a computer program is defined as “a set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result.” The program instructions can be fixed in any electronic, print, or other medium and are typically set out in human-readable source code and machine-readable object code form.
However, software rights owners have a strong interest in obtaining protection for more than the computer program’s literal code. For example, a program’s non-literal elements, such as its user interface, can be more valuable than the literal code itself. Thus, for the purposes of legal protections “software” is typically broader in scope than the more narrowly defined “computer program.” It includes system software (such as operating system software, which supports basic computer functions), applications software (which carries out specific tasks), and valuable related items such as:
(1) documentation, including user, system administrator, and other manuals; and specifications and instructions (including flow charts, block diagrams, and texts) that describe or depict the software’s architecture, configuration, functionality, testing, operation, interfaces, or other features, components, or requirements;
(2) libraries (code and data that can be used both by a computer program and multiple other, unrelated programs); and
(3) frameworks (for example, support programs, compilers, code libraries, toolsets, and application programming interfaces (APIs) used to develop the program.
With these basic definitional preliminaries out of the way, it is time to try to figure out what kinds of rights may be used to protect software. However, before getting to the rights themselves, it is important to carefully understand what it is that you would like to protect. In other words, don’t rush in to get protection before fully understanding what it is (at least at a high level, no one is saying that lawyers need to become computer engineers) that you are considering protecting.
Some helpful steps to set you on the right path include:
(1) Separating the computer program into literal and non-literal elements;
(2) Determining, on an element-by-element basis, which elements may be protected; and
(3) Identifying and evaluating any remaining software components.
Steps (1) and (2) are part of the abstraction-filtration-comparison used to determine which elements of a computer program are copyrightable. They are also helpful in identifying software elements that may be eligible for other forms of IP protection.
While not covered in this series, for the sake of completeness it should be noted that aside from software, per se, there is other computer output that can be protected, including data and data sets; content (e.g., textual works or audiovisual works); sounds (e.g., music or sound effects); images (e.g., screen displays) and graphical user interfaces (e.g., visual elements, such as buttons, icons, pull-down menus, windows, and scroll bars, that enable a user to interact with a computer). While many of the same laws that will be discussed here can be used to protect these items, further discussion of how that might be the case is beyond the scope of this series.
Join me next time for part three.