AustLII Home | Databases | WorldLII | Search | Feedback

Sydney Law Review

Faculty of Law, University of Sydney
You are here:  AustLII >> Databases >> Sydney Law Review >> 1998 >> [1998] SydLawRw 12

Database Search | Name Search | Recent Articles | Noteup | LawCite | Help

Kremer, Ben --- "Copyright and Computer Programs: Data Access v Powerflex Before the High Court" [1998] SydLawRw 12; (1998) 20 (2) Sydney Law Review 296

Copyright and Computer Programs: Data Access v Powerflex Before the High Court

BEN KREMER [*]

The technological wheel has turned and another case involving difficult issues of the application of copyright law to computer programs is before the High Court. Two principal questions sit at the heart of the dispute in Data Access v Powerflex:[1] what exactly is a “computer program” for the purposes of the Copyright Act 1968 (Cth); and what constitutes reproduction of a “substantial part” of such a program? Each is relatively simple but is complicated by the technical difficulties inherent in the subject and by the fact that computer programs sit ill within the rules developed for traditional literary works[2] into which category they have unintuitively been squeezed. The court will not be straying far from, yet will probably have to reconsider, the “pioneering step into a technically and conceptually complex world” that it took in Autodesk Inc v Dyason[3] and Autodesk Inc v Dyason (No 2).[4]

1. The Facts

A. The Dataflex Program and the Powerflex Program

The claim by Data Access is for infringement of the copyright in a program called Dataflex. Dataflex is a database development program: a program that allows the creation and manipulation of database programs. The respondents developed and sold a similar program called Powerflex which they designed to be highly compatible with Dataflex, in that it operated similarly and could use files created by Dataflex, so that users who were familiar with Dataflex could transfer to using Powerflex with no difficulty.[5]

Unlike most common copyright claims involving computer programs, Data Access did not allege direct copying of large slabs of the object code (either by its incorporation into Powerflex itself or as outright pirating of programs).[6] Nor did it allege the copying of large portions of the source code itself. It was acknowledged that almost all of the source code written for Powerflex was original. However, to allow Powerflex to operate compatibly with Dataflex, some elements of Dataflex were reproduced in it. These were 192 of its 296 “reserved words” and a Huffman compression table. Additionally, some parts of Powerflex utilised the same names or achieved the same functions as parts of Dataflex: the table of error text messages, some macro programs, function keys and the structures of the program’s files.

B. The “Reserved Words”

A program that is used to create other programs, such as Dataflex, often utilises a customised programming language defined by its makers. As part of the creation of the Dataflex program, its makers defined a set of words which make up the Dataflex “language”. Programmers use the words defined in this language (which include commands, logical operators and so on) to create the source code of their own programs. These words are referred to as “reserved terms”[7] and each has a set of rules defined for it that state how it may be used (its “syntax”) and what the compiler will do when it encounters each word in a source code (its “function”). The Dataflex language is a fairly “high-level” language such that programs written in it are written in “high-level source code”.[8]

Dataflex consists of several programs. The one used to create other programs is called the “language program”. The programmers use it to write their program in source code and then use the language program to produce an “executable” version of the database: the language program converts the high-level source code into lower-level source code. A second program, called the “runtime program” is also a compiler. It converts the low-level source code produced by the language program into the object code which is run on the end user’s machine.[9] The runtime program is licensed by Data Access to its users, who can distribute the executable versions of their programs with the runtime program, so that the high-level source code never need be released.

The Dataflex language program contains the reserved words (the terms of the language) and the various syntactical rules dictating their use. The evidence is not clear, but it also appears to contain the programming routines that cause the computer to carry out the function denoted by each reserved word. In this sense, the words stand for sub-programs which are used as building blocks: the programmer, using Dataflex, can concentrate on assembling these words (for instance, open a certain file, read some data, write a message to the screen) rather than on re-creating the underlying tedious and tricky routines that perform their functions. The language program concentrates on ensuring that valid words are used in the correct way (for instance, according to their syntax) and will compile the high-level source code into low-level source code only if it has been correctly written. As a result, the reserved words and, possibly, the routines that make them up, appear in the source code of the Dataflex language program. When this source code is compiled to produce the object code which makes up the language program, the reserved words appear as English words while the instructions making up the routine appear in machine code.

The main allegation of copying by Data Access is that 192 of 296 of the reserved words which appear in the source code and the object code of the Dataflex language program also occur in the source and object code of the Powerflex program.[10] There is no allegation of the copying of the instructions that go to perform the function of the reserved words; the claim is the simple reproduction of 192 English (or quasi-English) words.

2. Reserved Words as “Computer Programs”

A. “Instructions” and “Data”

Section 10 of the Copyright Act 1968 (Cth) defines a “computer program” to be,

... an expression, in any language, code or notation, of a set of instructions (whether with or without related information) intended, either directly or after either or both of ... (a) conversion to another language, code or notation; (b) reproduction in a different material form; to cause a device having digital information processing abilities to perform a particular function;

Two alternative claims, by Data Access, of infringement of copyright in the reserved words rest not on their reproduction as parts of the language program but on the assertions that: (i) each word is a computer program itself such that each is entitled to copyright protection on its own; and (ii) the collocation of reserved words constitutes a program itself even if the words alone are not programs. These assertions require a more detailed examination of the nature of a “computer program” than that undertaken to date and brings to light problems with the majority judgments in Autodesk Inc v Dyason (No 2).[11] The main problem is that the reserved words might be more properly classified as “related information” than as “a set of instructions” for the purposes of the Act, whereas the approach of the majority in Autodesk v Dyason (No 2) appears to categorise them as the latter.[12] The importance of the characterisation issue is not moot. If – as is submitted – the reserved words are taken to be “related information” alone, then they cannot come within the definition of a “computer program” provided by the Act and so cannot be computer programs in themselves to which copyright attaches. Further, even considering them as a collocation does not provide the missing element of “instructions” required to bring them within the definition of a “computer program” in the Act. If the reserved words are not computer programs individually or collectively, their copyright protection will stand or fall on their substantiality as part of the language program. The nub of this question can only be resolved by an examination and application of the two Autodesk cases.

