Powerflex Services Pty Ltd v Data Access Corporation
[1997] FCA 490
•4 JUNE 1997
CATCHWORDS
COPYRIGHT - whether either individually or collectively certain commands for use in a computer program themselves constitute a "computer program" within the meaning of s 10 of the Copyright Act 1968 (Cth) such that use of them as commands in another computer program would constitute an infringement.
Copyright Act 1968 (Cth), s10
United States Code, s102(b)
Computer Edge Pty Ltd v Apple Computer, Inc (1986) 161 CLR 171, considered
Apple Computer Inc v Computer Edge Pty Ltd (1983) 50 ALR 581, applied
Autodesk Inc v Dyason (1992) 173 CLR 330, referred to
Lotus Development Corporation v Borland International Inc (1995) 33 IPR 233, considered
Baker v Selden (1880) 101 US 99, considered
Lotus Development Corporation v Paperback Software International (1990) 18 IPR 1, referred to
Nichols v Universal Pictures Corp 45 F 2d 119, considered
Zeccola v Universal City Studios Inc (1983) 67 FLR 225, distinguished
Scott v Stanford (1867) LR 3 Eq 718, distinguished
Australasian Performing Right Association Limited v Jain (1990) 18 IPR 663, applied
POWERFLEX SERVICES PTY LTD v DATA ACCESS CORPORATION
VG 295 of 1996
BLACK CJ, HILL & SUNDBERG JJ
MELBOURNE
4 JUNE 1997
IN THE FEDERAL COURT OF AUSTRALIA )
)
VICTORIA DISTRICT REGISTRY ) No VG 295 of 1996
)
GENERAL DIVISION )
ON APPEAL FROM A SINGLE JUDGE OF
THE FEDERAL COURT OF AUSTRALIABETWEEN:POWERFLEX SERVICES PTY LTD
First Appellant
POWERFLEX CORPORATION PTY LTD
Second Appellant
DAVID MEREDITH BENNETT
Third Appellant
MARGARET ANN BENNETT
Fourth Appellant
DEMILEIGH PTY LTD
Fifth Appellant
(First, Second, Third, Fourth and Fifth Cross-Respondents)
AND:DATA ACCESS CORPORATION
Respondent
(Cross-Appellant)
CORAM: BLACK CJ, HILL & SUNDBERG JJ
PLACE: MELBOURNE
DATED: 4 JUNE 1997
MINUTES OF ORDER
THE COURT ORDERS THAT:
The appeal be allowed in part.
The orders of the primary judge be set aside and in lieu thereof it be ordered:
(i)that each of the appellants, other than the fourth appellant, be restrained from reproducing in a material form or making an adaptation of the Dataflex Huffman compression table, or a substantial part of that table, in either of the computer programs known as Powerflex or PFXplus, or an adaptation of those programs.
(ii)that each of the appellants, other than the fourth appellant, be restrained from authorising in Australia and without the licence of Data Access any person to do any act, the doing of which by Powerflex would constitute a contravention of the above order.
The matter be remitted to a judge of the Court for determination by way of rehearing whether injunctions should be granted against the fourth appellant in the same terms as the injunctions now granted against the other appellants.
The cross appeal be dismissed.
The parties file brief submissions as to costs within seven days of judgment being delivered.
Note:Settlement and entry of orders is dealt with in Order 36 of the Federal Court Rules.
IN THE FEDERAL COURT OF AUSTRALIA )
)
VICTORIA DISTRICT REGISTRY ) No VG 295 of 1996
)
GENERAL DIVISION )
ON APPEAL FROM A SINGLE JUDGE OF
THE FEDERAL COURT OF AUSTRALIA
BETWEEN:POWERFLEX SERVICES PTY LTD
First Appellant
POWERFLEX CORPORATION PTY LTD
Second Appellant
DAVID MEREDITH BENNETT
Third Appellant
MARGARET ANN BENNETT
Fourth Appellant
DEMILEIGH PTY LTD
Fifth Appellant
(First, Second, Third, Fourth and Fifth Cross-Respondents)
AND:DATA ACCESS CORPORATION
Respondent
(Cross-Appellant)
CORAM: BLACK CJ, HILL & SUNDBERG JJ
PLACE: MELBOURNE
DATED: 4 JUNE 1997
REASONS FOR JUDGMENT
THE COURT:
The appellants, Powerflex Services Pty Ltd, which together with the second appellant Powerflex Corporation Pty Ltd is hereafter referred to as "Powerflex", Doctor David Bennett ("Dr D Bennett)", Doctor Margaret Bennett ("Dr M Bennett") and Demileigh Pty
Limited, appeal against the judgment of a judge of this Court holding them to have infringed the copyright of the respondent, Data Access Corporation ("Data Access") in a computer program known commercially as the "Dataflex program". Data Access has cross-appealed on a point on which it failed.
While a number of issues are raised in the appeal and cross-appeal, the central issue is whether either individually or collectively certain commands used in the Dataflex program referred to as the Dataflex "language" are given copyright protection so that use of them as commands in the respondent's computer program, originally named "Powerflex" and subsequently called "PFXplus", would constitute an infringement of the respondents' copyright in the Dataflex program.
Dataflex is a computer program, the copyright in which is owned by Data Access. Development of the program commenced in around 1979. It was first published in 1981 and has been the subject of some eighteen revisions thereafter. It is an application development system designed to be used by programmers or developers. It provides the purchaser with the tools to develop customised database applications and databases. A database is a set of data or information stored in an organised and structured way so that that data may be readily retrieved and manipulated.
There are two major components of the Dataflex system, a development component (the compiler) and a runtime system. The development component is that part of the program which is used to create customised database applications. Once such an application has
been developed it can then be run on the computer (that is to say, used) with the aid of the runtime system.
Dr D Bennett desired to create an application development system which would be highly compatible with the Dataflex program, that is to say, an application development program which would use the same commands, file structure and function keys to perform the same functions so that persons who had become comfortable using the Dataflex program would have no difficulty in transferring to the program which Dr D Bennett proposed to create.
Dr D Bennett achieved his goal with the development of the Powerflex program. As already indicated the name of the program was changed ultimately in 1990 to PFXplus, although it has been subject to revision from time to time thereafter. Dr D Bennett and his wife Dr M Bennett ultimately caused a company to be incorporated to sell the new program. That company was Powerflex Corporation Pty Ltd, the second appellant.
Although there were some matters of fact at issue between the parties, both before the learned primary judge and on the appeal, the facts relevant to the significant matters of principle were not in dispute. First, it is common ground that in developing PFXplus Dr D Bennett, by a process of reverse engineering and study both of the documentation and operation of the Dataflex program, created PFXplus intending that that program would be compatible with the Dataflex program, that is to say, that certain commands and "reserved words" used as commands in the Dataflex program would operate in like manner in the PFXplus program. Second, it is common ground that the source code in
which the Dataflex program is written is quite different from the source code in which PFXplus is written, so that but for the commands which are central to the present appeal, function keys, file structure and certain minor features, such as compression and error display to which reference will later be made, the PFXplus program does not constitute an infringement of the Dataflex program.
It is also conceded by counsel for the respondents that it could not be said that there was necessarily any similarity between the object code used in the Dataflex program and that used in the PFXplus program.
At first blush it would seem incompatible with the these propositions, which are common ground, to say that each of the words in respect of which copyright is claimed has the same meaning and the same syntax in both the Dataflex and the PFXplus languages. However, it is common ground that this also is true. To understand, however, what is meant by the meaning and syntax of computer language it is necessary to say something about how computers function and the nature of computer language.
A computer system consists of hardware and software. The hardware includes a central processing unit which contains the electronic circuits which control the computer and perform the relatively simple arithmetical calculations and logical operations (ie comparing values to determine which is larger) of which the computer is capable. It is because the computer is able to perform millions of such operations each second that computers may be used to perform extremely complex calculations and functions.
Interface between the human operator and the computer takes place through a keyboard. Depression of a key sends a string of impulses to the computer which the computer is programmed to recognise.
There are, speaking generally, three kinds of computer programs: operating system programs, application system programs and application development programs. An operating system program (such as DOS, OS/2 or Windows 95) controls the basic functions of the computer hardware such as the efficient utilisation of memory and the starting and stopping of application programs. Application programs, on the other hand are programs which permit a user to perform a particular task. Examples are word processing programs, spread sheet programs and data base programs.
Application development programs exist, as has already been noted, as an aid to professional or non- professional programmers/developers to enable them to develop their own application programs.
In Computer Edge Pty Ltd v Apple Computer, Inc (1986) 161 CLR 171, Gibbs CJ (at 178-9) discussed computer software in the ordinary sense of that expression as follows:
"Computer science makes much use of jargon and metaphor, and to enable the matters in issue to be understood it seems desirable to attempt a brief explanation of the meaning of some of the expressions used in that science and to describe the manner in which a computer program is developed. A computer program is a set of instructions designed to cause a computer to perform a particular function or to produce a particular result. A program is usually developed in a number of stages. First, the sequence of operations which the computer will be required to perform is commonly
written out in ordinary language, with the help, if necessary, of mathematical formulae and of a flow chart and diagram representing the procedure. ... Next there is prepared what is called a source program. The instructions are now expressed in a computer language - either in a source code (which is not far removed from ordinary language, and is hence called a high level language) or in an assembly code (a low level language, which is further removed from ordinary language than a source code), or successively in both. Sometimes the expression source code seems to be used to include both high level and low level language ...
The source code or assembly code cannot be used directly in the computer, and must be converted into an object code, which is `machine readable', ie, which can be directly used in the computer. The conversion is effected by a computer, itself properly programmed. The program in object code, the object program, in the first instance consists of a sequence of electrical impulses which are often first stored on a magnetic disc or tape, and which may be stored permanently in a ROM (`read only memory'), a silicon chip which contains thousands of connected electrical circuits. The object code is embodied in the ROM in such a way that when the ROM is installed in the computer and electrical power is applied, there is generated the sequence of electrical impulses which cause the computer to take the action which the program is designed to achieve. ... Obviously the electrical impulses themselves cannot be perceived. However the sequence of electrical impulses may be described either in binary notation (using the symbols 0 and 1) or in hexadecimal notation (using the numbers 0-9 and the letters A-F), and it is possible to display the description on the visual display unit of the computer, and to print it out on paper. And, as has been said, it is also possible to reconstruct the mnemonics in the source code. It will have been seen from this account that a program exists successively in source code and in object code, but the object code need not be written out in binary or hexadecimal notation in the process of producing and storing the program."
When one speaks of the "lowest level" computer language, therefore, one is talking of the machine language which is executed directly by the computer. Modern computer programmers typically write computer programs in a higher level language or source code. Common examples include FORTRAN, COBOL, Pascal, BASIC or C. Such languages are not specific to a particular make or model of computer but are universal to practically all computers. A program written in source code must be translated into the appropriate
object code for execution. This translation, which may involve more than one layer of recoding, is achieved by an interpreter program known as a compiler program.
The Dataflex program contains both a compiler and a run program. A person desiring to set up a customised data base program can do so by writing a simple program using the Dataflex commands. By running this simple program with the compiler, the simple program is translated into a lower level source code. In other words, the compiler program recognises the particular command used in the simple program and substitutes for that a set of instructions written in source code. When the program is then run with the runtime program, typing in the particular command will send instructions to the computer, ultimately in assembly language, for the computer to perform the series of operations corresponding with the command.
Metaphorically therefore, we speak of words or commands available for use in both setting up and operating a customised data base application program as having, in the high level language which the customer uses (or for that matter other application programs), both a meaning and a syntax. This was expressed in the evidence of Mr Cory Casanave, Executive Vice-President of Data Access, in the following way (at para 83):
"(a)A computer language defines the names of each word in the language and the rules governing the use of each word (syntax). Each word in a computer language is an instruction to the computer to invoke lower level processes, the word chosen to invoke those processes is generally chosen to suggest the nature of the process that will be invoked.
(b)A computer language is comprised of a set of reserved words which are used in accordance with the rules of syntax governing their use.
A computer language syntax, like the syntax of a human language, comprises the rules by which the words can be combined to form statements which are correct for the language. For each command or function there is a specific syntax which describes how arguments may be applied to the command. Arguments can be likened to a noun phrase, they describe what the command will act on. Various documents also refer to `functions' as well as commands. Functions are a type of command which perform a computation and return a result."
Thus, while it is appropriate to refer to the respective words or commands as having meaning, what we really mean by that is that in reference to that particular computer program the command will cause the computer to perform a particular operation or function. When we speak of syntax we speak of the rules for using that command in that particular program. For example, a particular command might only be effective if followed by the name of a file.
While commands in two programs may have the same meaning, ie will ultimately cause the computer to perform the same function, the set of instructions in source or object code in each program may be completely different. Such is the case with the Dataflex and PFXplus programs.
THE STATUTORY ISSUE
Under the Copyright Act 1968 (Cth) ("the Act"), copyright exists, inter alia, in a literary work. Section 10 of the Act defines the expression "literary work" to include:
"(a)a table or compilation, expressed in words, figures or symbols (whether or not in a visible form); and
(b)a computer program or compilation of computer programs;"
The same section defines the expression "computer program" as meaning:
"... 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 ... [computer] ... to perform a particular function;"
Copyright in a computer program will be infringed where it has been reproduced in a material form or there has been an adaptation of it. The word "adaptation" in relation to a computer program is defined in s 10 as meaning:
"... 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;"
Within the statutory context, therefore, the principal issue in the present case is whether the words or commands used in the Dataflex program individually or together constitute a computer program, that is to say constitute an expression of a set of instructions intended to cause a computer to perform a particular function. If that question is answered favourably to Data Access, then the next question, whether the appellants in the PFXplus
program have either reproduced the relevant program or made an adaptation of it, might be expected to be answered favourably to Data Access.
THE RESERVED WORDS IN RESPECT OF WHICH COPYRIGHT IS CLAIMED
There are 296 words used in the Dataflex language. Some, although not all, are referred to as "reserved words". A reserved word can only be used in connection with the program in accordance with the rules of the language of that program. In essence what this means is that the Dataflex program is written so that when one of these reserved words is used, an instruction is sent to the computer to perform a defined set of operations. The word can not be used in any way other than in accordance with that set of instructions. The so-called reserved words also include a number of words which are used as well in other application programs. For present purposes it is not suggested that there is any difference between commands which are and those which are not reserved words.
The Dataflex language, like the PFXplus language, uses commands such as "Save", "Display", and "Find" to perform functions which require the results to be saved to disk, displayed on the screen or located. It would, for example, be quite likely that most word processing or database programs would use each of those instructions to perform a function not substantially different from the function that the commands require in each of the two programs presently under consideration. It would, however, be highly unlikely that the set of instructions in source code, or for that matter in object code in another program, would bear any resemblance at all to the source code or object code used in the Dataflex program.
However, many of the words in the so-called Dataflex language are more specific to the Dataflex program. The evidence was that there were at least fifty five words used in the Dataflex language which were in fact unique to the Dataflex program. No doubt for ease of usage, the Dataflex word has been chosen to suggest the function which the command activates. Most, but not all, of the words are ordinary English words. Even where the command is not directly an English word, for example, "erasefile", "newpage", and "end$of$report", the function which is to be performed when the word is keyed in is suggested by the form which the command takes.
It goes without saying that, but for ease of usage, the precise words used in a particular computer language are irrelevant. A particular program could use the letters "XZB", or any other combination of letters or symbols, so that when the computer was confronted with those letters it would perform a particular set of instructions, for example, displaying a particular item in a particular database. The use of a string of letters forming an English word such as "display" will, however, more easily be recalled and reproduced by the user than will a meaningless combination to that user.
Some of the Dataflex commands are even more removed from English usage than the examples given above; examples include "entagin", "keyproc" and "moveint". However, the functions that each of these commands perform can be guessed from the English association.
There are 254 words of the Dataflex language listed in the Dataflex encyclopaedia (version 2.3b). Twenty-nine of those words which express commands for developing graphics are not used at all in the PFXplus language. Of the other 225 words, 192 of them are used in the PFXplus language and they are used in a way which instructs the computer ultimately to perform the same function as the words would perform in the Dataflex program.
An example discussed in the course of argument, although relating to a word not in dispute between the parties, may assist in understanding the issue which the Court is called upon to decide.
A fragment of the Dataflex program in intermediate code dealing with the command "show" is in the following form:
"#COMMAND SHOW #ULRG$
!A ¦ $142!1
#IF (!0>1)
SHOW !2 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#END COMMAND"
The runtime program contains the following fragment of relevant source code:
"enum Flex_Commands {
.....Lines removed.....
/*
* CONSOLE I/O GROUP (#5)
*/
CMDCONRLINE = 0X140,
CMDCONWLINE = 0X141,
CMDCONWSTR = 0X142,
CMDCONEOL = 0X143,
CMDCONCLS = 0X144,
case CMDCONWSTR:
getargc(&crntag1, ARGSTR);
writefix(valstr, vallen);
break;"
In the PFXplus program the expression "show" has the following syntax and semantics:
"put_proc ("SHOW", APROC,SHNUL, ESHOW,1,
0,GMAYBE\GLIST\GVALUE, TSPECIAL);
LIBENTRY void SHOW (type, value)
VTYP type;/*type of value: MINTYPE to MAXTYPE */
VDAT value; /*large enough for any argument */
{
char buf [MAXSTRING + 1];
if(type !=0) {
vencode (buf, MAXSTRING, type, value);
ScrAttrib (0);
ConPuts (buf);
}
.
}"
When either program is used and the computer is instructed to show a particular set of information (ie using the runtime program), each will show on the computer screen the particular data that has been requested. In other words, the "show" command will operate to display a particular data field.
Likewise, in generating a database program, that program may include a line where the word "show" is used in connection with a particular field, so that when the program is ultimately run with the runtime program and the instruction is given to show that particular field, it will appear on the screen. The requirement that the word "show" always appear together with the name of a field is the metaphorical "syntax" of the word.
THE ORIGIN OF AUSTRALIAN COPYRIGHT PROTECTION IN COMPUTER PROGRAMS
As is well known, the present provisions of the Act conferring copyright protection upon computer programs were prompted by the decision at first instance in Apple Computer Inc v Computer Edge Pty Ltd (1983) 50 ALR 581. In that case Beaumont J found that there was no breach of copyright because, in his Honour's view, copyright did not subsist in computer programs, such programs not being "literary works". His Honour remarked upon the fact that amendments to copyright law in the United States in 1976 and 1980 had dealt specifically with copyright protection for computer programs in that country and his Honour, in effect, challenged the legislature to legislate, should it desire to afford to computer programs copyright protection in Australia.
The present provisions of the Act came about as a result of amendments made in 1984. It is interesting to note that it was not until two years later that the High Court ultimately dealt with the Apple case in Computer Edge (supra), adopting a quite different approach from that originally taken by Beaumont J. The Court distinguished between a source program on the one hand and an object program on the other. The former was, the Court
held, entitled to copyright protection as an original literary work, notwithstanding that it was not expressed in ordinary language or intended to afford information, instruction or pleasure in the sense of literary enjoyment. The object program, however, was in a different position. Such program existed only in the form of a sequence of electrical impulses or possibly in the pattern of circuits that when activated generated those electrical impulses. The object program was not expressed in writing or print and the majority of the Court was of the view that for this reason the object program could not be described as a literary work. This part of the judgment is sufficiently expressed by the following passage from the judgment of Gibbs CJ (at 184):
"It seems to me a complete distortion of meaning to describe electrical impulses in a silicon chip, which cannot be perceived by the senses and are not intended to convey any message to a human being and which do not represent words, letters, figures or symbols, as a literary work; still less can a pattern of circuits be so described.
I therefore hold that the object programs were not themselves literary works."
Mason and Wilson JJ dissented from the conclusion that there was no copyright in the object program. Their Honours said (at 194):
"It is not correct to describe an object program as merely a sequence of electrical impulses within the computer. Electrical impulses there are, but those impulses serve to identify a set of instructions in machine readable language designed to guide the machine in its basic operations. They do not form part of the computer itself, notwithstanding that they may be embodied in a ROM or ROMs located permanently in silicon chips in a machine. They might equally well be contained in a magnetic disc or tape which can be inserted into or removed from the machine at will. The language may be recorded in visible form in binary or hexadecimal
notation. The same result as is achieved by the use of an object program could be achieved by the manual operation of a computer in accordance with instructions written out in ordinary English and contained in a manual. The only problem would be that such a process would be impossibly tedious and therefore wholly impracticable."
The present definition was the subject of consideration by the High Court in Autodesk Inc v Dyason (1992) 173 CLR 330. See also the discussion in the later episode of the same case: 176 CLR 300.
The issue in Autodesk was whether the respondent had infringed the appellant's copyright in a computer program known as "Widget C" which operated in conjunction with the AutoCAD lock, a relatively simple piece of hardware. The respondents had created their own form of lock which operated together with the Widget C program, reacting to the electronic "challenges" made by the Widget C program, in accordance with the same responses in binary form as were admitted by the AutoCAD lock.
Widget C was but one of a series of programs which together made up the appellant's AutoCAD program, a program designed to enable the user to produce designs. It was not in dispute that the Widget C program should itself be treated as a separate computer program. Widget C comprised some 20,000 to 30,000 bytes. That program included what the judgment refers to as a "look-up table". The response received from the AutoCAD lock, or for that matter the respondent's equivalent lock, was read through the Widget C program and compared with this table. Only if the two corresponded was the AutoCAD
program allowed to continue running. The response from the lock was a 127 bit sequence, that is to say, it comprised some sixteen bytes.
At first instance, Northrop J expressed the view that each of the locks of the appellant and respondent respectively was a "device having digital information processing capacities to perform a particular function" and that the digital information encoded in each of them constituted expressions in a language, code or notation in the form of electronic signals and that each amounted to a set of instructions. In other words, his Honour was of the view that each was a computer program.
In the High Court the principal judgment was delivered by Dawson J. His Honour disagreed with the analysis of Northrop J noting that the set of instructions which caused the AutoCAD lock to produce the particular digital information that it sent out by way of response to Widget C was different from the set of instructions which caused the AutoCAD lock to put out the same information. It was not correct to overcome that difficulty by finding the necessary similarity in the function which each of the locks performed, that is to say sending out appropriate responses to Widget C.
That part of his Honour's judgment is of some significance in the present appeal. What it makes clear is that one should not confuse the set of instructions on the one hand with the functions which those instructions ultimately serve on the other. Thus (at 344) his Honour said:
"But there is no need ... to suggest any particular test for determining what is a computer program within the meaning of the statutory definition, for, even assuming that each of the two locks contains a set of relevant instructions, the fact that they do produce the same output in response to a challenge - the fact that they both perform the same function - does not mean that there is any similarity between the two sets of instructions. The fact that each of the two devices has a set of instructions which causes it to perform a particular function which is the same does not mean that each set of instructions (being the instructions which cause the device to use its digital information processing capacities to perform that function) is the same."
Immediately following that discussion, his Honour emphasised the critical distinction existing in copyright law between the idea, which is not the subject of copyright on the one hand, and the expression of the idea which is, on the other. His Honour said (at 344-5):
"As Lindley L.J. said in Hollinrake v. Truswell [1894] 3 Ch. 420, at p.427: `Copyright ... does not extend to ideas, or schemes, or systems, or methods; it is confined to their expression; and if their expression is not copied the copyright is not infringed.' The distinction has been criticised and it is true that it is often difficult to separate an idea from its expression, but it is nevertheless fundamental that copyright protection is given only to the form in which ideas are expressed, not to the ideas themselves. The protection of ideas, at all events when the subject of manufacture, is the province of patent law. There is a particular difficulty in distinguishing an idea from its expression in the case of a utilitarian work, such as a computer program, which, in contrast to literary works of an artistic kind, is intended to be useful rather than to please. But it has been held that the idea of a utilitarian work is its purpose or function and that the method of arriving at that purpose or function is the expression of the idea: see Whelan Associates v. Jaslow Dental Laboratory (1986) 797F. 2d 1222, at p. 1236, citing Baker v. Selden (1880) 101 U.S. 99. Thus, 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: Lotus Development Corporation v. Paperback Software International (1990) 18 I.P.R. 1 at p.25. Whelan Associates v. Jaslow Dental Laboratory was a case which was concerned with a computer program, the purpose or function of which was to assist in keeping records of the business operations of a dental laboratory. It was
held that the computer program was the subject of copyright because it was only one of a number of programs of different structure and organization which might be used to achieve the same end."
Ultimately, Dawson J decided the case by reference to the fact that the Auto Key lock reproduced the look-up table embedded in the Widget C program. The ratio of the case is to be found in the following passage (at 346-7):
"The set of instructions for Widget C in source code (C language) was in evidence. These instructions contain in decimal form precisely the same sequence produced in binary form by the look-up table in the EPROM of the Auto Key lock. 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 autokey lock is a reproduction of a substantial part of that program. It is a reproduction of a substantial part of that program in a material form for, by definition, `material form' in relation to a work includes any form (whether visible or not) of storage from which a substantial part of the work can be reproduced. The EPROM contained in the Auto Key lock is clearly a form of storage from which the sequence of numbers in the look-up table in Widget C can be reproduced."
Mason CJ, Brennan and Deane JJ, in a joint judgment, while agreeing with Dawson J, added certain supplementary comments. Their Honours said (at 335):
"When the definition of `computer program' is read in its context in the Act, however, it appears to us to be clear that the reference to `an expression, in any language, code or notation' should not be understood as referring only to an actual written expression or representation of a set of instructions with the result that copyright does not exist at the time of an alleged infringement unless such a written expression actually exists or has existed at that time. The definition should be understood as conferring protection upon the set of instructions itself but as doing so in a way which is adapted to the nature of copyright. That is to say, the stored set of instructions in a non-sensate form such as electrical impulses is itself protected on the basis
that copyright actually subsists in any expression or description of it which can theoretically be made in language, code or notation."
Their Honours expressed the view that copyright existed in any expression of Widget C in language, code or notation. As the look-up table in Widget C constituted "a substantial part" of Widget C, there had been an infringement.
Subsequently, an application was made to vacate the judgment in Autodesk on the basis that there had been no opportunity given to the respondents to be heard on the matter of infringement. Some comments made in the course of the second decision are of assistance in the present appeal. Mason CJ, who would have set aside the judgment, said (at 303-4):
"The decision in Autodesk confirmed two fundamental principles. First, 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 as doing so in a way which is adapted to the nature of copyright. Thus the protection of computer programs is to conform to the dominant principle of copyright law that protection is given not for ideas, but only for the form of expression. However, as the judgment of Mason CJ., Brennan and Deane JJ makes clear, this distinction must not be applied too strictly. A distinction needs to be drawn between the relevant set of instructions and the form of storage or representation of the instructions, so that the person who reproduces a set of instructions in a different form - such as by turning source code into object code - does not escape infringement. The object of protection is the computer program, not just the particular form of storage or representation chosen by the author.
The second fundamental proposition confirmed in Autodesk derives from the first. Functionality is not the proper object of copyright protection. As Dawson J stated in Autodesk, the purpose or function of a utilitarian work is its idea, while the method of arriving at that purpose or function is the expression of the idea." (Footnotes omitted)
Brennan J, who was a member of the majority of the Court which was not prepared to reopen the original judgment, noted an argument had been made that the look-up table was but a minute fraction of the bytes in the whole of the Widget C program. The argument was in aid of a submission that there was thus no reproduction of a substantial part of the program. To this his Honour said (at 312):
"Nevertheless, the series of digits in the look-up 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 the program, it would be difficult, if not impossible, to contend that the look-up table is not a substantial part of the program. Even if the jurisdiction to reopen were wider than I hold it to be, I would dismiss the application."
Gaudron J was likewise of the view that judgment should not be set aside. Of the definition of computer program in s 10, her Honour said that it was not a technical term or term of art. Rather, her Honour said (at 329-330):
"... 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. So much is confirmed by the language used in the definition and by its context. The words `set of instructions' necessarily direct attention to instructions in their entirety. And that direction is in no way cut down, but rather, is reinforced by the parenthetical description of the instructions involved as instructions, `whether with or without related information'. Moreover, the definition is concerned with instructions which `cause a device having digital information processing capabilities to perform a particular function' and in many cases it would be necessary for instructions to be accompanied by related information if those devices are to perform quite ordinary computer functions.
Ordinary usage and the language and context of the definition of `computer program' in s10 of the Act compel the conclusion that the words `set of
instructions (whether with or without related information)' extend to comprehend information as well as commands. There is thus no basis for an argument that the Act does not extend copyright protection to information forming part of a set of instructions of the kind falling within the definition of `computer program', at least if that information is a substantial part of the relevant set of instructions."
Dealing with the question of whether there had been infringement of a substantial part of the Widget C program, her Honour further said (at 330):
"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 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."
THE DECISION APPEALED FROM
On the fundamental question whether the various words forming part of the Dataflex language were literary works by virtue of being computer programs, either alone or in combination, the primary judge found in favour of Data Access. In his Honour's view each of the words was an expression of a set of instructions falling within the definition of "computer program" in s 10 of the Act, notwithstanding that the expression of the instructions in source code was different. In so holding his Honour rejected the approach that had been taken in cases in the United States, largely on the basis that that approach depended upon the language of s 102(b) of the United States Code relating to copyright.
His Honour's conclusions on the remaining matters in dispute may be shortly stated. The use of three particular commands for the performance of complex functions (macros) (again common to both programs) was held by his Honour to be an adaptation of the expressions in intermediate code (I-code) of each of the three sets of instructions invoked by the commands.
His Honour, however, found for Powerflex in respect of the error table used by it, holding that the PFXplus error table was not a reproduction of a substantial part of the Dataflex program and further that the words used in the table were, in any event, merely an expression of an idea and not capable of being protected by copyright.
The reproduction of the Dataflex Huffman compression table by Powerflex, his Honour found to be an infringement as being a reproduction intentionally made of a compilation expressed in figures, albeit ordinarily not in a visible form, and therefore a literary work. So, too, the allocation of certain keyboard functions reproduced in the PFXplus language, in a like way to the allocation of functions in the Dataflex language, was held to be an infringement because each of the "mnemonic labels" used on the keys was itself a computer program. Likewise the identicality of file structure in the two systems was held to be an infringement, not because it was a reproduction of a set of instructions but because there was an adaptation of the set of instructions which determined file structure.
His Honour rejected a submission on behalf of Powerflex that the development of the PFXplus program had the licence of Dataflex. Likewise, defences based on laches and
estoppel were rejected. Specifically his Honour reached the conclusion, on the evidence before him, that Dr D Bennett had never formed a belief that Dataflex would not enforce its rights in relation to copyright. Further, his Honour said that he was not persuaded, in any event, that any belief induced in Dr D Bennett that Dataflex would not enforce its rights made any substantial contribution to his perseverance in developing and marketing the Powerflex program. In these circumstances, a defence of estoppel could not be made out, nor was there any inordinate or inexcusable delay in bringing the proceedings in all the circumstances.
Finally, after his Honour had adjourned the proceedings so that further submissions could be made as to the liability of, inter alia, Dr M Bennett, his Honour granted an injunction against her and gave directions for a hearing with respect to damages. His Honour appears to have concluded that Dr M Bennett would be liable for such damages as Data Access could prove. No separate reasons were delivered in relation to the orders made against Dr M Bennett.
COPYRIGHT IN THE DATAFLEX LANGUAGE
The definition of "computer program" in the Act focuses upon the need for there to be an expression of a set of instructions. That set of instructions must cause the computer to perform a particular function. Consistent with copyright law, the emphasis is not upon the idea which underlines the set of instructions, but upon the expression of that idea in whatever form it may take.
It may be acknowledged, as the joint judgment of Mason CJ, Brennan and Deane JJ in Autodesk notes, that the word "expression" in the definition must not be given too great an emphasis or the 1984 amendments may not be fully effective to protect copyright in an object code which is not visible. So, the definition enables protection to be given to a stored set of instructions, even if that set of instructions is in the form of electrical impulses rather than in some form of visible notation.
Each of the words in the so-called Dataflex language is but a cipher. The underlying program is the set of instructions which directs the computer what to do when that cipher is in fact used, for example by being typed on to the screen. It is not to the point that the cipher bears some resemblance to an ordinary English word. The cipher or command is not an expression of the set of instructions, although it appears in that set of instructions. It is the trigger for the set of instructions to be given effect to by the computer.
It may not be inaccurate to describe each of the commands as itself an instruction. It is likewise not necessarily inaccurate to talk of each of those words as representing the set of instructions in the sense that the use of one of them triggers the instructions contained in the computer program to be acted upon. But it is in our view not accurate to refer to each of the words as being an expression of the set of instructions. The set of instructions is expressed in the source code which is the computer program and, at least at a higher level, includes the particular word which is a command. The computer program will also in other forms exist in lower level language, ultimately through to an object code in non-visible form. Each of these representations will fall within the definition of "computer
program". In each of them, in some language, code or notation, the word said to be part of the computer language will be able to be found.
The passage earlier quoted from the judgment of Gaudron J in Autodesk, placing as it does emphasis upon the requirement that it is the set of instructions in their entirety which is the computer program, also points to the conclusion that the individual words of command are not, themselves, computer programs within the definition.
So to interpret the definition brings the Australian law into symmetry with that in the United States. In the 1976 Copyright Act the expression "literary works" is defined as "works ... expressed in words, numbers or other verbal or numerical symbols or indicia, regardless of the nature of the material objects ... in which they are embodied". Although the definition does not mention computer databases or programs, Congress was of the view that to the extent that they incorporate authorship in the programmer' expression of original ideas, as distinguished from the ideas themselves, databases and programs were covered by the definition of "literary works". See HR Rep No 1476, 94th Cong 2d Sess 54 (1976). Section 102(b) of the 1976 Act provides:
"In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work."
In 1980 a definition of "computer program" was inserted:
"A set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result."
In Lotus Development Corporation v Borland International Inc (1995) 33 IPR 233, the United States Court of Appeals for the First Circuit was called upon to determine whether a computer program of Borland International Inc which used virtually identical commands and hierarchy of commands (including macros) as the computer program of Lotus Development Corporation infringed the copyright of Lotus. The Court of Appeals held that copyright did not exist in the United States in the set of commands used in a program, having regard to the terms of s 102(b). To the extent that s 102(b) provides the ratio for the decision, the case is of little assistance in this country which has no comparable provision. However, the Court in its judgment appears to have taken the view that s 102(b) added little, if anything, to the general law. Indeed it has been said that the provision was not intended either to enlarge or contract the scope of copyright protection, and that the basic dichotomy between the idea and its expression remains unchanged: American Jurisprudence 2d vol 18 par 22. The Court noted that 100 years earlier the United States Supreme Court had decided in Baker v Selden (1880) 101 US 99, that copyright could not exist in ideas, specifically a new method of accounting. While the Court recognised that the issue before it was different from that in Baker v Selden, the Court said (at 244):
"Our holding that `methods of operation' are not limited to mere abstractions is bolstered by Baker v Selden. In Baker, the Supreme Court explained (at 104-5) that: `the teachings of science and the rules and methods of useful art have their final end in application and use; and this
application and use are what the public derive from the publication of a book which teaches them ... The description of the art in a book, though entitled to the benefit of copyright, lays no foundation for an exclusive claim to the art itself. The object of the one is explanation; the object of the other is use. The former may be secured by copyright. The latter can only be secured, if it can be secured at all, by letters patent.'
Lotus wrote its menu command hierarchy so that people could learn it and use it. Accordingly, it falls squarely within the prohibition on copyright protection established in Baker v Selden and codified by Congress in s 102(b)."
Baker v Selden, it will be recalled, is one of the cases referred to by Dawson J in his Honour's discussion of the fundamental principle that copyright protection extends only to the form in which ideas are expressed rather than the ideas themselves. It may be doubted whether the actual result in Baker v Selden would be the same today in Australia, in so far as copyright would exist in the forms used in the method of accounting, although not in the accounting theory itself. That does not diminish the significance of the distinction between ideas and their expression. It is a distinction, however, which is not without difficulty. See, for example the detailed discussion in Lotus Development Corporation v Paperback Software International (1990) 18 IPR 1 at 19 ff. The most pessimistic view of the distinction is that taken by Judge Learned Hand in Nichols v Universal Pictures Corp 45 F 2d 119 at 121 where his Honour said, "Nobody has ever been able to fix that boundary, and nobody ever can." Despite these difficulties, it is clear enough that the distinction is as much inherent in the law of Australia as it is in the law of the United States: cf Zeccola v Universal City Studios Inc (1983) 67 FLR 225.
In the decision appealed against reference is made to a passage in the decision in Lotus Development Corporation v Paperback Software International (supra at 25), which includes the passage cited by Dawson J in Autodesk. We do not take his Honour, the primary judge, to rely upon the Lotus v Paperback Software case itself as being of assistance in determining the present case, or as being of any assistance at all, other than for the discussion of the so-called dichotomy between ideas and expression. Dawson J cited the case for the proposition, which is not subject to any real controversy, namely 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." Of course to the extent to which the Lotus v Paperback Software case is inconsistent with Lotus Development Corporation v Borland International Inc (supra), the former would no longer represent the law in America. However, it seems to us that the Lotus v Paperback Software case is concerned with a quite different issue. As explained in the latter case, the former held that the Lotus 123 menu structure, taken as a whole, including command terms, the structure and order of those terms, their presentation on the screen and the long prompts, was capable of copyright. The case tells nothing of the question whether the individual words of command are themselves to be seen as a software program, having regard to the Australian legislative context. If anything, the case tends against such a proposition.
Senior counsel for Data Access sought to argue in the alternative that if the individual words were not the subject of copyright, then the group of words together was. However, it is just as impossible to say of the entire set of commands that it is itself an expression of a set of instructions, as it is to say that in respect of any individual word. It is true that
each of the words appears, as we have already indicated, in one form or another, in the source code of the Dataflex program. But it is not true to say that the words collectively are a computer program. They are merely the totality of commands available for use in the particular program.
The argument was put that the words could be seen in their collective form to be a literary work in the ordinary sense and thus the subject of copyright. If reproduced, it was submitted, their use would give rise to an infringement.
There are a number of difficulties with this submission. First, some of the words are ordinary English words. This is not a case where disconnected words are used in a particular order so that the order becomes the linchpin for copyright. Copyright is being sought in the words themselves. Secondly, Data Access does not claim copyright in all of the words, conceding in any event that some of them are common to all software languages and in each language perform the same functions. So the claim is only for protection of some of the words in the Dataflex language. Finally, there is raised the question whether some number of words, in all approximately 260 out of an extensive program, would give rise to a substantial reproduction of the whole Dataflex program. This is not a question which appears to have been raised at first instance and there is force in the argument that Dataflex should not now be allowed to raise the point on appeal. Nevertheless, we think the point of the argument is misconceived and that reproduction of the individual words in the Powerflex program should not be seen to be a reproduction to
a substantial extent of the literary or artistic work which constitutes the Dataflex program, irrespective of the significance these words have in the Dataflex language.
We turn now to consider the remaining issues.
THE MACROS
In the judgment appealed against, the learned primary judge considered separately the copyright position of three particular commands in the Dataflex language being "report", "entergroup" and "enter". The corresponding words in the PFXplus language are "Report.pfa", "Entgroup.pfa" and "Enter.pfa". The only substantial difference between the position of these three words on the one hand and other words in the Dataflex language on the other, is that the use of each of these three words causes performance of a more complex function. It is the fact that the commands perform more than one function that qualifies them to be called "macros".
The fact that the underlying computer program is written so as to ensure that a series of functions is performed when the computer recognises the command, rather than a single function, makes no difference in principle. In our view, a command which triggers the underlying computer program to perform more than one function is no more a computer program than is a command which triggers the program to perform only one function.
The learned primary judge found that the objective similarity of the two versions of source code, that is to say that used in the Dataflex program and that used in the PFXplus
program, was "strong". This caused his Honour to conclude that Dr D Bennett had made an adaptation of each of the set of instructions invoked by the commands.
Counsel for Powerflex accepted the strong objective similarity of the two versions of source code, but submitted that his Honour had not found that Dr D Bennett had copied the underlying source code. Dr D Bennett gave evidence as to the process adopted by him in writing the programs dealing with these particular commands. It is clear that he set out to produce the same results because this was essential to his desire for compatibility. It is also clear, and implicit in his Honour's judgment, that the expressions he used in writing the software were his own. For example, in respect of the "report" command, Dr D Bennett said:
"I did not at any point copy or adapt FMAC. The REPORT command in PFXplus is an original expression of a set of concepts derived by analysis of the Dataflex system. The entire contents of REPORT.PFA are original source code written by me as an expression of concepts derived by analysis of the Dataflex system. There is little or no similarity between the literal elements (the lines of source code) of the REPORT command in PFXplus and the literal elements in the report command in FMAC."
This evidence must, of course, be read against the factual finding of objective similarity to which reference has already been made.
His Honour did not find that Dr D Bennett had reproduced the source code. Rather, he found that Dr D Bennett had "made an adaptation of the expression in I-code of each of
the three sets of instructions". This leads to a consideration of the meaning of the expression "adaptation" as defined in s 10 of the Act in the context in which it appears.
The definition of "adaptation" is an exclusive definition. Hence it is necessary to determine, where the literary work is itself a computer program, whether there had been "a version of the work that is not a reproduction". There was no suggestion in the evidence that the word "version" had some special meaning in the computer industry. It is an ordinary English word and relevant meanings in the Macquarie Dictionary include "2. a translation 3. a particular form or variant of anything". Reference to the Explanatory Memorandum for the Bill which was enacted as the Copyright Amendment Act 1984, makes it clear that what was contemplated by the word "version" is meaning 2., "a translation". The Explanatory Memorandum reads relevantly as follows:
"11. Copyright industry works includes exclusive rights to reproduce or adapt such works and computer programs will be treated as literary works. However, the present definition of adaptation in relation to literary works only includes translation, conversion between dramatic and non-dramatic forms, and conversion to a pictorial form.
12. Of these, only translation is likely to be relevant to adaptation of programs and there are legal doubts as to whether this refers only to translations between human languages.
13. A new definition is intended to cover translation either way between the various so-called `high level programming languages' in which the programs may be written by humans (often called `source code') and languages, codes or notations which actually control computer operations (often called `machine code' or `object code'). Thus `adaptation' is intended for example to cover the compilation of FORTRAN program to produce machine code which will directly control the operation of a computer. Languages, etc. of intermediate level would also be covered.
14. It is also possible for a program to be converted from object code into source code or between different languages of similar levels. In some circumstances this process will result largely in a substantial reproduction of the original program. In other cases, however, such as compilation followed by decompilation, the differences may be so substantial that one cannot speak of a reproduction although the final product is clearly derived from the original. The new definition of adaptation is intended to cover such situations."
The judgment appealed against does not explain the basis upon which his Honour found that what Dr D Bennett had done involved the production of a version of the Dataflex program. The evidence is clear that while Dr D Bennett carefully studied the Dataflex program so as to ensure that the PFXplus commands in question performed the same functions as the Dataflex commands, the expression of the source program as written by him was an original expression, albeit having much which was objectively similar to the expression of the source code in the Dataflex program. But it is clear that the process involved no translation from one form or language to another, nor did it involve the kind of process referred to in para 14 of the Explanatory Memorandum involving compilation followed by decompilation, or vice versa. In our view, a process of devising a source code to perform the same function as is performed in some other source code expressed in original language does not involve creating a version of the original source code. It is an original work, albeit that the function to be performed is the same. It is the concentration upon the performance of function rather than the expression of the set of instructions which is the fallacy in the submissions of Data Access. That this is so can be seen from the following passage from the respondents' written submissions, where the reference to "form" is a reference to the higher level code, the I-code form and the compiled code:
"In each form, the same set of instructions exists but the expression of that set of instructions differs."
In our view, the macros of Powerflex do not constitute an infringement of the software programs underlying the macros of Dataflex.
Having reached this conclusion it is unnecessary to determine whether the underlying set of instructions to each macro command should be looked at as a separate software program because it performs the particular functions which it is designed to perform, or whether it should be seen merely as a part of the entire Dataflex compilation program.
However, it seems to us that in the context of copyright law where protection is given for a "work", one should look at the work as a substantial whole rather than at a particular part of a work as involving a separate work. A poem may consist of a series of stanzas, but copyright exists in the entire poem not separately in each stanza. The question, however, will clearly be one of fact.
If a particular set of instructions is functionally separate from the entirety of the program, then it seems to us there is no difficulty in treating that set of instructions as being a literary work separate from the balance of the program. An illustration is the Widget C program in the Autodesk case, where Widget C was a functionally separate part of the entire program in the sense that the balance of the program could function separately from the lock program. If that is the case, then the relevant program to be considered here would not be that small fragment of program which causes the macro command to
perform its function (some 229 lines), but the Dataflex compiler program itself. On this basis it is doubtful that the macros themselves could be seen as a substantial part of the whole or, to adopt the language of Gaudron J in Autodesk, that they would be described as the "linchpin" of the program.
THE HUFFMAN COMPRESSION TABLE
Included within the Dataflex runtime program and the corresponding runtime program of PFXplus is a Huffman compression table. Huffman compression is a method, named after the person who invented it, of storing data in a smaller amount of space than would otherwise be possible by encoding characters in variable length bit strings. Normally each of the possible 256 characters is encoded in exactly 8 bits, but in Huffman encoding, common characters are encoded using short strings (less than 8 bits), and uncommon characters are encoded using longer strings (more than 8 bits). The net effect is, according to Dr D Bennett, a saving of up to fifty percent of the storage space. The actual saving depends upon the relative frequency of occurrence of each of the characters in the data actually stored. The following example contained in Dr D Bennett's evidence explains the method adequately.
"For example, the letter `e' is normally encoded as the bit string `01100101', but as a common character it might be encoded instead as the bit string `101', a saving of 62.5%. The character `@', normally encoded as the bit string `01000000', occurs infrequently and might be encoded instead as the bit string `00100100101110'."
The principle underlying the Huffman compression table is in the common domain. Dr D Bennett read about it in an article and obtained some "freely distributable source code". A person wishing to compress data using the Huffman principle, in essence, surveys a large quantity of data to find the relevant frequency of occurrence of each character and having done that applies the code in the way suggested above. To read Huffman encoded data, it is absolutely essential to have exactly the same string of coding as that with which the data was originally compressed. Data Access' Huffman compression table was produced by Mr Cory Casanave who wrote a program which would perform the necessary mathematical and statistical analysis to analyse a data file and output C source code to be included back into Dataflex. An advantage to the Dataflex program of the compilation of such a Huffman compression table file is that users of the Dataflex program are then able to create their own custom compression table and thus compress their own data so that less space will be taken up and, in the result, the data files of users will be smaller.
It is a consequence of the Huffman compression table that different data would require a different table. Where the differences in data are small the differences between tables will likewise be small and the same table could, in practice, suffice. The more different the data, the less will the same table serve for that data.
Dr D Bennett in his evidence said that he spent some time thinking about how to create a dictionary which could be used to read or write Dataflex standard Huffman files "by a process of observing the behaviour of the Dataflex system and not by decompiling or looking inside the Dataflex runtime". However, the process he adopted, so far as we are
able to understand it, involved the preparation and use of a dump program in Dataflex language to create an empty database file using standard compression and then adding 256 records to the file. In this way he was able to work out the 256 bit strings, noting that "00,10,20(space)" and "4e (N)" were the shortest bit strings and thus the commonest characters followed by numeric digits and upper case letters. He then had one of his programmers write C source code to express these bit strings in a three block format which he had devised and placed this table in a Powerflex file. The table he produced was indistinguishable from that used by Dataflex. If it were otherwise, the PFXplus program could not read or write compatible files subject to compression. The standard Huffman compression table comprises some 256 lines of source code or approximately 0.25% of the total of PFXplus.
The primary judge found the table to be a "compilation" and for that reason a literary work. Data Access submits that Powerflex has reproduced the latter and by doing so has infringed its copyright, either in the table or, if the table is to be seen as a program, in the underlying computer program.
The submission that there is insufficient skill, judgment and labour involved in the creation of the Huffman table to attract copyright protection because the table is capable of being created by a computer, is in our view misconceived. His Honour found, and we agree, that the process of constructing the table is one of some difficulty and complexity. The fact that a computer is used in achieving the result can hardly require the conclusion
that there is not originality or skill. After all, a computer may be used as a means of assisting design, but the underlying design may still be the subject of copyright.
In our view, the Huffman table or dictionary is capable of being the subject of copyright, not as a computer program itself but as a table or compilation. It is conceded by Powerflex that the table used in the PFXplus program is identical to the table used in the Dataflex program. It is obvious from Dr D Bennett's own evidence that he compiled the table from the Dataflex program, although not as a result of direct copying. However, the process described by him, in our opinion, involves a reproduction of the Huffman table in the Dataflex program and thus constitutes an infringement.
In our view, seen as a table, the fact that the table is a small part of the underlying program does not affect the question of infringement. It is the whole table that has been reproduced.
THE FILE STRUCTURE
As the learned primary judge indicates, it is common ground that the file structures in the two systems are identical, and indeed this has to be so if files compiled under the one system are to be run under the other. The instructions governing the file structure are contained in the runtime version of the program. As his Honour notes, the source code version of the instructions, like the source code version of all the other instructions in PFXplus in question in the proceedings, is not objectively similar to the source code
version of the instructions in Dataflex. Likewise, there was no evidence of any objective similarity, even at the level of machine code. All there was, was an identity of function.
His Honour's conclusion is expressed in the following passage:
"The evidence does not enable me to find that in copying the file structure of DataFlex files Dr. Bennett expressed his set of instructions in a word of the Data Flex language and accordingly I am unable to find a reproduction of a computer program in that copying of function. But I accept Mr. Burnside's submission that there was an adaptation of the set of instructions which determine file structure."
For reasons we have already given, the word "adaptation", as used in s 10, means "translation". In our view, the fact that one set of instructions brings about the same result as another set of instructions requires neither the conclusion that the one set is necessarily a reproduction of the other, nor that the one is an adaptation or translation of the other. We say `necessarily', because a case could arise where changes have been made to an original set of instructions so as to disguise the copying: cf Scott v Stanford (1867) LR 3 Eq 718 at 724. Neither the fact that a set of instructions performs the same function as another, nor the fact that those instructions are brought into play by the same word as are the other set of instructions, could bring about the result that one set of instructions is an adaptation of the other, and this is so even if the subsequent set of instructions was written after long study of the first set of instructions.
FLEX KEYS
The keyboard to a computer has, in addition to the ordinary keys found on a typewriter, a number of keys called "function keys", generally positioned at the top of the keyboard and labelled `F1', `F2', `F3' and so on. A computer program can be so written as to assign various "meanings" or "functions" to these keys so that when, for example, the key F1 is depressed that initiates a function such as "Help", i.e. the provision of assistance.
When the Dataflex program is used to run a database, the function keys will perform certain functions. For example, the F3 key operates to exit the program.
It is the submission of Data Access that the set of instructions brought into play when a function key is depressed is a computer program in its own right and the subject of copyright. Then it is said that by ensuring that the keys perform the same functions (albeit that the source code of the set of instructions may be different), there has been an infringement by reproduction or adaptation. But once it is conceded that the set of instructions is objectively quite different and not in fact a reproduction, the mere fact that the function proposed is the same does not result in infringement. Again it is unnecessary, therefore, to determine whether the set of instructions representing each key function can on its own constitute a computer program. As presently advised, we are of the view that it can not, but rather is merely part of the original work which, in the present case, will be either the runtime program or the compilation program as the case may be.
THE ERROR TEXT TABLE
The cross-appeal challenges the learned judge's findings and conclusions concerning the "error text table" which is incorporated in each of the Dataflex and PFXplus programs. When the program is operated and there is an error in function or an error by the operator of the computer, the program is so written that there will be displayed on the screen a short phrase or sentence describing the error. In the manual for each program each error is allocated a number from 1 to 100. As his Honour found, for many of the numbers the corresponding screen text will be identical in the two tables, and for some of the numbers the text will be very similar and descriptive of the same error. Not all of the errors on the Dataflex table have a corresponding error on the PFXplus table, and some of the PFXplus table numbers have the text "unknown error". It was submitted on behalf of Dataflex, both before his Honour and before us, that the error table was part of the Dataflex computer program, in that a program being a set of instructions may also include data (see Autodesk v Dyason No 2). His Honour found, however, that reproduction of that small part of the Dataflex program was not reproduction in relation to a substantial part of it. In other words, that the error table was not the linchpin of the program, since the program could function with or without the error table. We agree with his Honour's conclusion.
In the alternative, it was submitted that the error text table was itself a work, namely a table or compilation, expressed in figures and words which had been reproduced. His Honour found against the submission for two reasons. First, in his Honour's view, the words of the table were merely limited ways of expressing a particular idea, and as the
expression and idea were inseparable from function were not capable of being the subject of copyright.
A comparison of the error text of each program discloses that the similarity is not so great as to constitute an infringement. The similarity is really in number and idea, rather than expression. For example, error 2 of the Dataflex program is "disk directory full". Error 2 of the PFXplus program is "printer busy or disk full". The idea in each case is the same, but the expression of it differs. Error 3 of the Dataflex program is "cannot close current extent (O-S error)". Error 3 of the PFXplus program is "interrupted by operator".
While it is true that some of the text is the same, such as for example error 2 which in each file reads "disk full", on balance, and the matter is one of impression, we are of the view that the PFXplus program does not infringe any copyright which may subsist in the Dataflex error text. Accordingly, the cross-appeal should be dismissed.
DEFENCES TO INFRINGEMENT
It was submitted on behalf of the appellants that should an infringement be found, the circumstances were such that the actions of Data Access constituted either an authorisation or licence on the one hand, or involved laches or constituted an estoppel on the other, so that the appellants were entitled to a "defence" to an action brought against them for infringement.
The factual background is set out in the judgment of the learned primary judge. There is little, if any, dispute as to the primary facts.
The starting point is that in the middle of 1989, before Powerflex as it was then called was published for the first time, Dr D Bennett sought and obtained legal advice as to whether the Powerflex program would infringe the Dataflex copyright. Although Dr D Bennett said that that advice was "entirely favourable", his Honour found, and the finding was necessarily dependent upon his Honour's view of Dr D Bennett in the witness box, that Dr D Bennett did not regard the legal advice he obtained as entirely favourable, having regard to his own understanding of the processes which underlay his development of the system. Rather, he recognised that there could be no confidence in an opinion on the question.
Thereafter, in 1989, Mr Cory Casanave of Data Access obtained a copy of the first published version of Powerflex and examined it. In August 1992 Data Access sought advice from its own attorneys concerning infringement.
From approximately June 1989, meetings took place from time to time, but irregularly, between Dr D Bennett and representatives of Data Access. Among these meetings was a function attended by a Mr Chip Casanave and Dr D Bennett in October 1991 at which, in accordance with Dr D Bennett's evidence, Dr D Bennett sought to ascertain the attitude of Data Access to the Dataflex compatible PFXplus program. At that meeting there was no
discussion of any possibility of litigation and according to Dr D Bennett, Mr Casanave gave him no reason to believe that any action for breach of copyright would be taken.
A subsequent meeting occurred in September 1992 which was cordial and again nothing was said to suggest copyright litigation. There was correspondence in early 1993 in which Mr Casanave sought to explore the possibility of cooperation between the two groups. However, that advance ultimately proved to be fruitless, although there was an exchange of communications on the subject.
It was not until November 1993 that the present proceedings were commenced.
His Honour held, and the finding of fact is one which is in our view clearly correct, that nothing Mr Casanove did or said could be taken as constituting a licence or authority on the part of Data Access. At the most the evidence indicates that Data Access remained silent until ultimately proceedings were commenced. That silence was no doubt explicable, having regard to the difficulty of concluding whether what was done by Powerflex constituted a breach of the copyright of Dataflex. Whatever may be necessary to constitute an authorisation or licence, mere silence will not suffice: Australasian Performing Right Association Limited v Jain (1990) 18 IPR 663.
Likewise, the circumstances relied upon by the appellants as constituting estoppel do not support such a defence. The elements of estoppel in this case are not present.
No doubt in certain circumstances silence may constitute a sufficient representation as to amount to an estoppel, for example in circumstances where it would be reasonable to expect something other than silence if a certain state of affairs exists. But the findings of fact made by his Honour, dependent as they were upon the view his Honour took of Dr D Bennett in the witness box, make it impossible for an estoppel to be found in the present case. His Honour held that Dr D Bennett never formed the view that Data Access would not enforce its rights in relation to copyright. His Honour also found on the evidence before him, that if there had been any belief in Dr D Bennett induced by the conduct of Data Access or its agent, that Data Access would not enforce its rights, such a belief made no substantial contribution to Dr D Bennett persevering in the development and marketing of the PFXplus program. On this basis there could be no relevant estoppel. His Honour's finding that any delay was reasonable having regard to the circumstances, a finding with which we would agree having regard to the difficulty of the issue, suffices to answer any suggestion of delay.
THE LIABILITY OF DR M BENNETT
The judgment appealed against concludes with the comment that his Honour was not prepared to make a determination of the liability of Dr M Bennett without hearing further submissions. His Honour accordingly adjourned further consideration of the proceedings to a date to be fixed.
At a later date, it appears, submissions were made by the parties as to the potential liability of Dr M Bennett. Ultimately the orders made by his Honour on 27 May 1996
were consistent with a finding by his Honour that Dr M Bennett was personally liable for infringement, either by virtue of having directly reproduced the infringing work or by virtue of her being a director of Demileigh Pty Ltd.
The difficulty with dealing with the issue is that his Honour made no findings in respect of Dr M Bennett. We are not able to say whether his Honour found that there was a direct infringement or an indirect infringement, and in either case what it was that constituted the infringement.
It is indeed not totally clear whether his Honour intended to deal with this issue at all in the orders, although the orders as taken out do operate to restrain Dr M Bennett, as well as the other respondents to the original application, from reproducing the program.
As we have found that Powerflex infringed the copyright of Data Access in the Huffman table but not otherwise, it will be necessary to determine as a matter of fact whether Dr M Bennett has, in the circumstances, any personal liability. This is clearly not a matter which his Honour would have considered, and in the event that the parties are unable to agree as to this matter, it will be necessary for it to be remitted to a judge of the Court for determination by way of rehearing.
We would set aside the orders made by the learned primary judge and would order that each of the appellants, other than Dr M Bennett, be restrained from reproducing in a material form or making an adaptation of the Dataflex Huffman compression table or a
substantial part of the said table, in either of the computer programs known as Powerflex or PFXplus or an adaptation of the said programs. We would also restrain the appellants, other than Dr M Bennett, from authorising in Australia and without the licence of Data Access any person to do any act, the doing of which by Powerflex would constitute a contravention of the above order. Otherwise we would remit the matter to a judge of the Court for further directions and hearing, both in respect of damages and in respect of the liability, if any, of Dr M Bennett.
We are further of the view that the parties should file with the Court within seven days of these reasons being given short written submissions as to the appropriate order for costs.
I certify that this and the
preceding forty-seven (47) pages
are a true copy of the Reasons
for Judgment herein of their Honours
Black CJ, Hill & Sundberg JJ.
Associate:
Date: 4 June 1997
Counsel and Solicitors R C Macaw QC and
for Appellants and Dr J F Bleechmore instructed by
Cross-Respondents: Trumble Szanto Braham
Counsel and Solicitors J W K Burnside QC and
for Respondent and S L Le Grand instructed by
Cross-Appellant: Stephens Solicitors
Dates of Hearing: 30 September, 1-3 October 1996
Date Judgment Delivered: 4 June 1997
3
0
0