From its beginning, the law of copyright has developed in response to significant changes in technology.” [Sony Corp. v. Universal City Studios, Inc., 464 U.S. 417 (1984)] The tussle to gain a competitive edge and achieve dominance through the protection of intellectual property in the computing domain began as soon as the computer revolution started to turn heads. Scuffles between corporates soon followed with unprecedented issues at the core of the dispute. Gradually, the courts either evolved new principles or adapted the older ones to resolve the issues. The early ’80s saw plenty of unprecedented rulings that involved intricacies of intellectual property, primarily copyrights.
Computer Programs as Intellectual Property
Computer programs and databases are copyrightable de jure. The Copyright Act in the United States (17 U.S.C § 101) defines what comprises a computer program and lays down that it is “a set of statements or instruction to be used directly or indirectly in a computer in order to bring about a certain result.” A computer program that only produces multiplication tables or alphabets is not entitled to copyright protection. [Northern office Micro Computers v. Rosenstein, (1982) FSR 124 (SC of South Africa) at p. 134] The Indian Copyright Act, 1957, sets out a stricter interpretation through Section 2 (ffc) and lays down that, “computer programme means a set of instructions expressed in words, codes, schemes or in any other form, including a machine readable medium, capable of causing a computer to perform a particular task or achieve a particular result.” Section 14(b) extends copyright protection to computer programs.
Design of a Computer Program: Literal & Non-Literal Elements
By design, a programmer first breaks down the objective of a program into ‘subtasks’, also known as subroutines or modules. The programmer then arranges these subtasks into organizational or flow charts, mapping the interaction between different modules that achieve the program’s objective. In order to accomplish these inter-modular interactions, the programmer designs each module’s parameter list- i.e. the information sent to and received from a module. The functions of the modules in a program, taken together with each module’s relationships to other modules constitute the ‘structure’ of the program. One more term important to learn here is a ‘macro. It is a single instruction that initiates a sequence of operations or module interactions within the program, accompanied by an instruction from the parameter list to refine the instruction. Macros are, however, user-defined. Once these modules are identified, designed and their inter-relationships have been laid out conceptually, the culminating program structure is then embodied in a written language that is computer-readable- a process better known as coding. The code is written (source code) in one of the several computer languages and then compiled into object code (binary language), using a compiler. The source code along with the object code is what we consider as the literal element of any computer software.
The Information Technology Act, 2000, defines source code as “listing of programs, computer commands, design and layout and program analysis of computer resource in any form”. Apart from copyright protection, the IT Act goes a step further and criminalizes tampering as well as receipt of stolen computer software. (Section 65 and 66B, respectively) Though the source code is uniformly protectable across jurisdictions, disparity prevails when it comes to the object code. The Australian court of appeal in Apple Computer Inc. v. Computer Edge, (1986) FSR 73, has ruled that source code of a program comprises of original copyright work. However, object code was not itself a literary work as it was unintelligible and was not even a translation. Per contra, in Apple Computer v. Franklin Computer, 714 F 2nd 1240 (3rd Cir 1983), the United States appellate court held that the object code was indeed entitled to copyright. (256, Karnika Seth, Computers, Internet and New Technology Laws, 2nd Ed. 2016) The Indian legal position is not well-settled in this regard. While the Copyright Act protects the literal elements of computer software, it is largely uncontested whether the object code qualifies as a literal element or a non-literal element. Nonetheless, Article 10 of TRIPS agreement pertaining to ‘computer programs and compilations of data’ mandates that computer programs, whether in source or object code shall be protected as literary works under the Berne Convention (1971).