Ni-Tech Pty Ltd v Parker, Bruce Peter
[1998] FCA 484
•27 APRIL 1998
IN THE FEDERAL COURT OF AUSTRALIA
NEW SOUTH WALES DISTRICT REGISTRY
NG1132 of 1997
BETWEEN:
NI-TECH PTY LIMITED ACN 064 013
ApplicantAND:
BRUCE PETER PARKER
First RespondentMFX SOFTWARE PTY LIMITED
ACN 080 175 926
Second RespondentMFX DISTRIBUTION PTY LIMITED
ACN 080 173 539
Third RespondentMFX RESEARCH PTY LIMITED ACN 080 162 849
Fourth Respondent
JUDGE:
EMMETT J
DATE:
27 APRIL 1998
PLACE:
SYDNEY
REASONS FOR JUDGMENT
HIS HONOUR: The applicant, Ni-Tech Pty Limited (“Ni-Tech”) conducts business as a software development company and has done so since March 1994. The first respondent, Bruce Peter Parker (“Mr Parker”), was a co-founder of Ni-Tech with Mr Peter Roy Havas (“Mr Havas”). They were both previously employed by Freehill Hollingdale and Page. From 1994 until 27 February 1997, Mr Parker was employed full-time by Ni-Tech as its chief programmer and technologist. Following cessation of his employment by Ni-Tech, Mr Parker was, with effect from 3 March 1997, appointed National MIS Manager for an organisation referred to as "Intercept".
In November 1997 it was announced on behalf of the second, third and fourth respondents (“the MFX Companies”), with whom Mr Parker is now associated, that a computer program known as "Millennium Master" would be made available by the MFX companies. The commercial object of the Millennium Master Program is to assist in overcoming what is described as the Millennium Bug, being prospective difficulties for computer programs derived from the fact that most current programs may be incapable of recognising dates after the year 1999.
Ni-Tech is concerned that the Millenium Master program might make use of source codes of computer programs which Mr Parker was responsible for producing while employed by Ni-Tech. The copyright in that material resides in Ni-Tech. Accordingly, Ni-Tech has brought an application under Order 15A Rule 6 seeking discovery of the source code for the Millennium Master computer program and all other source codes for computer programs developed by or on behalf of any of the respondents which fulfil the same or similar functions as the Millennium Master computer program.
Before such an order is made it must be established that:
there is reasonable cause to believe that Ni-Tech has or may have the right to obtain relief in the Court from the respondents;
after making all reasonable inquiries, Ni-Tech has not sufficient information to enable a decision to be made whether to commence a proceeding in the Court to obtain that relief;
there is reasonable cause to believe that the respondents have or are likely to have, have had or are likely to have had, possession of any document relating to the question whether Ni-Tech has the right to obtain the relief and that inspection of that document would assist in making the decision.
It is accepted that Ni-Tech does not have sufficient information to enable a decision to be made whether to commence a proceeding in the Court to obtain relief in respect of possible infringment of the copyright of Ni-Tech. Ni-Tech contends, however, that there is reasonable cause to believe that it has or might have the right to obtain relief in the nature of injunctions, damages or account from the respondents in respect of such infringement of copyright. The respondents deny that there is reasonable cause to believe that Ni-Tech has or may have such a right and also contend that the second requirement of order 15A rule 6 has not been satisfied in that there are reasonable inquiries which were open to Ni-Tech but which have not been made.
There is evidence before me that Mr Parker had available to him the source code for programs of Ni-Tech, copyright in respect of which belongs to Ni-Tech. During his employment by Ni-Tech Mr Parker worked on the development of computer software programs known as Romulus, RamGate, Sniffer Dog and Watch Dog. The functionality of those programs includes, amongst other things, taking control of an application, indexing of alpha-numeric or alpha or numeric strings and global replacing of data.
Romulus was Ni-Tech's first product. The focal point of Romulus is a data base which contains an indexed profile of each document in a system. It is an image based document management system for the legal profession. RamGate is a memory management utility for Windows and is a retail software product. It manages the way in which Windows applications use system resources and memory. The primary benefit of RamGate is that it stops Windows from “crashing”. The functionality of RamGate includes the interrogation of the structure of an application to determine its characteristics and operating requirements.
Mr Havas gave evidence concerning what he considered was similarity between the functionality of the Millennium Master program, as described in a Help File in relation to the Millennium Master program which he obtained from the Internet. Mr Havas said that the functionality of the Dog Programs was to include “an identifying or ‘hunting’ function which hunts and identifies latent or manifest system problems.” The Help File, he said, indicates that the Millennium Master Program identifies files that contain short date formats. Thus he says that functionality appears to be very similar.
He also said that from the Help File it appears that the Millennium Master Program detects a file with a short date format and logs the file into a database. The functionality of the Dog Programs was to include:
“a logging function which, once latent or manifest system problems are hunted, identified and logs latent or manifest system problems in the database.”
Again he considered that that functionality appeared to be similar.
Next, Mr Havas observed that, once the Millennium Master detects a file with a short date format and logs that file into a database, it then corrects the file into a long date format. The functionality of the Dog Programs was to include a “correcting” or “curing” function which, once latent or manifest system problems are identified and logged, serves to cure the problems. Again he observed similarity between those two functions.
Mr Havas has given uncontradicted evidence that he estimates that it took Mr Parker at least 2000 hours to develop the first version of Romulus and that it took at least 3000 hours to develop all versions of Romulus and Romulus add-ons. Mr Havas also gave evidence that Mr Parker said to him in late 1996 that he had spent approximately 9000 hours all up in developing all versions of Romulus and RamGate.
Sniffer Dog and Watch Dog (“the Dog Programs”) are intended to be programs based on a combination of, and will be logical extensions of, the RamGate and Romulus software programs. Following the termination of his employment by Ni-Tech Mr Parker was to be engaged, on a consultancy basis, in the development of the Dog Programs. Mr Havas says that the functionality of the Dog Programs was to include controlling an application, indexing text, pattern matching and global replacing of data. The main control files to be used to construct Watch Dog were to be the major components of a version of RamGate known as “RamGate deluxe” combined with some of the critical components of Romulus.
Mr Havas estimates that, based on his experience in the software development industry, his understanding of the functionality of the Millennium Master program and his knowledge of the number of hours it took to develop Ni-Tech's software programs, it would have taken Mr Parker approximately 5000 hours to develop the Millennium Master program independently and without copying source codes from any other programs. It was contended, therefore, that an inference can be drawn that Mr Parker made use of Ni-Tech’s source codes in the creation of the Millennium Master program.
On the other hand, there was evidence from Dr C.H.P. Brooks, who reviewed a version of Millennium Master, that the version which he reviewed could have been developed by a competent programmer in less than 1500 hours. The basis for Mr Havas’ estimate and the way in which it was calculated are not disclosed and there was no cross-examination of Mr Havas in relation to that matter. Nor was the way in which that estimate was made disclosed and there was no cross-examination of Dr Brooks. It is not possible, therefore, to form any view as to how long it would have taken Mr Parker to write the Millennium Master program without the use of any source codes owned by Ni-Tech.
Dr Brooks also gave evidence concerning the functionality of the Millennium Master Program and the Ni-Tech programs. Dr Brooks observed that there are no material similarities in user or operator functions between Millennium Master, RamGate and Romulus. The programs have very different purposes, totally different user interfaces and no apparent overlaps. However both Millennium Master and RamGate Deluxe analyse object coding program files as do many programs. Millennium Master does that to find date related instructions. RamGate Deluxe does that to record memory and other resource requirements to support its memory management activity.
Both Millennium Master and the RamGate programs determine the operating environment of the personal computer (“PC”), but for different reasons. Millennium Master needs to check the ability of the BIOS section of a PC to work with dates spanning 01/01/00 while the RamGate programs need to help manage computer memory resources. All three applications are programmed to identify the PC operating system they are working with as do a number of applications. Dr Brooks considered there was no evidence that the source code, to perform that function in the Millennium Master Program, need be a reproduction of the source code of the other two programs.
He said that even if it was, it would be an insignificant proportion of the total. Dr Brooks said that the situation was less clear for the Dog Programs. He observed that there is no working code to analyse because none is in existence. Working on the limited information available he said that it appeared that Millennium Master and the Dog Programs, if developed, would:
(a) analyse the PC operating system and hardware environment;
(b)perform some kind of matching function to identify specific patterns an object code although for different purposes;
(c) store the results of that analysis in an access database;
(d)be able to determine a recommended action and act on that if required to correct deficiencies or errors detected in patterns of object code or operator activity.
Dr Brooks said that those functions were a minor part of the programs and their purposes were very different. He did not consider that those broad similarities were in themselves evidence of any copying because a large number of systems perform those general functions.
Dr Brooks considered that the differences in user function and within user interface led him to believe that there are no, or at worst very few, segments of duplicated source code between the Millennium Master and the RamGate programs. He did not encounter any evidence that led him to believe that it is likely that the source code of Millennium Master substantially copies that of the other systems. He said that there were many ways that the common functions of file analysis, database logging and pattern matching to determine the appropriate corrective action might be implemented. Each of the functions is performed by a large number of applications. There are millions of programs that analyse files, millions of programs that use the access database and a very large number that analyse patterns in files to determine some form of appropriate action.
Dr Brooks said that there was no evidence that the source code of Millennium Master would have drawn on the source code required to implement the Dog Programs had they been developed. His analysis, however, did not mean that there are definitely no common sections of source code between Millennium Master and the RamGate programs. Nevertheless, he was of the view that the major differences in user interface and the user functionality of the programs mean that the source code of each program must be very different. He said that the common features which were minor could have been implemented using the same code but that there is no reason that they had to be. Dr Brook’s conclusion was that the user functionality and user interface of Millennium Master is significantly different from that of all the other applications. It was likely, therefore, that the source code for Millennium Master would be very different from the source code for the rest of the programs.
The conclusions of Dr Brooks of course are not conclusive as to the extent to which the source code for the Ni-Tech programs is reproduced in the Millennium program. His evidence indicates, however, that any suspicion on the part of Ni-Tech may be misplaced. It does not, however, it seems to me, conclusively refute such a suspicion.
The essence of the Ni-Tech’s case that there is reasonable cause to believe that Ni-Tech may have a right to relief is that the conjunction of three factors gives rise to a reasonable suspicion. The three factors are the availability to Mr Parker of the Ni-Tech source codes, the apparent shortness of the time available to him to develop completely new source codes and the similarities of functionality to which Mr Havas referred. None by itself would be sufficient to give rise to a reasonable belief that Ni-Tech has a right to obtain relief. On the other hand, it was said that the three factors together are a reasonable cause for such a belief.
The requirement of “reasonable cause”, of course, is not satisfied simply by a subjective belief on the part of an applicant. It must be a reasonable cause determined objectively. The concern of Ni-Tech is that Mr Parker was employed full time from the time of his departure from Ni-Tech in a capacity which would not have allowed him the opportunity to devote the number of hours required for the development of the Millennium Master program. Whether that time is 5000 hours, as Mr Havas estimates, or something less than 1500 hours, as Dr Brooks estimates, it seems clear that some considerable period of time was required.
It is not totally clear from the evidence what Mr Parker's duties were from March 1997 until November 1997 when the announcement was made concerning the availability of Millennium. Nevertheless, it must be borne in mind that an application under order 15A rule 6 is made on the assumption that the applicant has not sufficient information to enable a decision to be made whether to commence a proceeding, so long as there is a reasonable cause to believe that the applicant may have the right to obtain relief.
The respondents relied heavily on evidence given by a Dr Jayasooriah. Ni-Tech relied on evidence of Dr Jayasooriah to the effect that comparisons of functionality of programs and comparisons of object coded programs, such as were carried out by Dr Brooks, are inappropriate and indeterminate with respect to the issue of whether there is any likelihood of copying of source code. Dr Jayasooriah gave that evidence in the context of the assertions by the respondents that Ni-Tech had not conducted all reasonable inquiries before concluding that it did not have sufficient information to decide whether to commence proceedings.
Dr Jayasooriah agreed that similarities in functionality of software programs may well point to a similarity in source code but made the assertion that differences in functionality do not result in a conclusion that source code of one program is not a copy of the whole or a substantial part of source code to another program. He said that neither a comparison of functionality of programs nor a comparison of object codes provides an indication of whether there is a likelihood of, or whether there has been, copying of source code.
The respondents’ contended that such a conclusion on the part of Dr Jayasooriah in effect negates Ni-Tech’s case insofar as it is said to be founded in part upon similarity in functionality. However, I consider that that contention overlooks the substance of Ni-Tech’s argument that it is the combination of the similarity in functionality with the other two factors, namely, the accessibility of the programs and the limited time available to Mr Parker which gives the “reasonable cause to believe”.
I do not consider that Ni-Tech’s belief that it may have the right to obtain relief from the Court can be a strong one.Nevertheless, I am satisfied that there is a reasonable cause to have such a belief. The strength of the belief, of course, may be material in the exercise of discretion under Order 15A.
The respondents also resisted the application on the basis that Ni-Tech had not made all reasonable inquiries that were available to it. That contention was based on an offer made in the course of correspondence between the parties and which was confirmed during the course of the hearing as being still open. The essence of the offer was to make the object code of the Millennium Master program available to an expert to be nominated by the parties for comparison with the object code of the Ni-Tech programs.
Dr Brooks carried out a comparison between Millennium Master and the Ni-Tech programs. His instructions were to consider the programs in terms of their functional elements or components and compare the functionality of the Millennium Master program with the functionality of the Ni-Tech programs with a view to assessing whether or not there are similarities in functionality between the two groups of programs. Finally, he was instructed to compare the object code of the Millennium Master program with that of the RamGate programs.
Ni-Tech declined the offer made by the respondents on the basis that it would not really determine the matter one way or the other. Ni-Tech contended, in effect, that the only way to determine whether or not the Millennium Master program used any of the source code of the Ni-Tech programs would be to examine the Millennium source code itself. There is no real dispute as to that.
Dr Brooks explained the distinction between object code and source code as follows:
…object code refers to programs that are in a form that a computer can understand. Object code is a set of instructions able to be interpreted by computers. Generally the object code cannot be understood by people, even skilled programmers. Programs are originally written in semi-English language, called source code. These source code instructions are then converted into object code (or “compiled”) by a special known as a compiler. The file in which the resulting object code is stored is known as a compiled file. The object code is what the customer usually receives when software is purchased or licensed.
Source code is the text-based form of a program that is written by a programmer using the commands, and the syntax (grammar), of the particular programming language employed. Source code can be interpreted or “read” by someone who is familiar with the programming language.
That description was not significantly disputed by Dr Jayasooriah.
It was said by the respondents that by carrying out a comparison similar to that conducted by Dr Brooks, Ni-Tech would have obtained more information relevant to a decision to commence proceedings and that it had deliberately chosen not to do so.
It is not clear, in my opinion, that accepting the offer would have advanced the matter further so far as Ni-Tech is concerned. It may be that further similarities in functionality could have been established. However, as indicated above, the evidence of Dr Jayasooriah, which was not challenged, was that differences in functionality do not result in a conclusion that source code of one program is not a copy of the whole or a substantial part of source code in another program, notwithstanding that similarities in functionality of software may well point to similarity in source code.
Even if the investigation that was offered demonstrated that there was no further similarity, it would not necessarily discount or eliminate the possibility of infringement by reason of the similarities already identified. In the circumstances, I do not consider that the refusal of the test or investigation offered by the respondents disentitles Ni-Tech to an order under Order 15A.
The third basis upon which the relief sought was resisted is a discretionary one. There are two elements of the discretion. First it was said that the shifting of ground by Ni-Tech as to the basis for its belief disqualifies it. This argument seems to me to be directed to the first requirement – namely whether or not, objectively considered, there is a reasonable cause for the belief. This may be as it was intended by counsel for the respondents.
I do not consider that there has, in fact, been a shifting of ground. While some of the correspondence between the parties as to the grounds for the belief may lack clarity in the way in which the belief was put, I do not consider it to disqualify Ni-Tech. The basis of the complaint is the extent of the reliance placed on the Dog Programs, which, of course, have not yet been brought into existence. The substance of Ni-Tech’s case, however, is that the instructions which Mr Parker had for the writing of the Dog Programs were instructions such as would, in effect, lead to the employment of the source code for the existing Ni-Tech programs.
The inference to be drawn, so it is said, is that Mr Parker used the source code for the purpose of developing functionality in the Millennium Master program which he would have used for the purpose of developing the Dog Programs. In other words, it is part of the factual circumstances which it is said give rise to a reasonable belief that Mr Parker, in fact, employed the Ni-Tech source codes in compiling the Millennium Master program.
The second discretionary matter is of greater substance. An order under Order 15A Rule 6 would be an interference with the property and privacy of the respondents. It is an order which is made in circumstances where by definition Ni-Tech does not know, or does not have sufficient information to decide, whether it ought to launch proceedings against the respondents.
I have evidence before me from Mr Carr, a director of the MFX Companies, that the source code for the Millennium Master program is commercially highly sensitive and highly valuable. Mr Carr said that he is concerned that a person with technical competence to whom the source code was provided would be able to form a view as to the theory behind the Millennium Master program and would then be able to duplicate the Millennium Master program or explain it to another person who could in turn duplicate the program. The concern was that, despite any undertaking as to confidentiality which might be given and any undertaking to return the Millennium Master program, such knowledge could be retained as part of the “intellectual capital” of such an individual. Mr Carr gave evidence that only a very limited number of individuals had seen or had access to the source code which is fragmented and secured in several different bank vaults. They were the reasons why the respondents are not prepared to disclose the source code to Ni-Tech unless ordered to do so by the Court.
Unless I am satisfied that the concern of the respondents is adequately met I would decline to make an order in this case, having regard, as I have said above, to the fact that any belief which might exist could not, on the material I have seen, be a strong one. This question was considered by O'Loughlin J in CCA Beverages (Adelaide) Ltd v Hansford & Ors (unreported, Federal Court, O’Loughlin J, 15 November 1991). As his Honour observed:
…if the applicant's fears are groundless, it is essential that the respondent company’s right to secrecy is preserved. But it must be acknowledged that with any disclosure - no matter the security - there may well be a risk that some person may gain information that should not have been made available to him. Such a risk must be taken into the balance when deciding whether an applicant, whose application is wholly genuine, should be entitled to “fish” for further information.
His Honour made those observations in the context of a conclusion that he was not satisfied that all reasonable inquiries had been made.
Because of the risk adverted to by Mr Carr, I am not at present prepared to make an order. However, for the reasons which I have indicated, if I can be satisfied that there is no risk in any practical sense that the confidentiality of the respondents' source code will be breached, I would be disposed to consider making limited orders. The orders would be for access to the source code to be given to an appropriately qualified individual with a view to that individual reporting, in accordance with terms of reference which would have to be determined, whether any part of the Ni-Tech source codes has been utilised in compiling the Millennium Master program.
Accordingly, I propose to stand the proceedings over to a date that is convenient to the parties so that some inquiries can be made. I will then hear further argument as to whether it is appropriate for me to make any order.
I certify that this and the preceding eleven (11) pages are a true copy of the Reasons for Judgment herein of the Honourable Justice Emmett
Associate:
Dated: 27 April 1998
Counsel for the Applicant: R. Cobden Solicitor for the Applicant: Gilbert & Tobin Counsel for the Respondent: D.K. Catterns QC Solicitor for the Respondent: Freehill Hollingdale & Page Date of Hearing: 27 April 1998 Date of Judgment: 27 April 1998
0
0
0