B. The Meaning of “Instructions”: Technical or Lay?

A definition of the term “instruction” and the distinction (if any) between instructions and data appears only to have been considered in dicta in the two Autodesk cases. A majority of judges in Autodesk (No 2) proceeded on the footing that a lay meaning is to be ascribed to “instruction”. In Autodesk (No 2), Gaudron J noted that,

[i]t has not at any stage been suggested that the expression ‘a set of instructions’ in [the definition of computer program in the Act] is a technical or art term or that it has anything other than the ordinary and natural meaning conveyed by those words in that context.[13]

Her Honour proceeded to offer a simple and elegant consideration of the term “instruction” as importing the lay meaning,

An instruction operates as such only to the extent that it conveys a command to its recipient. ... As a matter of ordinary usage, each, viewed in its entirety, is an instruction. And it is an instruction whether or not it is accompanied by information ...

Given ordinary usage and given that it has never been suggested that the expression ‘set of instructions’ in the definition of ‘computer program’ in s10 of the Act is a technical or art term, it is, in my view, clear that that expression directs attention to an entire instruction or, more accurately, an entire set of instructions and not merely those parts that consist of bare commands.[14]

It is submitted that this brings about a divergence between the technical and legal usages of the term “instruction”. An “instruction” in the lay sense connotes the performance of some “task” at a level of some generality, such as drawing a box on the screen or entering a value into a particular field. However, in the technical sense, “instruction” generally means a single instruction to a microprocessor. One such instruction is invariably not enough to perform a “task” as it is conceived in the broader sense; many, often hundreds or thousands of microprocessor steps may be needed to perform such a task. Even the simplest of tasks in the lay sense is often broken down into the repetition of even simpler operations. The “task” of adding two numbers, A and B, and seeing whether their sum exceeds number C might be performed as: put the number stored in location A into register 1; put the number stored in location B into register 2; add register 2 to register 3; put the number stored in location C into register 4; compare the number in register 3 with that in register 4; if it is larger, go to a certain location and resume execution; otherwise, go to a different location and resume execution.[15]

Everyday instructions cannot properly be equated with the literal instructions fed to computers as the two perform different functions differently. The data or information in an everyday command is descriptive; it qualifies the subject, object or action involved in the instruction. It may allow the actor to differentiate between what objects to operate upon or how to perform the actions. Computer instructions already carry this information with them. Inherent in their definition is all the precision required to perform a task; they need no extra information describing how to perform the command. Rather, data acts as a substrate upon which they can act; whether as a set of figures with reference to which they can compress a file or display a picture. Moreover, data are often not relevant to any instructions at all in the sense that they do not relate to a command but simply provide matter to be manipulated and displayed.

The fractal nature of the lay meaning of “instruction” also causes problems. For if the “instruction” to draw a box is taken to be within the ambit of the definition in the Act, what then of the subtasks it might involve – (such as: move to the top left corner; draw a line right; draw a line down; draw a line left; draw a line back up to the starting corner) – as each of these is equally an “instruction” in that sense, albeit at a lower level of abstraction. And in turn, each of these steps may be broken down further and further – (for example, to draw the line, highlight all pixels with a vertical position of y pixels, starting from x and ending at x + w; to highlight a pixel, do a certain operation upon a value in a particular memory location; to do this operation, follow these rules...) – until the basic building block of “instructions” to the processor (the technical understanding of the term) is reached. Both factors make it difficult to know where to stop in identifying a program were the lay meaning to be used; use of a lay meaning would result in finding a recursively nested group of programs where the technical meaning would find just one, clouding the analysis process and allowing possible copyright protection to too-small fragments of object code.

The second conceptual issue to be grasped is the technical meaning of the term “data”. The term is generally used to denote any information used in the running of a program that does not itself consist of instructions to the microprocessor. An example is the words and phrases which are to be displayed on the screen during the operation of a program. These are usually embedded within the object code in such a way that they are read into memory by the computer but are never themselves directly executed by the microprocessor. When the computer is run, some of the instructions in the object code might get the text string from memory; others might display it on screen. The text string is retrieved and displayed but it is never executed in the sense that it is never fed through the microprocessor as instructions to do things: it does not form part of any instruction itself (in the technical sense) but provides the “fodder” upon which the microprocessor can operate.[16] This is the way in which the language program uses the reserved words. The effect of the dictum in Autodesk (No 2) would be to allow data, which is really “related information”, to be considered not only as part of the “instructions” in a computer program but as “instructions” in their own right, at odds with the technical sense of the term. It is also at odds with the approach of Dawson J (with whom all other justices agreed) in Autodesk, who implicitly adopted a definition in line with the technical sense: his Honour held that the responses given by the AutoCAD lock were not instructions as they were “digital information” (for instance, data) which “do not in themselves instruct the computer at all; they merely provide some digital information which can serve as the basis for comparison.”[17] His Honour reasoned similarly in respect of the lookup table, noting that, as data, “it [did] not by itself amount to a set of instructions”.[18]

C. “Instructions” and a Causation Issue

