There was some initial doubt over whether object code was subject to copyright law, partly because it is not immediately apparent that it can be classed as “literary” and partly because such code is created by a compiler program, which requires very little skill or effort. However, common sense prevailed as it was recognized that failure to protect object code would negate the entire principle of copyright protection in software, since most programs are generally made available in object code form. Where doubts still persist as to whether object code should be classed as “literary”, it will be considered an adaptation (see below).
Preparatory works such as charts and written specifications are protected as literary works in their own right (s3(1)(c))21, provided they satisfy the tests of originality and de minimis. Thanks to the possibility of indirect copying (see below), there is a possibility of infringing the copyright in such works when copying the program itself.
Software further includes databases22 and “all manner of works stored digitally to be accessed by computer and associated printed documentation such as manuals for users.”23 Software suites are protected as compilations under s3(1)(a)24.
Smedinghoff25 identifies five main forms of copyright infringement – copying, adaptations and modifications, distribution, public performance or display and the use of work in excess of license rights. Each of these will be considered.
Literal copying is the classic case in which the defendant makes an exact, byte-for-byte copy of the plaintiff’s software without the latter’s consent26. “Software piracy” is usually a reference to this form of infringement, and, once proved, will lead to sentencing. This is not a difficult issue in the case of object code. The issue becomes more contentious when the defendant copies parts of the plaintiff’s source code in writing their own program, because the court must then decide whether the part(s) copied represent a substantial part of the copied program. The test is qualitative27 – is the copied part important to the operation of the copied program as a whole, giving consideration to the labour and skill expended by the original programmer in writing it? Back-up copies are not affected by this prohibition28 – provided they are actually necessary29.
While Smedinghoff considers the use of a work in excess of license rights a separate infringement, it is in fact a form of unauthorized literal copying in which the defendant makes more copies of a piece of software than the license they have been granted allows.
Non-literal copying concerns situations in which the “structure, flow and sequence of operations”30, rather than the actual program code, is copied without consent. This primarily concerns the distinction between ideas (which copyright does not protect) and their expression (which it does). Most of the debate on this issue has taken place in U.S. cases, discussed below, whose decisions were embraced in the U.K. in John Richardson Computers Ltd v Flanders31.
Computer programs may not be “translated”32 without permission, that is to say, source code may not be compiled33 to create object code, and object code may not be decompiled to create source code. Such a translation constitutes an adaptation34, as does the rewriting of the source code in a different programming language35. The latter case is difficult to justify – it is generally not possible to convert a computer program on a line by line basis unless the programming languages are extremely similar. It is far more likely that the programmer will be required to consider the mechanisms and concepts by which particular goals are achieved and then attempt to implement them in what may be a very different manner. Clearly anyone doing this will have the advantage that the first programmer has already worked out how to achieve the overall goal, e.g. word processing – yet that by no means indicates that the second programmer will have an easy task – it is possible that the conversion will take as long as the writing of the original program. In that case, has the second programmer really gained at the other’s expense?
There is an exception in the area of adaptations, namely where a programmer wishes to decompile another program’s object code in order to write a program which can interact with it. This may not be a requirement where it is merely a matter of making files compatible with both programs36, but where it is necessary for one program to exchange data directly with another, it may be important to know how the first program deals with such data. S50B(1) CDPA 1988 expressly provides that this will not constitute an infringement, provided that the person decompiling is a lawful user.
Where software has been put into circulation legitimately, its further distribution will not infringe the owner’s copyright, with the exception of where software is made available for rental37. In essence, this means that once software has been made publically available, it can be resold by a third party. Bainbridge38 makes the point that this may be particularly attractive where software is sold more cheaply in one country than the other, enabling a third party to buy cheaply in the one and sell at a lower price than the original distributor in the other.
Public performance or display of is in practice less of an issue in relation to software than it is in relation to, for example, music. Infringement occurs where a program’s display is made accessible “to a number of persons simultaneously”39. This might occur in the context of a university lecture, a gaming convention or the like – but prosecution in this area is rare. It may be avoided by obtaining the copyright owner’s consent.
At this point, it is worth turning to two U.S. American cases which substantially shaped the emergence of copyright both there and in the U.K., and which have been especially important in establishing the status of non-literal copying.
Whelan Associates Inc v Jaslow Dental Laboratory Inc40 Whelan asked the question of whether copyright encompassed a program’s source and object code only, or whether copying the structure of a program might amount to infringement. The court pointed out that in other literary works, such as novels, copyright was not restricted to the literal text, but might also encompass a plot. The reasoning behind this is apparent – “copyright ‘cannot be limited literally to the text, else a plagiarist would escape by immaterial variations.’”41.
The difficulty which the court faced was the distinction between an idea and an expression. The function of copyright law is to protect the latter, not the former. In an attempt to classify ideas and expressions, the judge considered that the protection of so-called scenes á faire, i.e. literal elements whose presence is dictated by the purpose of the program, is to be avoided. Where an idea can only be expressed in one particular way, to protect that expression would be to protect the idea. Judge Baker claimed42 that the existence of various means of fulfilling a program’s purpose indicated that whichever means was chosen, it was not “necessary” to the program’s function and was therefore a protectable expression43.
The court’s interest lies in providing “the proper incentive for programmers by protecting their most valuable efforts, while not giving them a stranglehold”44 over ideas. Special emphasis is therefore placed on the expense of the development of “the structure and logic of the program.”45 There is a failure here to take into account the facts that programming need not incur any expense46, and that many programs are born out of the programmer’s necessity and require no additional research. Furthermore, proprietary solutions are now becoming less common, with major software publishers increasingly marketing programs aimed at a variety of users, and with that, research costs may effectively be reduced.
Various arguments are raised against the judge’s stance. The first is that copying a program’s structure is far from straightforward. It requires considerable skill and effort, often taking as long to complete as the programming of the original took. This is not denied, but is rejected on the grounds that one who copies a copyrighted work is an infringer, regardless of the effort involved in the act of copying47. This is a misunderstanding. It was not submitted that effort should excuse infringement – it was submitted that the effort required in copying a program’s structure indicated that copyright should not subsist in the structure. If copyright is to be found on the grounds of the programmer’s expenditure48, should counter-arguments concerning the alleged infringer’s expenditure simply be ignored?
Another argument addressed by the court was that advances are achieved in the field of programming by copying the work of others49. The judge’s response is that there is no difference between programming and other scientific fields and that “copyright principles derived from other areas are applicable in the field of computer programs.”50 Again, this is questionable. Advances are achieved in the natural sciences by copying the work of others – but since this work is necessarily practical rather than literary51, there can be no question of copyright subsisting in it. If copying is acceptable in the advancement of the natural sciences, it is nonsensical to argue that its principles apply to programming and yet that structural copying is prohibited. The two claims are incompatible since the natural sciences and programming are disciplines of an entirely different order.
The court’s conclusion was to find that since Dentalab’s structure was not essential to its purpose, but that the structure was an expression of an idea and thus protected by copyright. Yet again, this must be questioned. The mere fact that an idea may be expressed in a variety of ways by no means indicates that copyright is an adequate form of protection for the chosen expression. It is usually possible to perform the same task in a number of different ways, but that does not mean that each is equally desirable. The programmer may prefer a particular method according to efficiency, code legibility, the effort required in implementing the method or even personal style52.
Computer Associates Incv Altai Inc53 The unsatisfactory decision in Whelan was noted by many, and the court in Computer Associates therefore attempted to reassess the distinction between idea and expression. It agreed that elements whose expression was dictated by the program’s purpose could not be subject to copyright. It criticized Whelan for assuming that there was only one idea in a computer’s program, whereas, in reality, a program consisted of a number of ideas, expressed in its various subroutines. A three-stage test was therefore introduced.
The first stage is abstraction54. At a program’s base level of abstraction, it consists of a series of instructions, possibly organized into modules. As one increases the level of abstraction, the actual instructions decrease in importance while the overall function performed increases. At the highest level of abstraction, one merely considers the program’s purpose, not its constituents. Bainbridge55 describes this process as an attempt by the court to review the steps the programmer took in writing the program.
The second stage is filtration, in which the “structural components at each level of abstraction”56 are examined to identify whether they are idea or expression, and, if the latter, whether they are protectable. The court considers that such elements as are dictated by efficiency should not be protected, based on the fact that the most efficient code is the closest the expression can be to the idea, and that there will probably only be a few ways of efficiently programming a certain method57. Also excluded are elements which amount to standard techniques as well as elements taken from the public domain58.
In the final stage, the expressions identified in stage two are compared with the original program. If a defendant has copied the expression, and the expression is significantly important to the plaintiff’s program, infringement may be found.
As the court points out, “the exact contours of copyright protection for non-literal program structure are not completely clear”59, and it is not apparent that the test formulated in Computer Associates really makes the contours that much clearer. The abstraction stage in particular seems difficult to grasp – what if a program is not conveniently sorted into distinctly separate modules, and what if various modules actually form part of the expression of the same idea? It may not always be possible to find a level of abstraction which allows the court to identify what is an expression.
The approach is less objectionable than Whelan, in that it is not based on as curious an understanding of the nature of software, but Bainbridge60 notes that for the three stage test to become predictable, further case law will be required.