Journal of Law, Information and Science
Computer programs are protected under copyright law in most developed countries. Software piracy, resulting from outright copying of a substantial part of software code, will generally be an infringement of copyright. More problematical and contentious issues can arise when software is copied with the intention of producing interoperable or competing products through a process of reverse engineering the original software. This can often be the only way the underlying ideas in computer programs can be revealed, particularly when the software is made available only in machine-readable object code. Issues involving reverse engineering and copyright infringement have been most developed in the United States, where a liberal approach has been taken, under the doctrine of copyright fair use. Under US law, existing software can be copied and reverse engineered to enable compatible and competing programs to be developed, provided that a competing product can be regarded as ‘transformative’. Other jurisdictions, including the EU and Australia, have introduced specific legislation to provide narrow exceptions to copyright infringement of software, through reverse engineering, but only to accommodate interoperability. In other countries, including Japan, Canada and Singapore, the legislative framework is less developed, leaving issues involving reverse engineering and copyright to be resolved under existing fair dealing laws.
During the 1990s, interrelationships between copyright protection and reverse engineering of software became important issues, with diverse opinions existing within the computer industry. Some major computer companies, including IBM, Apple and Digital Equipment Company, took the position that reverse engineering involved unauthorised copyright infringement of software. Other major companies, including Sun Microsystems, NCR, Storage Technologies and Amadahl, believed that allowing reverse engineering was desirable, as it encouraged the creation of new works, particularly software compatible with existing programs.
Commercially, software is rarely distributed in a form from which the underlying ideas and principles, upon which the program is based, are readily deciphered. Most programs are made available to the user in object code, which is ‘machine readable’, but not readily understood by humans. To understand the underlying principles of the software, for example to create a competing product, a compatible product, or to correct an error, reverse engineering of the object code will often be necessary.
The debate over reverse engineering of software has been fuelled in the United States in particular by two prominent cases involving video games: Sega v Accolade and Atari v Nintendo. In particular, there has been commentary on the application of the fair use defence to copyright infringement during reverse engineering, which inevitably involves copying of at least part of the original program. Major issues arising include the debate over whether reverse engineering, if permitted, should be confined to the facilitation of creation of interoperable programs, or whether development of competing programs should also be allowed.
After presenting general technical concepts in software reverse engineering, the legal framework developed in the United States is discussed, with a particular emphasis on interoperability. While most of the litigation and associated commentary has, so far, arisen in the United States, the dominant global software provider, similar issues are arising in other jurisdictions, with the recognition of a need to formulate a regulatory framework. The current state of development in other jurisdictions, particularly Canada, Singapore, Japan, the European Union and Australia, is also discussed. A variety of approaches have been taken outside the United States, generally taking a less permissive view of reverse engineering of computer programs than that which has been developed under the US fair use doctrine.
To understand the legal issues surrounding reverse engineering of software, it is important to have some knowledge of how a program is constructed, compiled and executed, as well as the related terminology.
Section 101 of the US 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. Similar definitions are found in other jurisdictions. Computer programs can be broadly classified into two types: operating system programs and application programs. The function of each type was explained in Apple Computer v Macintosh Computers:
Application programs are designed for a specific task, such as the playing of a video game, preparation of a tax return, or the writing of a text. Operating system programs are designed primarily to facilitate the operation of application programs and perform tasks common to any application program.
A computer program is a list of instructions or statements for directing the computer to perform a required data-processing task. There are various types of programming languages that can be written for a computer, but the computer can only execute programs which are represented internally in binary form (i.e. a series of 1s and 0s). Programs written in other languages must be translated to the binary representation before they can be executed by the computer. The binary code representation is also known as machine language. For example, a machine language instruction may add two numbers, move data from one memory location to another, or determine whether a number is equal to zero. A machine language instruction such as the bit (binary digit) sequence 01101011 might correspond to the instruction to ‘add the contents of one register to another’. Very few programmers can readily understand machine language, and almost no program would currently be written directly in this form.
Instead, computer software is normally initially written by one or more programmers in a form known as ‘source code’, either as assembly code or a high-level language. Assembly language uses names in place of the bit sequences of machine language. For example, operation codes of the machine use suitable mnemonics, such as LOAD or MOVE. Computer memory addresses are given names called symbolic addresses, for example R1 or R2. As an illustration, the assembly code instruction:
LOAD x, R1
copies value x into register 1.
Despite the greater ease of use of assembly code over machine language, writing programs in this form is laborious, error prone and machine specific.
The shortcomings of assembly language programming led to the development of high-level languages, including FORTRAN, COBOL, C, C++, and Java. These languages more closely resemble ‘common languages’ such as English, and source code written in this form can be relatively easily understood by a programmer who has familiarity with the particular language. Although assembly code can be understood by humans, because one line of a higher-level language will translate into multiple lines of assembly code, the typical programmer will experience greater difficulty in understanding it.
Before the program can be executed, the source code must be transformed into ‘object code’ using a program called a compiler or assembler. If the program has been written in a high-level language a compiler is used. If the program has been written in a lower-level assembly language an assembler is applied. This process leads to a machine-readable binary code – a series of ones and zeroes – which can be interpreted by a computer, but virtually impossible for a human to understand. This form of the program is called the ‘object code’. Consequently, unlike most literary works, the underlying ideas are not readily apparent from object code.
Source code for a program written in a higher-level computer language will usually contain comments, labels and mnemonic variable names explaining the program’s instructions, and identifying functions of the code. These features are important to programmers who develop and maintain the software, bearing in mind that the cost of software maintenance is often many times that of its initial development. However, when the source code is compiled into a machine–readable version of the program, these additional features are not reflected in the resulting object code.
Compilers not only translate source code into object code but, in some cases, also optimise it by rearranging the instructions to improve efficiency, enabling the program to run faster.7 The compiler also appends code from libraries of prefabricated object code. This additional code eliminates the necessity for the programmer to create new source code for routine tasks that all programs have to perform, such as sending messages to the screen and reading data from the keyboard.
Software piracy is a form of illicit copying where there is a direct reproduction of a computer program without the copyright owner’s consent. Typically in this form of direct reproduction the copier will make an identical copy of the original computer program. Direct copying of the original code is known as ‘literal copying’. This form of copying occurs on a large scale, and is estimated to cost the software industry in the United States billions of dollars annually. Another form of copying occurs with the unauthorised reproduction of ‘non-literal’ elements, which are those aspects that are not reduced to written code, such as the overall program structure. This form of copying refers to the ‘look and feel’ of software components such as the user interface. Both literal and non-literal copying may occur at some stage of the software reverse engineering process, which is aimed at extracting the underlying ideas and functionality from an existing program. Copying for the purposes of reverse engineering encompasses more contentious regulatory and legal issues than outright software piracy, as delicate balances need to be struck between competing economic interests.
Various definitions of reverse engineering have been put forward. The United States Supreme Court defined reverse engineering as ‘a fair and honest means …[of] starting with the known product and working backwards to devine the process which aided in its development or manufacture’. Alternatively, a US District Court stated that reverse engineering was ‘the process of starting with a finished product and working backwards to analyse how the product operates’. The Australian Copyright Law Review Committee (CLRC) defined software reverse engineering as ‘the study or analysis of a computer program in order to reveal the underlying ideas or principle on which it operates’. This process has also been described as ‘the industry’s term for the analysis of a competitor’s program by examining its coding and structure in order to develop programs which either compete with the program which has been analysed or interface with that program’.
Reasons for reverse engineering of software include the following:
(i) Production of programs that look and perform like the software examined (clone creation);
(ii) Facilitating interoperability;
(iii) Facilitating porting (for example modification of an application program running on a Macintosh PC so that it operates in a Windows environment);
(iv) Facilitating error correction;
(v) Research and education, for example in training future programmers.
Regardless of its ultimate application or purpose, the process of reverse engineering is a contentious issue, because it potentially infringes the reproduction rights of the owner of copyright in the underlying program. Software vendors usually supply only object code to customers. A competitor wishing to create software for a compatible or interoperable product will usually need to examine human-readable code (source code rather than object code) to determine how the original software functions.
The initial development of software systems can be extremely expensive, and commercial returns uncertain. For example the development and marketing of its video game console PlayStation cost Sony Computer Entertainment over $600 million. Through a process of software reverse engineering of the Sony system, Connectix were able to market a competing emulator games console with a development cost of only about $150,000 – approximately 0.025% of Sony’s development costs. Such comparisons explain the economic incentives of a competitor to reverse engineer, and the technical and legal efforts employed to prevent others from utilising their intellectual property.
Reverse engineering to gain access to the underlying functional elements of a computer program can be achieved by several methods.[18 ] The main strategies include:
• Reading about the software in manuals provided by the company’s technical writers to discover how the program ought to work;
• Observe the program in operation by using it on a computer;
• Perform a static examination of the individual computer instructions comprising the program;
• Perform a dynamic examination of the individual computer instructions as the software is being run on a computer.
Reading about the program is the least effective method. Many manuals misdescribe the product, and would be particularly ineffective in situations where manufacturers intentionally do not make this information publicly available. Documentation may provide some useful information, but will almost always be incomplete, inaccurate and outdated when compared to the corresponding software. Opponents of software reverse engineering have suggested that sufficient information for compatibility purposes can be obtained by studying available documentation and observation of a program in operation. In practice this will rarely be a viable option.
The third and fourth methods of reverse engineering constitute ‘disassembly’ or ‘decompilation’ of the object code. These terms are often used synonymously with reverse engineering of software, but are actually subsets thereof. Decompilation of software occurs on conversion of the machine code into a high level language. Disassembly of a computer program is achieved by translating the machine code into human-readable assembly language. Thus, the only difference between decompilation and disassembly is the level of language obtained as a result of applying the process.
Machine code for any sizeable program will be unintelligible to any normal human. Using a program called a de-compiler, it is possible, to a limited extent, to convert machine or object code to a form resembling the original source code. Even if this is done the comments or explanatory notes will have been lost so that a decompiled program will usually be very difficult to understand.24
There are also a number of technical impediments that may restrict access to the object code itself, prior to attempting its decompilation. One is encryption of the machine code, as illustrated in the cases of Mars UK v Teknowledge and the recent US case of Universal City Studios v Reimerdes involving DVDs. The second technical difficulty is that the code may exist as the contents of a ROM chip. The contents of a ROM chip can be examined electronically or physically. If the chip can be removed from the printed circuit board its contents can be read out electronically in binary form through a test rig. Alternatively, in the physical deprocessing technique, after removing the outer protective plastic, acid is used to etch away successive layers of the silicon chip, and photomicrographs can reveal the actual binary notation encoded within the chip. This is the technique that was attempted by Atari in its reverse engineering efforts aimed at decompiling Nintendo’s locking code for its video games.
A technique sometimes used during software reverse engineering is the ‘clean room’ procedure, which may have the effect of reducing copyright liability of the reverse engineer. The technique is performed by dividing the reverse engineering activities between two groups, working in isolation. The first group extracts the underlying ideas from a computer program through reverse engineering. The embodiment of the ideas so obtained is passed to a second group for development of the new software product. In this way, the programmers who actually write the new code do not have direct access to the original expression of the first program. The clean room process can ensure that the final program is sufficiently different in its expression from the original that it is not itself an infringing copy. However the first group will have still copied the original program in order to extract the ideas by reverse engineering, so infringement by intermediate copying is still a possibility.
One of the main reasons for reverse engineering software is to enable new software products to interact with programs already available. Interoperability has been defined in the Digital Millenium Copyright Act as ‘the ability of computer programs to exchange information, and of such programs mutually to use the information, which has been exchanged’, with a similar definition being adopted by the Australian Copyright Law Review Committee. Interoperability or compatibility in computer systems can benefit consumers in many ways. For example, it avoids waste as users need not buy and learn new software, and may access additional options via networks.
The American Committee for Interoperable Systems (ACIS) is an industry lobby group whose members support the introduction of limited rights of software decompilation for purposes of interoperability. ACIS contends that:
• Market forces alone will not solve the ‘imperative of interoperability’;
• Decompilation is a technical necessity to achieve an adequate understanding of ideas and principles embodied in a computer program; and
• Decompilation is not a tool for pirates, and at most, it reveals a ‘distant shadow’ of the high level source code in which the program was written.
Issues relating to software reverse engineering and the degree of protection that should be afforded under copyright in this context have been intensely debated during the past decade. Copyright protects only the author’s original expression, not the underlying facts or ideas. As observed by the US Supreme Court, the fact/expression dichotomy severely limits protection of fact-based works, but it serves copyright’s primary objective of promoting ‘the Progress of Science and useful Arts’ by encouraging others to build freely on the ideas and information in a work.[36A] The scope of the limited monopolies granted to authors and inventors ‘involves a difficult balance between the interests or authors and inventors in the control and exploitation of their writings and discoveries on the one hand, and society’s competing interest in the free flow of ideas’. United States courts have also recognised that there is a major public benefit to reverse engineering, encouraging inventors and businesses to develop similar products, facilitating healthy competition in the open market.
Software reverse engineering utilising disassembly or decompilation will involve intermediate copying of the target program. Reverse engineering by these processes will require production of a copy of the original program, for example, by loading the program into memory or copying the program to a printer or display terminal.[40 ] An unauthorised act of copying will be an infringement of copyright, violating one of the bundle of rights enjoyed by the owner of copyright. Software will usually contain both copyrighted and unprotected or functional elements. Copyright law protects only the author’s expression and not any ‘idea, procedure, process, system, method of operation, concept, principle or discovery’. Functional elements of software are excluded from copyright protection. Otherwise protectable ideas can also be precluded from copyright protection under the doctrine of ‘merger’ which applies when ideas can be expressed only in a limited number of ways. The extent of copyright protection to non-literal elements of software, those that conceptually fall between ideas and literal expression has been a vexing question for many years. A leading approach taken to determining the scope of copyright protection for software is the three-part abstraction-filtration-comparison test, first used by the Second Circuit in Computer Associates Inc v Altai, and subsequently applied in other cases in the US and UK.
There has been significant debate within the academic community in regard to the type and level of intellectual property protection that should be given to computer programs, and the desirability of permitting reverse engineering within that framework. One view is that, without allowing reverse engineering, there is a risk that copyright protection of software provides the owner with a degree of protection similar to a patent on the program’s functionality. This extent of protection will have been acquired without the need to establish the more rigorous requirements of novelty and inventive step needed to obtain a patent. Computer programs are inherently unique amongst copyright-protected works. Other works openly exhibit their ideas and other unprotected elements. Programs in object-code form differ from all other publicly available copyright-protected works in that they cannot be read by human beings. Kajala argues that unless it is permissible to transform the program as a whole into a humanly-intelligible form, the unprotected ideas and methods are inaccessible, and the fundamental premise of traditional copyright is distorted.[51A] Others assert that this viewpoint is weakened because distinctions between ideas and their expression are very difficult to identify in the digital environment.
Graham and Zerbe undertook an economic analysis of the effects of reverse engineering on societal welfare. They argue strongly in favour of permitting reverse engineering of software, believing that computer programs currently enjoy a fortuitous benefit in certain prohibitions of reverse engineering, derived in part from the misclassification of software as a work of authorship. The authors contended that this misclassification could be corrected by a broader application of patent law to software, with the main role of copyright with regard to software being to provide protection against piracy.
Graham and Zerbe believe that reverse engineering is desirable53 as this enhances disclosure, which is a key factor in an economically efficient system of intellectual property protection. This avoids duplication in research, which is detrimental to technological progress and society. These commentators are critical of those who suggest that allowing reverse engineering is not in the public interest, such as Professor Arthur Miller. Opponents of the legalisation of software reverse engineering suggest that inadequately rewarding creativity will lead to the generation of too few ideas, which is contrary to the public interest.
The American position on the legality of software reverse engineering has been developed largely under the doctrine of fair use. Title 17 of the United States Code, section 107 provides:
The fair use of a copyrighted work… for purposes such as criticism, comment, news reporting, teaching, ….scholarship, or research, is not an infringement of copyright. In determining whether the use made of a work in any particular case is a fair use the factors to be considered shall include:
(i) The purpose and character of the use, including whether such use is of a commercial nature or is for non-profit educational purposes;
(ii) The nature of the copyrighted work;
(iii) The amount and substantiality of the portion used in relation to the copyrighted work as a whole;
(iv) The effect of the use upon the potential market or value of the copyrighted work.
Two prominent cases involving software reverse engineering in relation to video games, Sega Enterprises v Accolade (‘Sega’) and Sony v Connectix (‘Sony’), decided by the 9th Circuit Court of Appeal, illustrate the approach applied in US courts under the fair use doctrine.
Sega Enterprises (‘Sega’) developed and marketed video entertainment systems including the Genesis console and video game cartridges. Sega licensed its copyrighted computer code to a number of independent developers of computer game software. Accolade was an independent developer, manufacturer and marketer of computer entertainment software. Without license from Sega, Accolade used a two-step process to produce video games compatible with the Genesis console, essentially an application of a ‘clean room procedure’. Accolade reverse engineered machine-readable object code from commercially available Sega game cartridges to produce human-readable source code through a process of disassembly. It also investigated the interface requirements between Sega’s game cartridges and console.
Accolade employees then created a manual containing only functional descriptions of the interface, without copying any of the original Sega code. In developing its own games, Accolade relied on information in its development manual. In 1990, Accolade released the game ‘Ishido’, for use with the Genesis console, having originally developed the game for use with the Macintosh and IBM PC.
As a result of increasing concerns over the rise of piracy, particularly in Taiwan and other Southeast Asian countries, Sega had incorporated a licensed trademark security system (TMSS). When a game cartridge is inserted, a microprocessor in the Genesis console searches the game program for four specific bytes of data, known as the TMSS initialisation code. Only if the Genesis console finds the TMSS initialisation code in the right location is the game compatible to operate with the console. Accolade had discovered the initialisation code during its reverse engineering process, and had added the TMSS code to its development manual in the form of a standard header to be used in all game programs. This header file contained approximately twenty-five bytes of data, whereas each of Accolade’s games typically contained 500,000 to 1,500,000 bytes. Accolade asserted that this header file was the only part of Sega’s code it had directly copied and incorporated into its own game software.
Accolade raised four arguments to support the position that disassembly of Sega’s object code did not constitute an infringement of copyright:
• Intermediate copying will not infringe copyright unless the end product constitutes a substantial infringement;
• Disassembly is required in order to understand the ideas and functional concepts in the software is lawful under s. 102(b) of the Copyright Act which exempts ideas and functional concepts from copyright protection;
• Disassembly is authorised by s. 117 of the Copyright Act which entitles the lawful owner of a computer program to load the program onto a computer;
• Disassembly of Sega’s object code to gain an understanding of the ideas and functional concepts is a fair use under s. 107 of the Act.
In considering the first three arguments, the court failed to find a successful defence against infringement:
Citing Walker v University Books the court held that the Copyright Act did not differentiate between unauthorised copying of a copyrighted work depending on the stage of the alleged infringement. Intermediate copying of object code may infringe copyright, regardless of whether the end product of the copying also infringes copyright.[59 ]
The Court rejected the proposition that disassembly of object code was not an infringement of copyright because it was necessary to gain access to the unprotected underlying ideas and functional concepts. The Court reasoned that such a proposition would lead to the conclusion that object code was not eligible for the full range of copyright protection, an outcome it rejected. However, the fact that the interface procedures were made available to the public only in object code form, which cannot be read by humans, was subsequently taken into account under the fair use provisions in considering access to functional elements and the nature of software as a copyrighted work.
Section 117 of the Copyright Act permits the lawful owner of a computer program to copy or adapt the program provided this constitutes ‘an essential step in the utilisation of the computer program in conjunction with a machine and …is used in no other manner’. The court noted that s. 117 of the Copyright Act was enacted on the recommendation of CONTU.[62 ] The reasoning given was that ‘because the placement of any copyrighted work into a computer is the preparation of a copy [loading into computer memory] the law should provide that persons in rightful possession of copies of programs be able to use them freely without fear of exposure to copyright liability’. The court held that Accolade’s actions, in disassembling Sea’s object code, clearly went beyond activities sanctioned under s. 117.
The 9th Circuit Court of Appeal considered each of the four statutory factors relating to fair use.
Where copying is for a commercial purpose there is a presumption of unfairness, rebuttable by further considering the characteristics of a particular use. The court found that there had been only intermediate copying and thus any commercial exploitation was indirect. Furthermore, Accolade’s purpose was to study the functional requirements to achieve compatibility with the Genesis console, so that there was minimal commercial significance in copying Sega’s code.
In addition, the court found that there was a public benefit derived from Accolade’s identification of the functional requirements for Genesis compatibility, increasing the number of independently designed games available for use with this console. It argued that this was precisely the type of desirable growth in creative expression referred to in Feist Publications.
In focussing on the fourth statutory factor, the effect on the potential market for the copyrighted work, the Court emphasised that it is important to distinguish between copying to further ‘independent creative expression’ and ‘simple exploitation of another’s creative efforts’. The Court found that Accolade, by making available additional games compatible with Sega’s Genesis console, had only affected the market in an indirect fashion. The reasoning used was that the games produced by Sega and Accolade were not substantially similar. As video game users typically purchase more than one game, any economic loss to Sega would be minor.
The level of protection given to a copyrighted work depends on its nature, this being reflected in the third statutory factor. The Court recognised that computer programs pose unique problems in the application of the ‘idea/expression’ distinction that determines the extent of protection. Computer programs, being essentially utilitarian in nature, contain logical, structural and visual display elements dictated purely by functional considerations, efficiency factors, or external requirements such as compatibility or industry demands.
In examining the nature of the copyrighted work, the Court referred to the effect of a clean room scenario on avoidance of infringement. Clean room techniques can prevent direct copying of a competitor’s code during software development, as programmers in the clean room environment are provided only with functional software specifications. However the need for disassembly to discover the functional requirements still persists, so that this mechanism does not, in itself, avoid copyright infringement, because of the necessity for intermediate copying.
The Court concluded that disassembly of the object code in Sega’s video game cartridges was necessary to understand the functional requirements for compatibility with the Genesis console. The public only had access to the Genesis console interface procedures in machine-readable object code form, and because humans cannot read this, disassembly was required, which necessarily involves copying. Sega’s video game software contained unprotected elements that could not be examined without copying, and consequently the programs were afforded less protection under copyright in comparison to traditional literary works.
Accolade had copied and disassembled entire programs originating from Sega. Consequently, a consideration of the third statutory factor leans away from a finding of fair use by Accolade. However, citing Sony v Universal City Studios and Hustler Magazine v Moral Majority the Court found that copying an entire work does not preclude a finding of fair use, and should be given very little weight where the ultimate use of the copying was of a limited nature.
The 9th Circuit Court of Appeal concluded that the first, second and fourth statutory fair use factors weighed in favour of Accolade, while only the third factor gave limited support to Sega’s position. The Court set out the following rule:
Where disassembly is the only way to gain access to the ideas and functional elements embodied in a copyrighted computer program and where there is a legitimate reason for seeking such access, disassembly is a fair use of the copyrighted work, as a matter of law.
The approach taken by the 9th Circuit in Sega was applied and further developed in Sony v Connectix.[67A] In the intervening period between Sega in 1992 and Sony in 2000, the case of Campell v Acuff-Rose Music came before the US Supreme Court. Campbell did not involve reverse engineering of software, but was important in further developing the doctrine of fair use.
Sony produced and marketed the Sony PlayStation console, a small computer with hand controls that connects to a television, and plays games that are inserted on compact discs. In addition, Sony developed, manufactured and distributed PlayStation games, also licensing other companies to make games compatible with the PlayStation. Introduced in 1995, the PlayStation was a worldwide commercial success, selling over 20 million copies, thereby establishing Sony as a leader in the industry. The PlayStation console contained both hardware components and software written to a read-only memory (ROM) chip (firmware). Sony owned the copyright in the basic input-output system (BIOS) in the PlayStation. Connectix made and sold a program called ‘Virtual Game Station’, the purpose of which was to emulate the functioning of the Sony PlayStation console on a personal computer. Purchasers of the Virtual Game Station software could play Sony PlayStation games on their personal computers without having to buy the Sony console.
To emulate the PlayStation’s BIOS, Connectix purchased a PlayStation and removed the chip containing the BIOS. The contents of that chip were repeatedly copied by Connectix engineers into the RAM of their personal computers during the process of reverse engineering. The copying was of an intermediate nature, undertaken to understand the functioning of the PlayStation, with the result that none of the Sony copyrighted computer code appeared in the Connectix emulator program.
The Court applied the fair use statute and the rule set out in Sega.
The approach taken in considering this factor was somewhat different to that in Sega. In Sony the court stressed the importance of looking into whether, and to what extent, the new work is ‘transformative’. In 1994, two years after Sega was decided, the US Supreme Court gave a clear indication in Campbell v Acuff-Rose Music[69A] that in considering fair use in the context of works of commercial character, the concept of ‘transformative use’ was important.[69B] The Supreme Court stated that an infringement is transformative if it ‘adds something new, with a further purpose or different character altering the [original] with new expression, meaning or message’ so that the infringement avoids superseding or supplanting the original’s expression or purpose. The Court found that Connectix’s Virtual Game Station was modestly transformative. The new product enabled consumers to play games designed for the Sony PlayStation on a new platform, the personal computer. The innovation opened up the possibility for game play in new environments, without access the Sony PlayStation and television, but with availability of a personal computer with a CD-ROM drive.
The court also expressed the opinion that it would be difficult for the Connectix program to be other than transformative, when its Virtual Game Station comprised entirely new object code, despite similarities in function and screen output. The court was persuaded that the Virtual Game Station was transformative, and did not merely supplant the PlayStation console.
Citing the comment in Campbell v Acuff Rose Music[69C] that ‘some works are closer to the core of intended copyright protection than others’, the court found that Sony’s BIOS did not lie within this ‘core’ because it contained unprotected ideas that could not be examined without copying. As in Sega, the program was held to have a lower degree of copyright protection than more traditional literary works. The Sony BIOS, within an internal operating system, contained unprotected functional elements for which there was no screen display to reflect its functioning. Little technical information about the Sony BIOS was made publicly available. Some form of reverse engineering was therefore necessary for Connectix to gain access to the unprotected functional elements within the BIOS software.
The approach taken by the 9th Circuit in both Sega and Sony was also used by the Federal Circuit in Atari v Nintendo which stated that reverse engineering is justified where it is required to ‘undertake necessary efforts to understand the [copyrighted] work’s ideas, processes, and methods of operation’. The Federal court in Atari also expressly sanctioned intermediate copying during reverse engineering of software: ‘Where the nature of a work requires intermediate copying to understand the ideas and processes in a copyrighted work, that nature supports a fair use for intermediate copying’.
Connectix used several methods of reverse engineering: observation within an emulated environment, and through partial disassembly. Each method required Connectix to make intermediate copies of the Sony BIOS. Its approach to reverse engineering was to load disassembled code back into a computer and experiment to discover the interface specifications. This necessitated repeatedly making intermediate copies of the Sony software. The court found that each of the reverse engineering approaches employed by Connectix could come within the fair use provisions. It rejected the argument put forward by Sony that Connectix infringed the Sony copyright by making repeated copies of the Sony BIOS.
Sony argued that the principles enunciated in Sega limited fair use for copying code to the number of instances strictly necessary to access the functional elements. Sony maintained that repeated copying by Connectix was beyond that strictly necessary because an alternative approach was feasible. That alternative was for Connectix to disassemble the entire Sony BIOS program, uncover the functional elements contained therein, then write code for a Connectix BIOS to be used with the Virtual Game Station emulation software. The Court was not persuaded by Sony’s argument and stated that ‘necessity’ to copy referred to the method itself, such as disassembly, not the necessity of the number of times that the method was applied. Aware of difficulties of applying legal standards to evolving technologies, the Court refused to ‘supervise the engineering solutions of software companies in minute detail’.
Connectix copied the entire Sony BIOS multiple times and disassembled parts of the BIOS. As in Sega, this factor was considered of little weight in situations where the final product does not itself contain infringing material.
Under the fourth statutory factor, the extent of market harm caused by the alleged infringer is considered. Citing Acuff-Rose,[71A] the court stated it should consider ‘whether unrestricted and widespread conduct of the sort engaged in by the defendant would result in substantially adverse impact on the potential market’ for the original. The Court emphasised the fact that a transformative work is less likely to cause a substantially adverse impact on the potential market of the original than a work which merely supplants or supersedes the other. The Court acknowledged that there was a possibility that Sony would lose sales and profits from potential purchasers of its console. Despite this, because the Virtual Game Station was transformative, it was a legitimate competitor in the market for systems on which Sony games could be played. Although Sony might suffer some economic loss from such competition, this does not, in itself, preclude a finding of fair use. The Court emphasised that copyright did not confer a monopoly, and Sony’s desire to inhibit competition, although understandable, was not in accord with the primary objective of copyright of promoting creative expression.
Following the decisions in Sega v Accolade and Atari v Nintendo, curtailing the ability of copyright law to restrict reverse engineering of computer programs, many software developers are attempting to place greater reliance on contractual restraints. Shrinkwrap license agreements are the most common method of protecting mass-marketed software. With this type of agreement, the contractual terms under which the software is made available are stipulated by the vendor, are encased within the plastic wrapping within which the software is packaged. Generally, the purchaser does not have an opportunity to read the licence terms before purchase. The software vendor’s intention is that by opening the plastic wrap and using the software, customers will be bound by the terms of the license. Although the enforceability of shrinkwrap licenses was not upheld in earlier cases, later cases have found such licenses to be valid. Typical shrinkwrap agreements impose restrictions on the use, reproduction, and modification of the software by the consumer. It is common to include terms that expressly prohibit reverse engineering, reverse compiling or disassembly of the software for any reason.
Several issues have been raised in considering the validity of contractual terms prohibiting reverse engineering of software. First is the question of the general enforceability of a shrinkwrap contract when viewed as an adhesion contract. Second is the issue of whether a licence agreement prohibiting the use of copyrighted software in defined ways can be considered as copyright misuse.[79 ]Third is the question of whether federal patent law preempts private contracts restricting reverse engineering.
An adhesion contract is a standardised form contract, and these comprise the majority of contracts made in the United States. Typically, the agreement consists of a standard printed form prepared by the party in the superior bargaining position, and adhered to by the other party, who has little or no opportunity to bargain. Effectively the goods or services are provided on a take-it-or-leave–it basis. Terms of an adhesion contract may be unenforceable when the adherent was unaware of the provision, which a reasonable person would not anticipate, or the terms are oppressive or unconscionable. Although court decisions involving shrinkwrap licences have not undertaken extensive analyses on adhesion contract issues, several commentators have drawn attention to their potential importance.
In the United States, copyright misuse has developed as an equitable doctrine, and can be considered an outgrowth of patent misuse. In 1990, a copyright misuse defence was applied in Lasercomb America v Reynolds. The case, involving computer software, relied on the patent misuse doctrine in Morton Salt v G.S. Suppiger, which found that an attempt to use a patent to restrain competition in the sale of an unpatented item was contrary to public policy. Until the Fourth Circuit decision in Lasercomb, the misuse defence had received little recognition in copyright law. The copyright misuse defence prohibits recovery as a result of copyright infringement when the copyright holder uses the copyright ‘to secure an exclusive right or limited monopoly not granted by the Copyright Office and which is contrary to public policy’.[86A]
Lasercombe, a software licensor, included a restrictive covenant precluding licensees of its die-making software from participating in the development of competing programs for ninety-nine years. The court held that the copyright misuse doctrine was applicable. It recognised the fundamental distinction between idea and expression and that a licence preventing licensees from developing competing software effectively extended copyright to unprotectable ideas. Subsequently the Fourth Circuit in Service & Training Inc v Data General considered the extent to which a copyright holder is entitled to tie service support to diagnostic software, and also recognised the possibility of copyright misuse as a valid defence.
More recently the Fifth Circuit considered the application of copyright misuse in Alcatel USA v DGI Technologies. Alcatel manufactured and sold telephone switching devices which incorporated a microprocessor card and specific operating system and interface software. Purchasers were bound by a license agreement which did not permit the use of its software in conjunction with any non-Alcatel microprocessor cards. DGI sought to establish a competing market in microprocessor cards with equivalent functionality to Alcatel’s microprocessors. Through a process of reverse engineering, DGI revealed the functional components of an Alcatel microprocessor card. It was also necessary to discover how the card interoperated with the Alcatel operating system. Access to the operating system was restricted to Alcatel licensees. DGI persuaded an Alcatel customer to allow access to the software for ‘testing’ purposes. During this process, DGI made an unauthorised copy of the software, enabling it to develop a compatible and competitive card.
The Court held that preventing a competitor access to copyrighted software is copyright misuse where a license agreement enables the copyright holder to gain indirect commercial control over an unprotected product used in conjunction with the copyrighted software. Even though Alcatel’s license agreement did not restrict development of a competing product, the license agreement and copyright-protected software needed to design an interoperable system combination produced a ‘limited monolopy’ over the uncopyrighted microprocessor cards. This justified a defence of copyright misuse.
These recent applications of the copyright misuse defence have given rise to debate on its potential application to situations pertaining to software reverse engineering. Opinion appears to be divided as to the desirability of the trend towards greater recognition of the misuse defence. Leaffer[89A] believes that reliance on copyright misuse would undermine many of the current licensing practices in the software industry. The argument for copyright misuse is that the copyright owner is attempting to leverage copyright beyond the terms of the grant. According to Leaffer, a stronger counter-argument is that it is impossible to gain access to unprotected elements without simultaneously copying protected elements because of the highly integrated nature of software.
Other observers have argued in favour of application of the copyright misuse defence. Georgenson believes that application of the misuse defence in software engineering cases provides a more consistent approach than the fair use defence. She argues that the primary weakness in the fair use defence in its application to reverse engineering cases is that the intermediate copying is undertaken for purely commercial purposes, which the Supreme Court has found presumptively unfair. The Sega court looked at the effect on the marketplace if intermediate copying were an infringement, concluding that this would lead to a de facto monopoly on unprotected ideas. Georgenson contends that other decisions do not reconcile easily with the position in Sega.[91A] In particular, in Lotus Development v Borland International the court held that the commercial purpose of copying precluded the application of the fair use defence. It noted that both direct and intermediate copying are commercial in nature because ‘the user stands to profit from exploitation of the copyrighted material without paying the customary price’.
The increasing use of reverse engineering by third-party software developers has in turn encouraged the utilisation of technological protection measures. Lock-out programs are designed to make reverse engineering more difficult. For example, several video game manufacturers have developed specialised lock-out programs which limit access to their hardware to disks or cartridges that contain the corresponding ‘key’. However, lock-out programs can also be reverse engineered, thereby complicating but not defeating third-party software development efforts.
In Atari Games v Nintendo, Nintendo developed a home video game system, the NES, which included a monitor, console and controls. Users of the system placed cartridges containing game programs into the console. Nintendo designed a program called the 10NES to prevent the NES from accepting unauthorised game cartridges. The 10NES software was incorporated into microprocessors in both the NES console and authorised game cartridges. The result was that the console contained the ‘lock’ and the game cartridges contained the corresponding ‘key’. When an authorised cartridge is inserted into the console, the key in the game cartridge opens the lock, enabling the user to play the game. However, if an unauthorised cartridge is inserted no unlocking code is detected, the game program will not run on the console, and an effective access control mechanism is provided.
In 1987 Atari entered into a licence agreement with Nintendo. Under this licence, Atari provided Nintendo with software for games, which Nintendo placed on cartridges containing the 10NES access control program. The games were resold to Atari, who could market the games to NES owners.
Prior to entering the licence agreement with Nintendo, Atari had tried unsuccessfully to analyse and replicate the NES security system. Atari had attempted to monitor the communication between the processors containing the lock and key functions. Atari also attempted to analyse the chips themselves by chemical peeling followed by microscopic examination. In 1988, after Atari had entered into the licence arrangements with Nintendo, Atari obtained a copy of the 10NES program. It achieved this by an application to the Copyright Office, falsely alleging that it was required for litigation. Atari used the copy of the 10NES program to correct errors in its transcription of the program from the peeling process.
Atari then developed a program called Rabbit which was functionally equivalent to Nintendo’s 10NES software, although written in a different language. Rabbit generated signals indistinguishable from the 10NES program and enabled Atari to market games to NES owners without compliance with Nintendo’s licence conditions.
After Atari started producing unauthorised NES-compatible video games, Nintendo filed suit for copyright infringement, seeking a preliminary injunction in the district court. Although Atari argued that that it had taken only unprotected functional elements, the court granted Nintendo a preliminary injunction.
On appeal, the Court of Appeals for the Federal Circuit upheld the preliminary injunction. In considering whether reverse engineering was a copyright infringement, the court noted that the Copyright Act encourages authors to share their creative works with society. The Act balances ‘the interests of authors…in the control and exploitation of their writings… on the one hand, and society’s interests in the free flow of ideas and information …. on the other hand’.[99 ] Furthermore, while providing exclusive rights to expression the Act ‘encourages others to build freely upon the ideas and information conveyed by a work’. The court stated that copyright did not provide patent-like protection by virtue of an author putting an idea, process or method of operation into an unintelligible form.
In considering its application of the fair use defence to software reverse engineering, the Court noted that purposes including ‘criticism, comment and research’ were expressly stated in section 107 of the Copyright Act, to foster public understanding and dissemination of ideas. Citing Twentieth Century Music v Aiken the court observed that adaptation of the literal fair use exceptions was permitted to technological change.
The Court held that when the nature of a work requires intermediate copying to understand the underlying ideas and processes that reproduction was a fair use. To be considered a fair use, that reproduction should not exceed what is necessary to understand the unprotected elements of the work.
Federal and criminal sanctions have been established against persons who circumvent digital locks by the Digital Millenium Copyright Act (‘DMCA’). Section 1201 provides: ‘No person shall circumvent a technical measure that effectively controls access to a work protected under this title’. Manufacture of circumvention devices has also been made illegal.
The term ‘circumvent a technical measure’ is defined as ‘to descramble a scrambled work, to decrypt an encrypted work, or otherwise to avoid, bypass, remove, deactivate, or impair a technological measure’. The technological measure must effectively control access to the work in the ordinary course of its operation. It has been anticipated that the use of a simple password or some type of encryption program would satisfy the requirements of a ‘technical measure’ which ‘provides effective access control’.[105 ]
The issue of digital locks arose recently in the context of DVDs (Digital Versatile Discs) in Universal City Studios v Reimerdes, which provides further insight into the limits of interoperability under fair use doctrine. DVDs are dics which can hold motion pictures in digital form, and commonly utilise an access control system known as Content Scramble System (CSS). This is an encryption-based security authentication system, licensed to hundreds of DVD player manufacturers. The case arose from a situation where a teenager allegedly cracked the encryption code. The action was brought under the DMCA for offering or providing a device to circumvent a technological protection measure. The defendants argued that reverse engineering of the software lock was required to allow interoperability on other platforms such as Linux. Kaplan J rejected this, holding that reverse engineering was not allowed in a situation where the software content and lock had merged.[107A]
One of the main criticisms of the DMCA in regard to application to digital locks is the complexity of the statute.[107B] The anti-circumvention provisions are subject to nine exceptions or defences, described by Anawalt[107C] as a ‘bewildering array of internal cross references, definitions and exceptions’. This complexity makes it difficult for innovators to obtain a clear understanding of the DMCA on digital locks.
The issue of reverse engineering through disassembly was considered by the Singapore Court of Appeal in 1996 in Creative Technology v Aztech Systems, and gives insight into the current position under that jurisdiction. Creative had developed a Sound Blaster card, which could be installed into a personal computer to produce stereophonic sound enhancement and sound effects, becoming the world market leader with this type of technology. Aztech developed Sound Galaxy, a competing sound card, which was interoperable with applications designed to run with Sound Blaster. Aztech also reverse engineered the program TEST-SBC, part of the software that Creative bundled with the Sound Blaster card.
Aztech had admitted copying of the entire TEST-SBC program for the purposes of ‘understanding functionality in order to make a non-infringing, compatible product’.
Section 35(1) of the Singapore Copyright Act (SCA) provides that fair dealing with a literary work for the purpose of private research or private study shall not constitute an infringement. Section 35(2) SCA provides four factors to be taken into account in determining whether a dealing is fair, analogous to the US fair use defence:
(i) The purpose and character of the dealing, and whether the dealing is of a commercial nature;
(ii) The nature of the work;
(iii) The amount and substantiality of the copying;
(iv) Effect on potential market.
However, the Singapore legislation also specifically states that ‘research’ shall not include commercial research carried out by bodies corporate, companies, or bodies of persons carrying on a business: s. 35(5) SCA. Aztech’s copying of TEST-SBC did not qualify as fair dealing being research for commercial purposes. The Singapore legislation does not permit the flexibility of its US counterpart, which effectively allows an exception for commercial reverse engineering in the interests of interoperability, as illustrated by the Sega case.
Under Japanese Copyright Law (JCL), amended in 1985, computer software is protected as ‘program works’. In contrast to US copyright law, JCL has no general fair use provision, nor does it have specific fair use provisions permitting copying for research or study. Article 47-2 of the JCL explicitly permits copies or adaptations of programs ‘to the extent deemed necessary for the purpose of exploiting that work in a computer’. The JCL does not state that Article 47-2 is the only fair use exception in relation to software works, but is suggestive that this is the case. As observed by Mishra, most of the available discussion on software decompilation and copyright in Japan is derived through commentary rather than case law.
One case where copyright of computer programs and reverse engineering was considered under Japanese law, prior to the 1985 JCL amendments, was Microsoft Corporation v Shuuwa System Trading KK. This case involved disassembly of the object code representation of Microsoft’s BASIC interpreter. The defendant published the resultant source code, adding labels and commentary. The court held that both the conversion of the plaintiff’s object code into hexadecimal form and the process of disassembling the hexadecimal code into assembly language constituted copyright infringement.
In 1993 the Japanese Agency of Cultural Affairs announced the possibility of amending Japanese copyright law to allow reverse engineering of software. The announcement received strong criticism from the Clinton administration in the United States, although the US computer industry was split on the issue. The Business Software Alliance (BSA), comprising software producers with US software sales of approximately $18 billion, opposed the Japanese proposal. Their concern was that if Japanese software manufacturers could freely access the underlying ideas in American software, they could produce competing software at a lower price.[115 ] In contrast, the American Committee for Interoperable Systems (ACIS), comprising thirty companies, predominantly hardware manufacturers, favoured allowing Japanese to reverse engineer software. ACIS took the position that permitting reverse engineering would enable US hardware manufacturers to achieve compatibility with Japanese hardware more easily. The result was that the Agency backed down due to considerable US pressure.
Despite the contention that the law in Japan, if literally interpreted, prohibits the reproduction and adaptation of computer programs for the purpose of reverse engineering, some commentators have suggested that decompiling of software may be permissible under existing Japanese law.[119A] One argument is that decompilation would be allowed under some kind of fair use principle not explicit in the statute. Mishra[120A] has also suggested that under Article 47 an owner of a program is allowed to make copies and adaptations of a computer program ‘to the extent deemed necessary for the purpose of exploiting that work in a computer’, and that decompilation can be considered a legitimate use. Mishra believes that the Microsoft case has been wrongly interpreted as authority for the conclusion that reverse engineering of software will result in copyright infringement under Japanese law. In the Microsoft case, a major issue in finding the defendant liable was the reproduction of the entire source code in a published manual. According to the plaintiff’s lawyer, the legality of the reverse engineering process itself was not an issue at the trial. Mishra[121A] believes that the Microsoft case can be distinguished from US cases involving reverse engineering, because it was the entire process, including publication of the source code that resulted in a finding of infringement.
Within the European Community, Directives are the primary means used to harmonise laws of Member States, with individual counties having discretionary power as to the means of implementation. In 1991, a Directive was issued on protection of software, noting that: ‘Whereas the development of computer programs requires the investment of considerable human, technical and financial resources….computer programs can be copied at a fraction of the cost needed to develop them independently’. The issue of whether to permit or prohibit reverse engineering was the subject of intense debate prior to the formulation of the Directive.
During the debate, small and mid-sized companies, including Bull and Amstrad, formed a lobbying group called the European Committee for Interoperable Systems (ECIS). ECIS argued in favour of reverse engineering asserting that this would lead to a high degree of interoperability and encouraging competition between software developers. Others in the software industry, particularly giants such as IBM, Apple, Microsoft and Lotus advocated the prohibition of reverse engineering, forming an alliance known as the Software Action Group for Europe (SAGE). SAGE argued that permitting reverse engineering would deter investment by the major companies through increased risk of software piracy. They advocated licensing agreements, and gave assurances that European antitrust laws would counteract any threats of monopolistic practices in the software market practices.
The debate led to the Amended Proposal which would permit reverse engineering of software, provided it was necessary to achieve interoperability. This proposal led to further debate on the scope of the ‘interoperability exception’. The SAGE group wanted the exception to be restricted to independently created software that would interface with or attach to the original program (i.e. connecting programs). The ECIS group lobbied for a broader interoperability exception, which would also include programs functionally equivalent to the original (i.e. competing programs). The Directive adopted in 1991 took the broader view, permitting reverse engineering for the purpose of achieving interoperability for both connecting and competing programs.
Article 6 of the Directive permits program decompilation by legitimate users where this is essential to obtain information required to create an independent interoperable program. The information must not otherwise be readily available to the legitimate user, and is limited to those portions of the copyrighted code necessary to achieve interoperability. However Article 6 has been criticised in that the Directive itself does not sufficiently define the term ‘interoperable’, despite the fact that this is the threshold criterion for permitting decompilation. It appears that the courts of the European Community or Member States will have to determine the scope of interoperability.
There are also uncertainties in the interpretation of the requirement that the information required to achieve interoperability with the underlying program must not have ‘previously been readily available’. The Directive gives little indication of the interpretation of this requirement. The extent of the program documentation, which would need to be provided to third parties to substantiate unlawful decompilation, is unclear. Also unclear is the effort required by a user to obtain the requisite information from the software creator before concluding that it is ‘not readily available’.
There are a number of significant differences between the European and US approaches to software reverse engineering. The EU Directive limits access to the requirements for interoperability. Under the fair use interpretations developed in Sega, Nintendo and Sony, a much broader right to reverse engineer software appears to be permitted in the US than in Europe. A significant feature of the Directive is Article 9.1, which voids any contractual obligation contrary to the decompilation provisions under Article 6. This contrasts with the US position where shrinkwrap licences commonly purport to limit activities such as decompilation, and the position is evolving under the copyright misuse doctrine.
Most EC Member States have followed the intent of the Directive, if not its precise language. Some countries, such as the UK have integrated the Directive into existing copyright law. Other Member States have chosen to implement the Directive as ‘stand-alone’ legislation. Prior to the EU Directive reverse engineering of computer programs was generally prohibited under French law. France modified its existing Intellectual Property Code in 1994, containing copyright law provisions, to comply with the Directive. In Belgium, the Directive was also adopted in 1994. Article 7 of the Software Act provides for decompilation subject to the interoperability requirement, according to the specific circumstances set out in the Directive. In addition, the Belgian statute addressed moral rights, but it is not certain under the Act whether application of the general fair use exceptions are now excluded.
In the UK, the provisions of Article 6 were enacted through the Copyright (Computer Programs) Regulations 1992 (UK). Under the new Section 50B of the 1988 Act decompilation is not an infringement provided the two conditions in s 50 B(2) are met. These conditions are:
(a) It is necessary to decompile the program to obtain the information necessary to create an independent program which can be operated with the program decompiled or with another program (‘the permitted objective’); and
(b) The information so obtained is not used for a purpose other than the permitted objective.
These conditions will not be met if:
(i) The necessary information is readily available to achieve the permitted objective;
(ii) The user does not limit decompiling to that required to achieve the permitted objective;
(iii) The user supplies the information obtained through decompilation to another person unconnected with the achievement of the permitted objective;
(iv) The user uses the information obtained through decompilation to create a program similar in expression to the original program.
Although the UK enactment largely embodies the EU Directive, it differs from it in two important respects. First, the UK legislation does not use the term interoperability, but refers to ‘permitted objective’. Second, ‘decompilation’ is defined as converting a copy of a computer program expressed in a low-level language into a version in a higher level language. The EU Software Directive avoids any comparison in the level of languages. The Directive’s approach is more flexible, as it would encompass processes such as a ‘hex dump’, in which object code in binary form is converted to hexadecimal form, not itself a higher level language. The UK legislation has followed the EU directive in providing that decompilation as permitted cannot be restricted by contract.
The recent case of Mars UK Ltd v Teknowledge Ltd showed that where a program is created to compete with existing software through reverse engineering, this is likely to result in copyright infringement. This illustrates the situation in (iv) above, where a decompilation of software to create a program of substantially similar expression is prohibited. Mars designed and manufactured coin receiving and changing mechanisms. The equipment included a device called a discriminator which validated the legitimacy of inserted coins by taking physical measurements. The measurements were processed by specific software using a mathematical algorithm, programmed as object code, and coinage standards, coded in encrypted form. Through a process of reverse engineering, Teknowledge decompiled the discriminator object code and decrypted the technical data relating to coin standards. Teknowledge offered its services, in competition with Mars UK, to reprogram discriminators, updating the quality of the validation process. During its reverse engineering process, Teknowledge had copied the entire Mars software on a transient basis, and consequently infringed copyright. The Act did not provide a defence as the objective was not merely to achieve interoperability, but direct competition.
Handa and Morgan have reviewed the Canadian position in regard to software reverse engineering under Canadian copyright law. Both note that the question of whether software reverse engineering is permitted under the Canadian doctrine of fair dealing is uncertain. The issue has not arisen under Canadian law, so that any insight into how software reverse engineering might be treated is speculative, and must be based on existing law on fair dealing. Unfortunately this area of copyright law is very underdeveloped in Canada. Section 27(2) of the Canadian Copyright Act provides that the following acts do not constitute an infringement of copyright:
Fair dealing for the purpose of private study, research, criticism, review or newspaper summary.
Morgan contends that the Canadian fair dealing exception encompassing research may be wide enough to support reverse engineering both for development of competitive products and for interoperability. Given the importance of reverse engineering in the software industry, this commentator urges the amending of the legislation to promote certainty, and that the broader US scope is preferable to the narrower European approach.
As in the United States and Europe, there is a division of opinion in the computer industry as to the desirability of permitting reverse engineering of software as reflected in submissions to the Copyright Law Review Committee Report on Software Protection. Lotus claimed that that the main purpose of reverse engineering was to create a clone of the original program. IBM claimed that decompilation was a relatively easy process and that the process:
benefits software copiers only - by providing an opportunity to create successive adaptations without liability to the copyright owner.
The introduction of limited decompilation rights was also opposed by other major hardware and software companies including Microsoft and Novell.
In contrast, Fujitsu Australia emphasised the desirability of interoperability:
the only way to make interoperable products is to determine the interfacing rules that must be followed to allow product-to-product communication or data exchange. While many interface requirements are published, they usually are described incompletely, inaccurately or belatedly, necessitating the application of other research techniques.
The fair dealing provision relating to interoperability is enacted in s 47D of the Copyright Act, providing no copyright infringement if:
(i) The program is made from a legitimate copy;
(ii) Copying is for the purpose of obtaining information to make independently another program or article to connect to and be used together with or otherwise interoperate with the original;
(iii) Copying is only to the extent reasonably necessary;
(iv) The extent of reproduction or adaptation of the original program must be limited to that required to enable the new program to connect to, or otherwise interoperate with, the original program;
(v) The information referred to above is not readily available is not readily available when the reproduction or adaptation is made.
The Australian provisions therefore closely resemble the EU directive on software reverse engineering, providing limited exception for interoperability only. In contrast to the EU directive, which applies to creation of independent interoperable programs, the Australian fair dealing provision does not explicitly state it is limited to connecting software. However, it can be implied from clause (iv) above that the exception to infringement does not include creation of competing programs. As with the EU case, the meaning of ‘ready availability’ is problematical, and will require interpretation by the courts. As with the EU directive, there are restrictions on limiting operation of the provision by contract. Section 47H of the Copyright Act provides that any agreement that excludes or has the effect of excluding s 47H is invalid.
The High Court decision in the case of Data Access v Powerflex was decided prior to the enactment of the s. 47D provision dealing with interoperability. In the context of interoperability was the issue of copyright infringement by the Huffman compression table. To achieve compatibility between the PFXplus and the original Dataflex software, Powerflex had recreated the table by analysing the output of the Dataflex table using a dump program. The Court noted that although the method was ingenious, it was nevertheless a reproduction. Furthermore the court stated:
it may have wide ramifications for anyone who seeks to produce a computer program that is compatible with a program produced by others. These are, however, matters that can only be resolved by the legislature reconsidering and, if it thinks necessary or desirable, rewriting the whole of the provisions that deal in copyright of computer programs.
The approach taken by the Court was clearly distinguishable from that used in the United States under the fair use doctrine, which makes allowances for development of interoperable software. It has been suggested that the amendments under s 47D would not necessarily have prevented infringement by Powerflex regarding the Huffman table. Reproduction would be permitted under the interoperability provision only if the table itself were a computer program, and the High Court had suggested this was not the case.
Another issue considered by the High Court in Powerflex was whether duplication of a set of reserved words from the original PFX program by Powerflex was a copyright infringement. When used in the source code of either program it caused the computer to perform the same function. It was alleged that each of the reserved words was itself a computer program, and copyright infringement had occurred. Under the existing definition, a ‘computer program’ was required to comprise a ‘set of instructions’. Under this definition, each of the reserved words was found to be not a set of instructions, and there had not been infringement. This was the case even when reserved words were converted into a lower level code, this would consist of a set of instructions. However, it is worthwhile to point out that a new definition of computer program has been adopted in Australia under the Copyright Amendment (Digital Agenda) Act 2000. The new definition is much broader that the previous definition:
computer program means a set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result.
It is arguable that under the new definition the reserved words could constitute a computer program. In that case, under the Powerflex scenario the question would arise as to whether the interoperability exception applies under s 47D.
It is important to distinguish between reverse engineering of a tangible product made by application of computerised equipment, and the reverse engineering of software used to control the equipment. In Coogi v Hysport it was alleged that there had been an infringement of copyright in a computer program, where the respondent had reverse engineered a fabric produced by a computer-controlled knitting machine. Hysport had never had access to any literary form in which the original Coogi program was expressed, only access to a garment manufactured by running the computer-controlled equipment. The Federal Court of Australia held that it would never be possible to establish infringement of copyright in software where the alleged infringer had merely reverse engineered the object to discover how it had been constructed, then written a program to facilitate making the object.
Incentives to reverse engineer computer programs will continue to be an important method of understanding principles and functionality in existing software products. It is important that appropriate legal and regulatory frameworks are established to define a desirable balance between intellectual property rights of those who have developed existing software, and society’s need to efficiently build on existing ideas. This review shows that legal frameworks are still evolving within the developed countries. The United States has taken the most liberal approach, extending the right to reverse engineer software beyond the requirements for interoperability in some situations, allowing the development to occur under the doctrines of copyright fair use and misuse. It may be no coincidence that the United States has by far the most advanced software industry in the world and the least restrictive regulations in regard to reverse engineering, while opposing the same freedom internationally, for example in Japan. Concerns have been raised that recent changes in the DMCA in regard to reverse engineering of software may have detrimental consequences for innovation and competition, while recognising that some form of restriction may be warranted in the digital environment where copying and distribution has almost negligible cost.
Other jurisdictions such as the European Union and Australia have formulated positions on software reverse engineering, generally after considering opposing and divergent interests, often including representations from US-based companies. These jurisdictions have introduced specific legislation to provide narrow exceptions to copyright infringements in regard to reverse engineering, limited to interoperability requirements. In other countries including Canada and Singapore the legal framework for software reverse engineering is less developed, allowing issues to be resolved by the courts under existing copyright fair dealing laws.
[*] Dr John Abbot has a Graduate Diploma in Applied Computing and a Juris Doctor degree from the University of Queensland, and is currently completing an LLM.
 RA Kreiss, ‘Copyright Protection and Reverse Engineering of Software’ (1994) 19 University of Dayton Law Review 837.
 SC Daughtrey, ‘Reverse Engineering of Software for Interoperability and Analysis’ (1994) 47 Vanderbilt Law Review 145; GR Ignantin, ‘Let the Hackers Hack: Allowing the Reverse Engineering of Copyrighted Computer Programs to achieve Compatibility’ (1992) 140 University of Pennsylvania Law Review 1999; B Fitzgerald, ‘Intellectual Property in Digital Architecture (including Software): The Question of Digital Diversity’ (2001) European Intellectual Property Review 121; G Weiner, ‘Reverse Engineering as a Method of Achieving Compatibility in the Computer Industry’ (1997) 6 University of Baltimore Property Law Journal 1.
 Sega Enterprises Ltd v Accolade Inc.  USCA9 19; 977 F.2d 1510 (9th Cir. 1992).
 Atari Games Corp. v Nintendo of America Inc 975 F.2d 832 (Fed. Cir. 1992).
 See for example, s. 1 Canadian Copyright Act which defines a computer program as ‘a set of instructions or statements, expressed, fixed, embodied or stored in any manner, that is to be used directly or indirectly in a computer in order to bring about a specific result’.
 Apple Computer v Macintosh Computers (1986)  1 F.C. 173, 10 C.P.R. (3d) 1 at 11.
 A Johnson-Laird, ‘Software Reverse Engineering in the Real World’ (1994) 19 University of Dayton Law Review 843.
 ‘US Combats International Software Piracy’ Journal of Proprietary Rights, July 1993, 31.
 Computer Associates International Inc v Altai Inc 23 U.S.P.Q. (2d) 1241 at 1244 (2d Cir. 1992); Daniels DWT, ‘Learned Hand Never Played Nintendo: A Better Way to think about the Non-Literal, Non-Visual Software Copyright Cases’ (1994) 61 University of Chicago Law Review 613.
 M Bergner, ‘Changing Views: A Comment on Intellectual Property Protection for the Computer User Interface’ (1998) 42 St Louis Law Journal 301; Ahmed H, ‘The Copyrightability of Computer Program Graphical User Interfaces’ (2001) 30 Southwestern University Law Review 479.
 Kewanee Oil Corp v Bicron Corp. USSC 86; , 416 U.S. 470, 476 (1974).
 Secure Services Technology Inc v Time & Space Processing 772 F. Supp. 1354, 1361 n.16 (E.D. VA. 1989).
 Copyright Law Review Committee, Report on Software Protection (Office of Legal Information and Publishing, A-G’s Department, Canberra (1995)) p 152.
 G Dworkin, ‘The Concept of Reverse Engineering in Intellectual Property Law and its Application to Computer Programs’ (1990) 1 Intellectual Property Law Journal 164.
 BC Behrens & RR Levary, ‘Legal Aspects – Software Reverse Engineering and Copyright’ (1997) 31 John Marshall Law Review 1; CM Guillou, ‘The Reverse Engineering of Computer Software in Europe and the United States: A Comparative Approach’ (1998) 22 Columbia –VLA Journal of Law and the Arts 533.
 Sony Computer Entertainment v Connectix Corp 48 F. Supp. 2d 1212, 1214 (N.D. Cal. 1999).
 Sony Computer Entertainment v Connectix Corp.  USCA9 80; 203 F.3d 596, 601 (9th Cir. 2000).
 Sony Computer Entertainment Inc v Connectix Corp  USCA9 80; 203 F.3d 596, 599 (9th Cir. 2000) (citing Andrew Laird Johnson, ‘Software Reverse Engineering in the Real World’ (1994) 19 University of Dayton Law Review 843, 846).
 A Johnson-Laird, ‘Software Engineering in the Real World’ (1994) 19 University of Dayton Law Review 843.
 Rappaport, I ‘EC Threatens Software Protection’, San Francisco Recorder, Feb 22, 1990, at 6 (Mr Rappaport was acting as Apple’s Intellectual Property Counsel).
 S Handa, ‘Reverse Engineering Computer Programs under Canadian Copyright Law’ (1995) 40 McGill Law Journal 621.
 D Bainbridge, ‘Computer Programs and Copyright: More Exceptions to Infringement’ (1993) 56 Modern Law Review 591 at 593.
 Above, n19.
 Flyde Microsystems Ltd v Key Radio Systems Ltd  FSR 449; Johnson-Laird A, above, n19.
 Mars UK Ltd v Teknowledge (1999) 22 (8) I.P.D. 22076; CD Freedman, ‘The Protection of Computer Software in Copyright and the Law of Confidence: Improper Decompilation and Employee-Poaching’ (2000) 8(1) International Journal of Law and Information Technology 25.
 82 F. Supp 2d 2d (S.D.N.Y. 2000).
 Above, n19.
 Atari Games Corp v Nintendo of America Inc 975 F.2d 832 (Fed. Cir. 1992).
 BC Behrens & RR Levary, ‘Legal Aspects – Software Reverse Engineering and Copyright’ (1997) 31 John Marshall Law Review 1; Lewis T, ‘Reverse Engineering of Software: An Assessment of the Legality of Intermediate Copying’ (2000) 20 Loyola of Los Angeles Entertainment Law Review 561.
 SC Daughtrey, ‘Reverse Engineering of Software for Interoperability and Analysis’ (1994) 47 Vanderbilt Law Review 145.
 Digital Millenium Copyright Act s. 1201(f)(4).
 Copyright Law Review Committee, Report on Software Protection (Office of Legal Information and Publishing, A-G’s Department, Canberra (1995) p 145.
 SC Daughtrey, ‘Reverse Engineering of Software for Interoperability and Analysis’ (1994) 47 Vanderbilt Law Review 145; MA Jacobs, ‘Copyright and Compatibility’ (1989) 30 Jurimetrics 91.
 Copyright Law Review Committee, Report on Software Protection (Office of Legal Information and Publishing, A-G’s Department, Canberra) (1995) p 158.
 Atari Games Corp v Nintendo of America Inc 975 F.2d 832 (Fed. Cir. 1992); Atari Games Corp v Nintendo of America Inc 30 U.S.P.Q.2d (BNA) 1401, 1407-09 (N.D. Cal. 1993). C Cifuentes & A Fitzgerald, ‘Reverse Engineering of Computer Programs: Comments on the Copyright Law Review Committee’s Final Report on Computer Software Protection’ (1995) 6(2) Journal of Law & Information Science 242; BD Jolish, ‘Rescuing Reverse Engineering’ (1998) 14 Computer & High Technology Law Journal 509; DI Bainbridge, ‘Computer Programs and Copyright: More Exceptions to Infringement’ (1993) 56 Modern Law Review 59; GR Ignantin, ‘Let the Hackers Hack: Allowing the Reverse Engineering of Copyrighted Computer Programs to Achieve Compatibility’ (1992) 140 University of Pennsylvania Law Review 1999; A Johnson-Laird, ‘Software Reverse Engineering in the Real World’ (1994) 19 Dayton Law Review 843; Mitek Holdings Inc v Arce Engineering 864 F. Supp 1568; AJ Mahajan, ‘Intellectual Property, Contracts and Reverse Engineering after ProCD: A proposed Compromise for Computer Software’ (1999) 67 Fordham Law Review 3297; BC Behrens & RR Levary, ‘Legal Aspects – Software Reverse Engineering and Copyright’ (1997) 31 John Marshall Law Review 1; RA Kreiss, ‘Copyright Protection and Reverse Engineering of Software’ (1994) 19 University of Dayton Law Review 837.
 Feist Publications Inc v Rural Telephone Service Co Inc 20 IPR 129 (U.S. Sup Ct) (1991).
[36A] Above n 36.
 Sony Corp. v Universal City Studios Inc  USSC 14; 464 U.S. 417, 429 (1984).
 Bonito Boats Inc v Thunder Craft Boats Inc  USSC 20; 489 U.S. 141, 160 (1989).
 T Lewis, ‘Reverse Engineering of Software: An Assessment of the Legality of Intermediate Copying’ (2000) 20 Loyola of Los Angeles Entertainment Law Review 561.
 J Mills, ‘Possible Defences to Complaints for Copyright Infringement of Computer Software: Implications for Antitrust and Intellectual Property Law’ (1998) 80 Journal of Patent & Trademark Office Society 101, 106.
 17 U.S.C. 106.
 Sony Computer Entertainment Inc v Connectix Corp,  USCA9 80; 203 F.3d 596, (9th Cir. 2000).
 17 U.S.C. 102(b) (1994).
 Bateman v Mnemonics Inc.  USCA11 1157; 79 F.3d 1532, 1547 (11th Cir. 1996).
 Toro Co v R&R Prods. Co., F.2d 1208, 1212 (8th Cir. 1986).
 JM Besek, ‘Courts Struggle to Formulate Test for Substantial Similarity in Computer Software Programs’ (1993) New York Law Journal, S5; D Goldberg and RJ Bernstein, ‘After “Lotus”: A Conflict in the Circuits’, (1995) May 19, 3; MM Barry, ‘Software Copyright Upgrade – Engineering Dynamics v Structural Software extends Abstraction-Filtration Comparison Test to Software Input Data Formats’ (1995) 39 St Louis Law Journal 1309.
 Computer Associates Inc v Altai  USCA2 1158; 982 F.2d 693 (2d Cir. 1992).
 Engineering Dynamics Inc v Structural Software Inc  USCA5 1735; 26 F.3d 1335 (5th Cir 1994).
 John Richardson Computers Ltd v Flanders and Anor  F.S.R. 497; R Arnold, ‘Infringement of copyright in computer software by non-textual copying: first decision by an English court: John Richardson Computers Ltd v Flanders’ (1993) 15(7) European Intellectual Property Review 250; ‘John Richardson Computers Ltd v Flanders: A commentary’ (1993) 9(2) Computer Law & Practice 70.
 DS Kajala, ‘Copyright Protection of Computer Documents, Reverse Engineering and Professor Miller’ (1994) 19 University of Dayton Law Review 975; AR Miller, ‘Copyright Protection for Computer Programs, Databases, and Computer-Generated Works: Is Anything New Since CONTU?’ (1993) 106 Harvard Law Review 977, 1013; RH Lande & SM Sobin, ‘High Technology, Antitrust & the Regulation of Competition: Reverse Engineering of Computer Software and U.S. Antitrust Law’ (1996) 9 Harvard Journal of Law and Technology 237; LD Graham & RO Zerbe, ‘Economically Efficient Treatment of Computer Software: Reverse Engineering, Protection and Disclosure’ (1996) 22 Rutgers Computer & Technology Law Journal 61; P Samuelson & Scotchmer ‘The Law and Economics of Reverse Engineering’  YaleLawJl 27; (2002) 111 Yale Law Journal 1575.
 DS Kajala, ‘Copyright Protection of Computer Documents, Reverse Engineering and Professor Miller’ (1994) 19 University of Dayton Law Review 975.
[51A] Above n 51.
 WA Rothnie, ‘Idea and Expression in a Digital World’ (1998) 9(1) Journal of Law and Information Science 59.
 LD Graham & RO Zerbe, ‘Economically Efficient Treatment of Computer Software: Reverse Engineering, Protection and Disclosure’ (1996) 22 Rutgers Computer & Technology Law Journal 61.
 AR Miller, ‘Copyright Protection for Computer Programs, Databases, and Computer-Generated Works: Is Anything New Since CONTU?’ (1993) 106 Harvard Law Review 977, 1013.
 DA Rice, ‘Sega and beyond: A Beacon for Fair Use Analysis…..At Least as Far as it goes’ (1994) 19 University of Dayton Law Review 1131; KE Georgenson, ‘Reverse Engineering of Copyrighted Software: Fair Use or Misuse?’ (1996) 5 Albany Law Journal 291.
 Sega Enterprises Ltd v Accolade Inc  USCA9 19; 977 F.2d 1510 (9th Cir. 1992).
 Sony Computer Entertainment Inc. v Connectix Corp  USCA9 80; 203 F.3d 596 (9th Cir. 2000).
 Walker v University Books  USCA9 965; 602 F.2d 859, 864 (9th Cir. 1979).
 T Lewis, ‘Reverse Engineering of Software: An Assessment of the Legality of Intermediate Copying’ (2000) 20 Loyola of Los Angeles Entertainment Law Review 561.
 Johnson Controls Inc. v Phoenix Control Systems Inc., 886 F.2d 1173, 1175 (9th Cir. 1989); Apple Computer Inc v Formula International Inc.  USCA9 205; 725 F.2d 521, 524-25, (9th Cir. 1984).
 17 U.S.C. s 117(1).
 National Commission on New Technological Uses of Copyrighted Works (CONTU) (1978) Report at 13.
 Harper & Row, Publishers, Inc v Nation Enterprises,  USSC 128; 471 U.S. 539.
 Hustler Magazine Inc v Moral Majority Inc., 796 F. 2d 1148, 1152 (9th Cir. 1986).
 Feist Publications Inc v Rural Tel Serv  USSC 50; 499 U.S. 340 (1991).
 Sony v Universal City Studios Inc. USSC 14; , 464 U.S. 417 (1984).
 Above, n64.
[67A] Above n 57.
 Campbell v Acuff-Rose Music Inc. 510 U.S. 569 (1994).
 JA Williams, ‘Can Reverse Engineering Ever be Fair Use? Application of Campbell’s ‘Transformative Use’ Concept’ (1996) 71 Washington Law Review 255.
[69A] Above n 68.
[69B] Above n 69.
[69C] Above n 68.
 Atari Games Corp v Nintendo of America, Inc 975 F.2d 832, 842 (Fed. Cir. 1992).
 Above, n 57.
[71A] Above n 68.
 S Karas, ‘Sony Computer Entertainment, Inc v Connectix Corp’ (2001) 16 Berkley Technology Law Journal 33.
 JA Szepes, ‘Maximizing Protection for Computer Software’ (1995) 12 Santa Clara Computer and High Technology Law Journal 173; JT Soma, SK Black-Keeffer and AR Smith, ‘Minimizing Reverse Engineering: Sample Language for Dual United States and European Union Software Licenses’ (1995) 24 Denver Journal of International Law and Policy 145.
 MA Lemley, ‘Intellectual Property and Shrinkwrap Licenses’ (1995) 68 Southern California Law Review 1239.
 Step-Saver Data Systems v Wyse Technology  USCA3 829; 939 F.2d 91(3d Cir. 1991); Arizona Retail Systems v Software Link Inc 831 F. Supp.759 (D. Ariz. 1993).
 ProCD Inc v Zeidenberg,  USCA7 654; 86 F.3d 1447, 1452 (7th Cir. 1996); Hill v Gateway 2000 Inc 105F.3d 1147, 1149 (7th Cir. 1997).
 DA Rice, ‘Software License Prohibitions Against Reverse Engineering’ (1992) 53 University of Pittsburgh Law Review 543, 548.
 FJ Pita, ‘Reconciling Reverse Engineering and Conflicting Shrinkwrap License Terms Under U.C.C. Article 2B: A Patent Law Solution’ (1998) 14 Santa Clara Computer and High Technology Law Journal 465; B Goodman, ‘Honey: I Shrink-Wrapped the Consumer: The Shrink-Wrap Agreement as an Adhesion Contract’ (1999) 21 Cardozo Law Review 319.
 M Leaffer, ‘Engineering Competitive Policy and Copyright Misuse’ (1994) 19 University of Dayton Law Review 18; KE Georgenson, ‘Reverse Engineering of Copyrighted Software: Fair Use or Misuse?’ (1996) 5 Albany Law Journal 291; T Dorenkamp, ‘Copyright Misuse or a Right to Compete? A Critique of Alcatel USA v DGI Technologies’ (2001) 9 Texas Intellectual Property Law Journal 269.
 MI Koffsky, ‘Patent Preemption of Computer Software Contracts Restricting Reverse Engineering: The Last Stand?’ (1995) 95 Columbia Law Review 1160; JE Mauk, ‘The Slippery Slope of Secrecy: Why Patent Law Preempts Reverse-Engineering Clauses in Shrink-Wrap Licenses’ (2001) 43 William and Mary Law Review 819.
 TD Rakoff, ‘Contracts of Adhesion: An Essay in Reconstruction’ (1983) 96 Harvard Law Review 1173.
 B Goodman, ‘Honey: I Shrink-Wrapped the Consumer: The Shrink-Wrap Agreement as an Adhesion Contract’ (1999) 21 Cardozo Law Review 319.
 Gray v Zurich Ins Co 419 P.2d 168 (Cal. 1966).
 T Dorenkamp, ‘Copyright Misuse or a Right to Compete? A Critique of Alcatel USA v DGI Technologies’ (2001) 9 Texas Intellectual Property Law Journal 269.
 Lasercomb America v Reynolds  USCA4 2079; 911 F.2d 970, 15 U.S.P.Q. 2d (BNA) 1846 (4th Cir. 1990).
 Morton Salt v G.S. Suppiger  USSC 30; 314 U.S. 488, 52 U.S.P.Q. (BNA) 30 (1942).
[86A] Above n 85.
 Service & Training Inc v Data General Corp.  USCA4 756; 963 F.2d 680, 683, 23 U.S.P.Q.2d (BNA) 1102, 1104 (4th Cir. 1992).
 Alcatel USA Inc. v DGI Technologies Inc  USCA5 155; 166 F.3d 772, 777, 49 U.S.P.Q.2d (BNA) 1641, 1642 (5th Cir. 1999).
 M Leaffer, ‘Engineering Competitive Policy and Copyright Misuse’ (1994) 19 University of Dayton Law Review 18; KE Georgenson, ‘Reverse Engineering of Copyrighted Software: Fair Use or Misuse?’ (1996) 5 Albany Law Journal 291; T Dorenkamp, above, n84.
[89A] Above n 89.
 KE Georgenson, ‘Reverse Engineering of Copyrighted Software: Fair Use or Misuse?’ (1996) 5 Albany Law Journal 291.
 Harper & Row Publishers Inc v Nation Enterprises,  USSC 128; 471 U.S. 539, 562,225U.S.P.Q. (BNA) 1073, 1081 (1985); Sony Corp. of America v Universal City Studios Inc  USSC 14; 464 U.S. 417, 451, 220 U.S.P.Q. (BNA) 665, 682 (1984).
[91A] Above n 90.
 Lotus Development v Borland International 831 F. Supp. 223, 30 U.S.P.Q.2d (BNA) 1081 (D. Mass. 1993).
 A Johnson-Laird, ‘Software Engineering in the Real World’ University of Dayton Law Review 843.
 Atari Games Corp v Nintendo of America, Inc 975 F.2d 832, 842 (Fed. Cir. 1992); Sega Enterprises Ltd v Accolade Inc  USCA9 19; 977 F.2d 1510 (9th Cir. 1992).
 JE Cohen, ‘Reverse Engineering and the Rise of Electronic Vigilantism: Intellectual Property Implications of ‘Lock-Out’ Programs’ (1995) 68 Southern California Law Review 1091; BJ Olive, ‘Anti-Circumvention and Copyright Management: Analysis of New Chapter 12 of the Copyright’ (2000) North Carolina Journal of Law & Technology.
 Atari Games Corp v Nintendo of America, Inc 975 F.2d 832 (Fed. Cir. 1992).
 Atari Games Corp. v Nintendo of America Inc.  USCAFED 174; 897 F.2d 1572 (Fed. Cir 1990).
 Atari Games Corp v Nintendo of America, Inc 975 F.2d 832 (Fed. Cir. 1992).
 Sony Corp of America v Universal City Studios 464 U.S. at 429-30.
 Feist Publications v Rural Telephone Service Co  USSC 50; 113 L. Ed. 2d 358, 111 S. Ct. 1282 at 1290.
 Twentieth Century Music v Aiken 422 U.S. at 156.
 Digital Millenium Copyright Act, Pub. L. No 105-304, sec. 103, 1201-03, 112 Stat. 2860, 2863-76 (1998).
 Digital Millenium Copyright Act, Pub L. No. 105-304, sec 103, 1201, 112 Stat.2860, 2863 (1998).
 See 17 U.S.C. s 1201(a)(3)(A).
 HC Anawalt, “Using Digital Locks in Invention Development” (1999) 15 Santa Clara Computer & High Technology Journal 363.
 B Fitzgerald, ‘Intellectual Property Rights in Digital Architecture (including software): The Question of Digital Diversity’ (2001) European Intellectual Property Journal 121.
[107A] Above n 105.
 Creative Technology v Aztech Systems  F.S.R. 491.
 S Lai, ‘Recent Developments in Copyright Protection and Software Reverse Engineering in Singapore: A Triumph for the Ultra-protectionists?’ (1997) 9 European Intellectual Property Review 525; Wee N-L Loon, ‘Legitimising Reverse Engineering of Computer Programs in Copyright Law – How far have we gone in Singapore?’ (1996) 4(1) International Journal of Law and Information Technology 48.
 DS Kajala, ‘Copyright Protection of Computer Software in the United States and Japan: Part I’  6 EIPR 195; DS Kajala, ‘Copyright Protection of Computer Software in the United States and Japan: Part II’  7 EIPR 231; DS Kajala, ‘The First Case on Protection of Operating Systems and Reverse Engineering of Programs in Japan’  6 EIPR 172; EG Durney, ‘Protection of Computer Programs under Japanese Copyright Law’ (1991) 9 UCLA Pacific Basin Law Journal 42.
 DS Kajala, ‘Copyright Protection of Computer Software in the United States and Japan: Part II’  7 EIPR 231. Ibid.
 R Mishra, ‘Reverse Engineering in Japan and the Global Trend Towards Interoperability’ (1997) 4(2) Murdoch University Electronic Journal of Law http://www.murdoch.edu.au/elaw/
 Kajala DS, ‘The First Case on Protection of Operating Systems and Reverse Engineering of Programs in Japan’  6 EIPR 172; Durney EG, ‘Protection of Computer Programs under Japanese Copyright Law’ (1991) 9 UCLA Pacific Basin Law Journal 42.
 J Espenshade, ‘Right to Reverse Engineer Software: Is Japan Next and Does it Really matter?’ (1994) 19 North Carolina Journal of International Law and Commercial Regulation 491.
 Special Report Trade Negotiators Turn Eastward, 11 International Trade Report (BNA) No. 3 at 105 (Jan. 19, 1994).
 B Rossi, ‘A Brash New Voice for the IP Arena’ Recorder, Feb 1, (1994) at 1.
 TR Reid & P Behr, ‘A Software Fight’s Blurred Battle Lines; U.S. Computer Companies Are on Both Sides as Japan Considers Copyright Law Changes’ Washington Post, Jan 11, 1994.
 R Mishra, ‘Reverse Engineering in Japan and the Global Trend Towards Interoperability’ (1997) 4(2) Murdoch University Electronic Journal of Law http://www.murdoch.edu.au/elaw/
 Copyright Law Review Committee, Report on Software Protection (Office of Legal Information and Publishing, A-G’s Department, Canberra) (1995) p 177.
[119A] Above n 118.
 D Karjala, ‘Copyright Protection of Computer Software in the US and Japan: Part II’ (1991) 7 European Intellectual Property Review 235.
[120A] Above n 118.
 EG Durney, ‘Protection of Computer Programs under Japanese Copyright Law’ (1991) 9 UCLA Pacific Basin Law Journal 42.
[121A] Above n 118.
 CM Guillou, ‘The Reverse Engineering of Computer Software in Europe and the United States: A Comparative Approach’ (1998) 22 Columbia –VLA Journal of Law and the Arts 533.
 Council Directive 91/250 on the Legal Protection of Computer Programs, 1991 O.J. (Directive122) 42; P Bruno, ‘Arenas, Implementation, Compliance and Enforcement: The European Community Directive For the Legal Protection of Computer Software’ (1992) 5 Transnational Law 803.
 CM Guillou, ‘The Reverse Engineering of Computer Software in Europe and the United States: A Comparative Approach’ (1998) 22 Columbia –VLA Journal of Law and the Arts 533; ‘EC: Violent Emotions Surge in Brussels over the Impending Changes to Software Copyright Laws’ Computer Weekly July 19, 1990.
 MJ Weichsellbaum, ‘The EEC Directive on the Legal Protection of computer Programs and U.S. Copyright Law: Should Copyright Law Permit Reverse Engineering of Computer Programs?’ (1991) 14 Fordham International Law Journal 1027.
 CM Guillou, ‘The Reverse Engineering of Computer Software in Europe and the United States: A Comparative Approach’ (1998) 22 Columbia –VLA Journal of Law and the Arts 533.
 Amended Proposal for a Council Directive on the Legal Protection of Computer Programs, 1990 O.J. (C320) 22.
 Guillou CM, ‘The Reverse Engineering of Computer Software in Europe and the United States: A Comparative Approach’ (1998) 22 Columbia –VLA Journal of Law and the Arts 533.
 J Haaf, ‘The EC Directive on the Legal Protection of Computer Programs: Decompilation and Security for Confidential Programming Techniques’ (1992) 30 Columbia Journal of Transnational Law 401; CM Guillou, ‘The Reverse Engineering of Computer Software in Europe and the United States: A Comparative Approach’ (1998) 22 Columbia –VLA Journal of Law and the Arts 533.
 V Marsland, ‘Copyright Protection and Reverse Engineering of Software – An EC/UK Perspective’ (1994) 19 University of Dayton Law Review 1021; MA Ehlich, ‘Fair Use or Foul Play? The EC Directive on the Legal Protection of Computer Programs and its Impact on Reverse Engineering’ (1994) 13 Pace Law Review 1003; JH Spoor, ‘Copyright Protection and Reverse Engineering of Software: Implementation and Effects of the EC Directive’ (1994) 19 University of Dayton Law Review 1063; JT Soma, Black-Keefer & AR Smith, ‘Minimizing Reverse Engineering: Sample Language for Dual United States and European Union Software Licenses’ (1995) 24 Denver Journal of Internation Law & Policy 145; C Reed, ‘Reverse Engineering Computer Programs’ (1991) 2 European Intellectual Property Journal 47.
 CM Guillou, ‘The Reverse Engineering of Computer Software in Europe and the United States: A Comparative Approach’ (1998) 22 Columbia –VLA Journal of Law and the Arts 533.
 P Peters & F Verhoestraete, ‘Software Protection Against Third Parties in Belgium’ (1996) 14 John Marshall Journal of Computer and Information Law 661.
 CM Guillou, ‘The Reverse Engineering of Computer Software in Europe and the United States: A Comparative Approach’ (1998) 22 Columbia –VLA Journal of Law and the Arts 533.
 Section 50B Copyright, Design, and Patents Act 1988 (UK).
 A Johnson-Laird, ‘Software Engineering in the Real World’ University of Dayton Law Review 843.
 WR Cornish, Intellectual Property: Patents, Copyright, Trademarks and Allied Rights (4th edn.) Street & Maxwell (1999) at 518.
 Section 296A Copyright, Designs and Patents Act 1988 (UK).
 Mars UK Ltd v Teknowledge Ltd (1999) 22(8) I.P.D. 22076 (Ch. 1999).
 CD Freedman, ‘The Protection of Computer Software in Copyright and the Law of Confidence: Improper Decompilation and Employee-Poaching’ (2000) 8(1) International Journal of Law and Information Technology 25; G Llewellyn, ‘Does copyright law recognize a right to repair’ (1999) 21(11) European Intellectual Property Review 596; J Harrington, ‘Mars UK v Teknowledge Limited’ (1999) 4(5) Communications Law 190; W Cook, ‘Mars and bars on software protection’ (1999) 10(3) Computers & Law 34.
 S Handa, ‘Reverse Engineering Computer Programs under Canadian Copyright Law’ McGill Law Journal 621.
 MF Morgan, ‘Trash Talking: The Protection of Intellectual Property Rights in Computer Software’ (1994) 26 Ottawa Law Review 425; above, n140.
 Copyright Law Review Committee, Report on Software Protection (Office of Legal Information and Publishing, A-G’s Department, Canberra (1995).
 Data Access Corporation v Powerflex Services Pty Ltd  HCA 49; (1999) 45 IPR 353.
 Voon T, ‘Revisiting Computer Program Copyright in Australia: Data Access Corporation v Powerflex Services Pty Ltd’ (2000) 11 Australian Intellectual Property Journal 161; C Cifuentes and A Fitzgerald, ‘Reverse Engineering of Computer Programs: Comments on the Copyright Law Review Committee’s Final Report on Computer Software Protection’ (1995) 6(2) Journal of Law and Information Science 241.
 Data Access Corporation v Powerflex Services Pty Ltd  HCA 49; (1999) 45 IPR 353 at 380.
 Section 10 Copyright Act (Cth) (1968).
 T Voon, “Revisiting Computer Program Copyright in Australia: Data Access Corporation v Powerflex Services Pty Ltd” (2000) 11 Australian Intellectual Property Journal 161.
 Coogi Australia Pty Ltd v Hysport International Pty Ltd (1998) 41 IPR 591.
 P Samuelson & Scotchmer ‘The Law and Economics of Reverse Engineering’  YaleLawJl 27; (2002) 111 Yale Law Journal 1575.