A second argument in favour of adopting a technical meaning for “instructions” is that the Act itself appears to require an element of causation: the definition provides that they “cause” a computer to perform specific tasks. The difference between technical understanding of instructions as against data is precisely placed on an element of causation: instructions to the microprocessor make it perform the calculations which perform a task. Data, on the other hand, may be used in performing these calculations, but purely in the passive sense: it is manipulated; it does not manipulate.

Justice Brennan appears to have overlooked this subtlety in Autodesk (No 2). His Honour prefaced his inquiry with the following,

As it is the reproduction ... of the sequence of digits in the look-up table in Widget C which is said to be an infringement of the appellant’s copyright in a computer program, the relevant question is whether the sequence of digits in the look-up table is an element in a ‘set of instructions’.

Although the notion that copyright protects an expression of an idea rather than the idea itself is preserved in the definition of ‘computer program’, the definition itself invites consideration of the effect on the computer of the electronic signals the expression of which constitutes the computer program .... Widget C consists of a sequence of electronic signals ... which cause a computer (i) to run the AutoCAD application when the responses received from a peripheral device ... correspond with the look-up table and (ii) not to run the AutoCAD application when the responses from the peripheral device do not correspond with the lookup table. ... The entire sequence of electronic signals which causes the computer to run the AutoCAD application comprises the electronic signals generated by the computer ... which are transmitted to the peripheral device, and the electronic signals which are generated by and transmitted from the peripheral advice. To succeed in challenging the correctness of the judgment, the respondent would have to demonstrate that the electronic signals should be divided into two categories, some of them being a ‘set of instructions’ and others being of a different character.[19]

With respect, the latter proposition is, in fact, correct, the latter being merely data and not instructions. The error flows from the consideration of both the object code and the signals pertaining to the peripheral device as a single and interchangeable set of electronic signals whereas they are not. For the former are “instructions” in its technical sense: instructions to the microprocessor which actually cause the computer to do things by causing it to carry out all of the routines and subroutines that make the AutoCAD program do what it does. They are “electronic signals” only in the sense that they are stored in the computer in non-material (electric) form – they are the non-sensate representations of the object code which caused so much trouble in the Apple Computer case.[20]

By contrast, the “signal” pertaining to the peripheral device is of a different sort: it is a number representing a response to a challenge from the AutoCAD program. The number is not a representation in insensate form of an instruction to the microprocessor in object code as are the signals in the AutoCAD program but is the numerical result of a calculation: it is not an instruction in the technical sense as it is never to be executed by the microprocessor running the AutoCAD program. As Dawson J noted, the microprocessor merely verifies that this number is what it ought to be.[21] It does not cause the device having digital information processing capabilities to perform any task at all save in the most extreme but-for form: but for it being the correct number, the AutoCAD program will choose not to continue to run. It is the other parts of the object code in the AutoCAD program that cause this result: the number itself in no way causes the computer to do anything. Indeed (and this is the essence of “cracking” the copy protection of a computer program) if the instruction in the AutoCAD program which checks the number returned by the peripheral is edited out, then the AutoCAD program will continue to run when an incorrect number, or even none at all, is sent.[22]

The importance for the Data Access case is that the reserved words are never themselves executed as a series of commands. As recognised by the full Federal Court, each word in the Dataflex language is (barely) an instruction in the lay sense of the term in that it points, as a “cipher”, to the purpose to be carried out.[23] When encountered, they are used as a basis for decision by other parts of the program as to which set of commands will be executed.[24] These commands are the only parts which cause the computer to perform certain tasks: yet these are the very routines which are defined to perform the function of the reserved words which Data Access concedes to have been independently written by Powerflex and not copied.

D. Analysis

It is submitted that the preferred interpretation is as follows: the term “instructions” in section 10 is to be taken as a term of art such that it means those parts of the object code that are the commands executed by the microprocessor. In the source code it is the words of the computer language from which these commands are derived. To use the language of Dawson J in Autodesk, they are parts of the object code which “in themselves instruct the computer”.[25] The term “in any language, code or notation” means that, as intended by the majority of the court in Autodesk, this includes, and thus protects,

the actual set of instructions regardless of whether they be actually expressed in written form or merely embedded or stored in a non-sensate form such as electrical impulses on a disk, ROM or EPROM.[26]

The use in the Act of the term “set of instructions” confers protection to the collocation of instructions which together constitute a discrete moiety – that is, programs and routines or subroutines – which is capable, when executed, of causing a computer to “perform a particular function”.[27] Of course, each of these, once prima facie programs for the purposes of the Act, must then fulfil the usual requirements of originality to attract copyright.[28] This approach follows the imprecation of Mason CJ in Autodesk (No 2), that,

the definition of a ‘computer program’ by reference to ‘an expression ... of a set of instructions’ should be understood as conferring protection upon the set of instructions itself – which must be identified with some precision – but in doing so in a way which is adapted to the nature of copyright.[29] (emphasis added).

The use of the term “expression” of the set of instructions underlies the traditional idea/expression dichotomy: that is, as stated by Dawson J in Autodesk, that the function of the program is its idea, while the precise ordering of instructions and data needed to carry it out is the expression of that idea.[30]

Data is protected in that it comprises the matter referred to in the parenthesised “related information” in section 10. Upon the meaning contemplated by Gaudron J, where data would be protected as part of the instructions themselves, this parenthesised phrase would be superfluous. Under the meaning submitted, data is protected identically to any other part of the computer program. The sole difference is critical to the resolution of the Data Access case – that, if removed from its collocation with other instructions, this data will probably not be classifiable as “instructions” and thus not as a computer program in its own right: and this is dispositive of the ancillary grounds of the appeal, as the reserved words themselves are not executable material but are data alone, and cannot thus be computer programs. This situation was expressly contemplated by Dawson J in Autodesk, where he stated,

[i]t is not, in my view, necessary that the reproduction of a substantial part of a computer program should itself be a computer program within the meaning of the definition of ‘computer program’ in the Act.[31]

This would cover cases of copying of data of its own substantial merit, such as an artistic or literary work stored in a digitised form in a program, as well as cases of purely banal computer data. It would substantiate Mason CJ’s observation in Autodesk (No 2) that,

it is arguable that the 127-bit look-up table is simply data or information which is accessed and used by the instructions that constitute the program Widget C. The instructions are functionally useless without the data; the Widget C program would not fulfil its role in the absence of the look-up table. But this may not mean that the look-up table forms part of the instructions or is a ‘substantial part’ of the protected copyright work for the purpose of determining an alleged infringement.[32]

Indeed, as Mason J also stated in Autodesk (No 2), the characterisation of parts of the computer program as either instructions or data may influence strongly the issue of whether these parts are “substantial” or not in the event that they are copied.[33] It would also avoid an artificial dichotomy between “instructions” and “data” in the legal meanings of the words which would cast the scope of copyright protection undesirably broadly and would instead make them mirror the technical understanding of this area. As a result, it is submitted that the Court should reconsider this part of Autodesk (No 2), which proceeded in default of argument as to the meaning to be applied to the term “instructions”.[34]

For similar reasons, Data Access’ other principal argument, that the collocation of the reserved words can amount to a computer program, ought not be sustained. Just as each reserved word lacks the requisite character of “instructions” to allow it to be considered a computer program, so does the grouping of the whole. Nothing extra in the way of instructions to the microprocessor, or anything else which can fulfil the element of causation, is imported when the words are considered together as against separately. The only collocation which can be made to satisfy these missing elements is a collocation of the routines which carry out the function of the reserved words, the very parts of Data Access not copied. A distinct point must also be made: while the set of words which make up the Dataflex language is not a “computer program” of itself, this does not preclude a program written using the Dataflex language from being one. An analogy is the set of letters in the English alphabet: the set A–Z is not a work of itself but is a representation of the totality of building blocks available to form words. Likewise, the set of reserved words represents the totality of the building blocks of the Dataflex language. Copyright will be available to a sufficiently creative, substantial and original assembly of letters to form a book or poem in the same way that it will be available to a sufficiently creative, substantial and original arrangement of reserved words to form a program written in the Dataflex language. As an issue of principle, the granting of copyright to a reserved word in these circumstances, particularly as a program itself but equally as part of another program, would effectively grant a monopoly in its use: the first programmer to use the word “show” (or some newly created word) in a database program could then prevent others from using that word in their own programs even if, as here, the others expend substantial time and energy in creating the same or similar function for it independently. The requirement of proving copying would presumably catch everything between casual use to reverse-engineering so that programmers could not look at other competing products on the market before or while developing their own programs. The ability of programmers to create a consistency between different programs would also be curtailed if Data Access’ contentions succeed: the first to use the words “copy” or “paste” in a word processor could, on the grounds of their argument, prevent other programmers from using these words as commands in their own programs.[35]

3. The Meaning of “Substantial Part”

The second principal argument before the High Court is the meaning of the term “substantial part” in relation to a computer program. It is the only remaining argument in favour of copyright in the reserved words if the two subsidiary arguments are dealt with as submitted above. It is the second issue in this case for which Autodesk is the only authority in point; yet it is submitted that the approach taken there was again wrong.

A. “Substantial Part” According to Autodesk

The meaning of a “substantial part” of an allegedly copied computer program was critical to the resolution of Autodesk. It is submitted that the approach adopted in that case by Dawson J (with whom all members of the court agreed) was incorrect. His Honour stated,

For Widget C is a computer program and a substantial, indeed essential, part of that program is the look-up table by reference to which Widget C processes the information which it receives from the AutoCAD lock. ... In effect, both Widget C and the Auto Key lock contain the same look-up table. ... Whilst the 127-bit look-up table does not of itself constitute a computer program within the meaning of the definition – it does not by itself amount to a set of instructions – it is a substantial part of Widget C and its reproduction in the Auto Key lock is a reproduction of a substantial part of that program.[36] (emphasis added)

Although Dawson J did not advert to this issue in the application to vacate in Autodesk (No 2), Brennan and Gaudron JJ did. Brennan J stated that,

[t]he bytes contained in the look-up table are but a minute fraction of the bytes in the whole of the Widget C program. Nevertheless, the series of digits in the lookup table is both original and critical to the set of instructions designed to cause the computer to run the AutoCAD application. When the running of the AutoCAD application is the purpose of the set of instructions expressed in that program, it would be difficult, if not impossible, to contend that the look-up table is not a substantial part of that program.[37] (emphasis added)

Gaudron J said that,

[t]he only other matter on which the respondents rely is the question whether the look-up table can be said to be a substantial part of Widget C. In truth, the table was the linchpin of the program, to borrow an expression from a different technology. It was the critical part of the instructions in that the other parts depended on and were made by reference to it. Whatever may be the situation in cases in which information plays a less significant role, given that the look-up table was crucial to Widget C and given that copyright protection extends to information as well as the commands involved in a set of instructions of the kind constituting a computer program as defined in s10 of the Act, there is, in my view, simply no basis for an argument that the look-up table was not a substantial part of Widget C.[38] (emphasis added).

All of these judgments rely on the “essentiality” or “criticality” of the look-up table to determine its substantiality. This introduces an element of danger as it almost invites a “but for” analysis to be undertaken: as the AutoCAD program would not run but for the presence of the look-up table, it must be a substantial part of the program.

It is submitted that such a simple analysis cannot be sustained. Computer programming is an art of extreme precision; there is no (or extremely little) redundancy in the languages used, leaving no scope for any defect in the source or object code. If a letter or a figure is omitted from the source code, it will most probably not compile (giving an error in the process of attempted compilation) or it may compile with results different from what is intended. Changing any single bit in the object code may be sufficient to render the program unworkable. In this sense, it is possible to argue, reductio ad absurdum, that every single element of the source and object code is thus essential, in that the program will not perform its intended purpose without that particular element.

It seems more reasonable to assume that the justices intended to ascribe a different shade of meaning to “essential” or “critical”: that the presence of the table in the exact form that it took was necessary, in the way the AutoCAD program was programmed to reference it, in order for the program to run. It is not essentiality by presence in the mere but for sense, but essentiality by design, as the program was constructed so as not to run if, in effect, the look-up table was not present somewhere in the lock. This introduces the second error imported by a criterion of essentiality or criticality, the confusion of form and function. Mason CJ appreciated this, saying that,

[i]t is clear that the phrase ‘substantial part’ refers to the quality of what is taken rather than the quantity. ... [I]n determining whether the quality of what is taken makes it a ‘substantial part’ of the copyright work, it is important to inquire into the importance which the taken portion bears in relation to the work as a whole: is it an ‘essential’ or ‘material’ part of the work? In this case, it is argued by the appellants that such an inquiry compels an affirmative answer as the look-up table is essential to the operation of the AutoCAD locking mechanism. Such an argument, however, misconceives the true nature of the inquiry and seeks to re-introduce by another avenue an emphasis upon the copyright work’s function.[39] (emphasis added)

Indeed, the emphasis on essentiality for function in Autodesk is a factor that ought to lead in the opposite direction. Rather than introducing it as a criterion for substantiality, the approach to function ought to have been focused on seeing where it deprived the subject matter of copyrightability based upon the form/ function merger.

The look-up table and Widget C are essential in that they must perform a certain function in order to allow the AutoCAD program to continue running. Any of the very large number of ways to perform this function may be employed and different ways were indeed used in the Auto Key and the AutoCAD lock.[40] However, the presence of the look-up table in exactly the form that it is present in the AutoCAD lock and Widget C is absolutely necessary in order to carry out this function. Only one of its very large number of expressions can be used: simply, if the look-up table were any different, it would send back the wrong signal at a particular point in the interrogation process and cause the validation part of the AutoCAD program to fail. Thus, any device which performed the function of the AutoCAD lock had to have the look-up table inside it in some form.

However, this very essentiality means that just one expression of the table can be used to perform the function of the lock: any of the near-infinite methods to calculate the numbers must be tied to just the one expression of the table. As its essentially increases, so its form collapses into the function it performs. The functioning of the lock is a utilitarian purpose and the ways to perform this are, as Dawson J noted in Autodesk, ideas.[41] Since only that particular method of expression of the look-up table could be used to achieve this function it was intended to perform, this part of the form collapses into this function and their merger is the merger of idea and expression about which Dawson J so correctly wrote in Autodesk, quoting Baker v Selden,[42] with the result that, “when the expression of an idea is inseparable from its function, it forms part of the idea and is not entitled to the protection of copyright.”[43]

The end result of concentrating on substantiality as essentiality or criticality of function is thus to lead, unwittingly, into precisely the area of copyright law adverse to the conclusion that was desired in Autodesk. Protection of functionality in such a sense is the proper domain of patent law; possibly, where the activity is the defendant’s marketing of a product which may impair the commercial basis of the plaintiff’s product by encouraging or facilitating pirating, as in Autodesk, the proper claim may be one of authorising a breach of copyright under section 36(1) or even one akin to unfair competition.[44] No such factor operates here.

B. A Return to the Unencumbered Definition of “Substantial Part”

It is submitted that the term “substantial part” is sufficiently descriptive without having resort to further qualifiers or proxies of essentiality. As Copinger and Skone James on Copyright states,

[i]t has repeatedly been held that ‘substantial’ in this connection relates much more to the quality of what has been taken than to the quantity. The quality, or importance, of the part taken is frequently more significant than the proportion which the borrowed part bears to the whole work. Thus if so much is taken that the value of the original is sensibly diminished, or that the labours of the original author are substantially, and to an injurious extent, appropriated by another, that is sufficient, in law, to constitute a piracy pro tanto.[45]

In Data Access, it is submitted that these factors all militate in favour of a finding that the reserved words do not constitute a substantial part, whether they are considered as part of the entire Dataflex program, as part of the sub-programs that contain these source words as literal strings, or even if they be held to constitute programs themselves.

On the definition advanced above, the reproduction is of data and not of instructions. There is no copying of the source or object code relating to the instructions performed by the microprocessor, the development of which comprise the part of the work that is much more difficult and requires the exercise of most of the skill, labour and creativity involved in writing the program. In themselves, many of the words appear to be fairly short. They are labels for commands for which the selection of the label is easy; deciding on their function is more difficult and implementing that function is more difficult still. The labels in Dataflex may be interchanged freely with letters such as XZB without any effect; similar changes could not be made to the function of the routine or of the expressions which are written to secure its effect. Yet only the labels have been copied. Further, only some of the labels have been copied, some 192 of 296 in Dataflex and still further, while the copied labels are generally some 6 letters long, the length of the routines in which they reside is very likely (the evidence does not disclose) to be very much longer, perhaps in the region of thousands to tens of thousands of characters. To use an analogy, a label which is shorthand for “execute these particular instructions” is not an expression of the instructions any more than the title of a book is the expression of the book’s contents. Indeed, the copying of the reserved words is conceptually very similar to the copying of the titles of various books – actually the copying of very short titles of books – which was considered “too unsubstantial” to constitute an infringement in Francis Day & Hunter v Twentieth Century Fox.[46]

While quality may usually be more significant than quantity,[47] it is submitted that in some instances the quantity taken may be so small so as to become a highly persuasive factor in itself, particularly where the amount copied cannot be redeemed as representing the expenditure of a large degree of skill and effort, as was not the case in Autodesk and as is not the case here.

This is not to say that there is no criterion of “importance” of the parts taken. There is, but the emphasis must be directed differently. With respect to an artistic work, it has been stated that substantiality depends on “how important that part is to the recognition and appreciation of the “artistic work” ” and that “[w]hat is protected is the skill and labour devoted to making the “artistic work” itself”.[48] For a musical work, importance may be stated as being its recognisability as the allegedly copied work, that is a part “which everyone who heard the march played through would recognize”,[49] while with respect to a (non-computer) literary work, it has been stated as being “a matter of fact and degree. It will ... depend, not merely on the physical amount of the reproduction, but on the substantial significance of that which is taken.”[50]

In respect of computer programs, it should be borne in mind that what is being protected is a functional work. Hence, the parts of the program which go to performing this function ought to be more important than others for the purposes of determining a substantial part. The more important part of a database programming language is what the words do and not what the reserved words are. In this sense, it is the object code of the routines which carry out the function of the reserved words that is the essence of the program and which must be most strongly protected; and this is precisely the part of the program that was not copied. More generally, the importance of a sub-program to the main program of which it is part is one of fact. It is not importance to the working of the program in a “function or not” sense, but rather in the manner it performs its function. Programs which are heavily engineering or materials simulation-oriented might have as “important” functions novel ways written to do scientific calculations but have as less “important” features functions which display the results of these calculations on screen. Conversely, games, graphics and graphics design programs might have “important” functions which seek to minimise the time it takes to display complex graphics on screen, while word processors might involve “important” functions of grammar checking. By this test, the Widget C program is not important to the functioning of AutoCAD as a design program – removal of Widget C and bypassing of the system checks would not affect the graphics or design capabilities of the program at all.

Lastly, as to originality, many of the words would appear to be words of common English and/or words which are already widely used in other computer languages and were not created by the programmers of Dataflex. Many are simply descriptive of the function that they perform and use obvious English words so that their originality is thus suspect.

4. The Meaning of “Adaptation”

The third point raised in the Data Access case is the meaning of the term “adaptation” as it applies to computer programs. Section 10(1) of the Act provides that,

adaptation means ... (ba) in relation to a literary work being a computer program – a version of the work (whether or not in the language, code or notation in which the work was originally expressed) not being a reproduction of the work.

It is not clear from the application for special leave what interpretation Data Access seeks the High Court to take of this definition. It is, however, submitted that the correct interpretation is that expressed by the full Federal Court.[51] Although the definition is somewhat infelicitously drafted, both its language and the statutory intention in its drafting militate in favour of the conclusion that it refers to a change of the source or object code into another source or object code by some mechanical means of conversion.

This was meant expressly to cover cases of the rendering of the source code initially in one computer language into another computer language, and of the conversion of object code back into a chosen source code by means of a process called decompilation.[52] This was to overcome the defect in the Apple Computer case which did not consider such processes to be “translations” of a copyrighted computer program, which was the only possible means of protection within the definition of “adaptation” as it then stood. Such processes are means peculiar to computer programs in which a program can be copied slavishly other than by a simple reproduction of the work as it stands. By means of an appropriate program, a program can be rendered from the form in which it was created into another new form that bears little objective resemblance to the original but which is just another means of re-expressing its original expression. It is different from a translation of a literary work in that it can be done losslessly (that is, the process can be reversed precisely) whereas a translation necessarily introduces some subtle differences due to the idioms used and the limitations of the languages of the original and translated works.

It may be that the necessary illumination given to the word “version” is that it is a re-expression of the original work which involves no, or trivial, changes by the adaptor. It focuses on the conversion of the expression of the computer program without any changes to the idea underlying it, so that it provides a flexibility to catch ways of copying made possible by ingenious technology which do not come within the cruder definition of an adaptation sufficient for dealing with traditional literary works. The attribution of too wide a definition to the term “version” would go beyond this and catch programs which worked similarly but which were created independently and not by the copying of source or object code. The sense is a “variant” so that some (and for infringement, a substantial) part of the original must exist in the copy, not the sense that any program is just a “clone” of any other program which performs the same function.

In this sense, it is impossible to see how Powerflex could be said to infringe the copyright in the Dataflex program absent some re-rendering of its source code or object code. Were Powerflex or parts of it (for instance, the functions assigned to the reserved words) generated by a process of manipulating or re-engineering the code found in Dataflex, adaptation would be made out. However, according to the agreed facts, the code was all generated independently by Powerflex’s developers and only Dataflex’s functions were duplicated. This means that the copying by Powerflex was solely of idea and not expression and that no liability should attach.

5. Remaining Issues in the Case

The remaining contentions of copying may be dealt with according to the principles noted above.

A. The Macros, Function Keys and File Structures

It is submitted that the Full Court was correct in finding no infringement. The names of the macros and the labels of the function keys are not programs in themselves for the same reasons that the reserved words are not. Rather, the set of instructions for which they stand are the relevant programs and any infringement in respect of them must be by reproduction or adaptation of these instructions. There is no evidence that the source or object code of the macros or function key programs in Dataflex as copied but instead were programmed independently, albeit with the intent to have them perform the same function as those in Dataflex. There is no copying of source or object code of these routines, nor any re-expression in a different form, so only the ideas were copied. The same is true of the routines which read and write the database files, and the structure of these files is a functional incident of this.

B. Huffman Table

The status of the Huffman table raises almost exactly the same situation as in Autodesk, although with a fact situation that perhaps more strongly favours the plaintiffs. For in Autodesk, the look-up table was merely 127 bits long and, it appears, created in a pseudo-random (stochastic) way. In Dataflex, although the exact size of the Huffman table is not given, it is reasonable to assume that it would exceed 127 bits in size. Further, it was not composed pseudo-randomly by a machine but by the exercise of some skill and judgment on the part of one of the creators of Dataflex.[53] The table is data and it is part of the program or programs that compress and decompress the files. Prima facie, it is copyrightable either as part of these program(s) or as a table or compilation of data in itself. The table is used in the compression and decompression of files in both programs. The caveat is that, in order to read a file compressed with a particular Huffman table, that exact same table must be used in the decompression. Hence, for Powerflex to read (or write to) any file created with Dataflex, the exact same table must be used. It is submitted that this involves a merger of form with function depriving the table of copyrightability for the same reasons as outlined above in respect of the look-up table in Widget C. The routines that use the Huffman table (for instance, to read, write, compress and decompress files) are ideas that can be expressed in more than one way and copyright will attach to each original expression of one. However, to the extent that each must access files with a unique Huffman table, that table forms part of the idea that can be expressed in but one way, and its form and function must collapse together. For this reason, it is submitted that Jenkinson J at first instance was in error when he stated that,

[t]he function of compression by means of the Huffman method may be, and has been, performed by any one of the very many different expressions in integer code. The expression given in the Data Flex table is but one of the many possible expressions.[54]

This passage is true only in respect of the expressions of the routines which use the table but not the expression of the table itself.

Further, unlike in Autodesk itself, it does not appear that the Huffman table is data which is itself unoriginal and which obtains copyright protection from its collocation with original matter in the program or programs that use it. It would thus not suffer the fate of losing copyright protection once its collocation ceases.[55] However, there would also be issues of substantiality in the context of programs that use it for compression and decompression: although of itself the entire table has been reproduced, in the context of these routines, which are long in the public domain, they are the minimum amount necessary in order to achieve compatibility. As a matter of policy, allowing copyright in respect of the Huffman table would grant an undesirable monopoly over the use of all files created using that table, as no other program could read the file and recover its contents without the use of the table. The effect would be that no other program could be written to be compatible with Dataflex as, short of infringing copyright or negotiating a licence which may never be forthcoming, no other program could read its data files.

C. Error Text Table

It is also submitted that Jenkinson J and the Full Federal Court were correct in finding no infringement of the error text table but for the incorrect reason that “[t]he program could [still] function without an error text table”.[56] This is the impermissible use of a but-for essentiality test. Rather, the set of error messages is unlikely to be “important” in respect of any given work in general so as to tend against substantiality, weighing against infringement in the absence of voluminous and slavish copying. In this case, the quantity of copying and similarity between the two programs’ error tables appears to have been very small. While similarities in error text tables could well be evidence of copying source or object code in the event that peculiarities or errors in one program were repeated in the other,[57] many errors encountered during the operation of a program will be the same and similar (or standard) text will be used to deal with them.

6. Other Questions of Policy

It was suggested by counsel for Data Access in special leave that a failure to grant copyright in respect of the reserved words would make the copying of commercial programs such as Dataflex much easier. This is true only in that copying may occur which is entirely legitimate according to the policy of the Copyright Act. For simple “copying” in the sense of pirating, whether by reproducing the whole or part of a program, is obviously caught by the Act, as is the incorporation of substantial parts of the original program into another via conversion into a different object or source code (adaptation). The policy of the Act does not extend to preventing work-alike programs, the essential nature of which is a copying of the idea but not the expression of the program. The few elements of the program which may need to be duplicated so to do are caught by the form/function merger – a doctrine which is not in issue with most traditional literary works, which are of non-functional nature, but which is of much greater importance in respect of computer programs, which are of a functional nature.

Indeed, allowing copyright protection to the elements claimed by Data Access would be tantamount to allowing them a monopoly in function either de jure (the reserved words) or de facto (the Huffman table). If copyright subsisted in respect of one method chosen to express something essential to performing a given function, then that function could not be performed without the reproduction of that expression and the owner of copyright in that expression would obtain a monopoly in it. Such a result lies purely within the realm of patent; it cannot be brought about by the application of the Copyright Act, to the intendment of which it runs contrary. Rather, the underlying policy may run analogously with the avoidance of monopolies discussed in the British Leyland case.[58]

7. Conclusion

Despite the apparent simplicity of the questions posed, it is clear that a re-appraisal must be made of Autodesk Inc v Dyason, one of the better reasoned and less controversial decisions on copyright in computer software. Simply put, the position taken by the Court in default of argument in that case regarding the lay meaning ascribed to the term “instructions” in the Act, and its formulation of the meaning of a “substantial part”, have serious implications for the present case and for the future copyright protection of computer software. The High Court has an excellent vehicle in which to reconsider those parts of the majority reasoning in the Autodesk cases which it is submitted are incorrect and it is hoped that the occasion will be taken to revise its interpretation.



[*] BSc (Hons), LLB (Hons) (Syd). MSc candidate at the University of Sydney and DPhil candidate at Magdalen College, Oxford)
[1] On appeal from Powerflex Services Pty Ltd v Data Access Corporation [1996] FCA 460; (1997) 37 IPR 436.
[2] For instance, “the expression of thought in print or writing”: University of London Press Ltd v University Tutorial Press Ltd [1916] 2 Ch 601 at 608–9.
[3] Autodesk Inc v Dyason [1992] HCA 2; (1992) 173 CLR 330.
[4] Autodesk Inc v Dyason (No 2) [1993] HCA 6; (1993) 176 CLR 300 at 303 per Mason CJ.
[5] The compatibility of this low-level source code with that produced by the Dataflex program itself is not mentioned in the judgment; it would be a great commercial advantage for Powerflex if it were compatible. This fact would not affect the legal issues in this case.
[6] For example, Autodesk Australia Pty Ltd v Cheung [1990] FCA 121; (1990) 94 ALR 472; possibly termed piracy jure pentium.
[7] They are so called because the user may not use these words themselves; ie, cannot ascribe a custom function to them. The language already has ascribed one and the word is thus “reserved” to the language and unavailable to the user.
[8] “High-level” is computer industry jargon for “more like English”, low-level means “less like English”, so that a high-level source code (like BASIC) is easier to comprehend, even to a professional programmer, than a low-level one such as assembly language.
[9] The reasons for utilising a two-step high-level source to low-level source to object code conversion in place of the usual source code to object code conversion are not relevant here; they involve considerations of practicality and convenience to the vendor of the Dataflex program and its users.
[10] It is unclear whether Powerflex comprises just one program or whether it too has a language and compiler program but this fact is immaterial to the legal issues.
[11] Above n4.
[12] Id at 310–11, 329 per Brennan and Gaudron JJ respectively.
[13] Id at 322.
[14] Id at 329.
[15] This example is over-simplified; the highly uneconomical use of registers is to keep the illustration conceptually simple.
[16] It is worth noting that, theoretically, it is impossible to distinguish between data and instructions as any data may potentially be executed; equally, it is theoretically impossible to prove that any program will work. Practically, the first issue at least is moot.
[17] Above n3 at 343.
[18] Id at 346.
[19] Above n4 at 310–11.
[20] Computer Edge Pty Ltd v Apple Computer Inc [1986] HCA 19; (1986) 161 CLR 171.
[21] Above n3 at 343.
[22] That is, the process might be originally: take a number; send it to the peripheral; wait a short time; retrieve a number from the peripheral; calculate the correct response; check the number received against the correct response; does it match: if yes, go to point A and continue; if no, go to point B and continue. Point A would be the position to resume the program’s calculations, display etc; point B would initiate a message something like “you are not using the correct peripheral; goodbye” and quits the program. “Cracking” the protection might involve changing the last check to: does it match: if yes, go to point A and continue; if no, go to point A and continue. This may sometimes be as simple as changing one hexadecimal character in memory.
[23] Above n1 at 451–2.
[24] The cause is the instructions for which the label stands. Even where the word is “used” by the operator to achieve a result, the cause of the computer performing the result is the issuance of a command by the user, not the word itself.
[25] Above n3 at 343.
[26] Id at 335 per Mason, Brennan and Deane JJ.
[27] In the sense that, in Autodesk, Widget.C was a program in and of itself despite the fact that it made up the AutoCAD program when combined with many other programs: see above n1 at 447. See also at 455.
[28] Above n3 at 335–6.
[29] Above n4.
[30] Above n3 at 345.
[31] Id at 346.
[32] Above n4 at 306.
[33] Id at 304.
[34] Above n4 at 310–11 and 329.
[35] That is, as both programs would contain the words in their source and object code as literal strings, one copied from the other.
[36] Above n3 at 346.
[37] Above n4 at 311–12.
[38] Id at 330.
[39] Above n4 at 305–6.
[40] Above n3 at 343.
[41] Id at 344–5.
[42] Baker v Selden [1879] USSC 9; (1880) 101 US 99.
[43] Above n3 at 345.
[44] See the judgment of the Cour d’Appel of Paris on similar facts to Autodesk in Sarl Artware v Groupe D’Utilisation Francophone D’Informatique [1993] ECC 279 noted [1993] FSR 703.
[45] Skone James, E P, Mummery, J F, Rayner James, J and Garnett, K M, Copinger and Skone James on Copyright (13th edn, 1991) at par 8–26.
[46] Francis Day & Hunter Ltd v Twentieth Century Fox Corporation Ltd [1940] AC 112 at 122–3. But cf Ladbroke (Football) Ltd v William Hill (Football) Ltd [1964] 1 WLR 273 at 286.
[47] Note that quality is not used exclusively in place of quantity: see Lord Cottenham LC in Bramwell v Halcomb (1836) 3 My & Cr 738 at 738 [1836] EngR 890; [40 ER 1110 at 1110] but cf Lord Pearce in Ladbroke (Football) Ltd v William Hill (Football) Ltd [1986] 1 AC 577 at 613, 631–632, 647 “quality rather than its quantity”.
[48] Catnic Components Ltd v Hill & Smith Ltd [1982] RPC 183 at 223 (CA).
[49] Hawkes & Son (London) Ltd v Paramount Film Service Ltd [1934] 1 Ch 593 at 609.
[50] Ladbroke (Football) Ltd v William Hill (Football) Ltd [1964] 1 WLR 273 at 283.
[51] Above n23 at 454.
[52] See memorandum to the bill amending the Copyright Act discussed above n51.
[53] Data Access Corporation v Powerflex Services Pty Ltd (1996) 33 IPR 194 at 202.
[54] Id at 203.
[55] Above n50 at 293 per Lord Pearce and Mason CJ in Autodesk v Dyason (No 2) above n4 at 305.
[56] Above n53 at 202.
[57] Cf John Richardson Computers v Flanders [1993] FSR 497.
[58] British Leyland Motor Corporation v Armstrong Patents [1986] 1 AC 577 at 613, 631–2, 647.


AustLII: Copyright Policy | Disclaimers | Privacy Policy | Feedback
URL: http://www.austlii.edu.au/au/journals/SydLawRw/1998/12.html