It is not uncommon for firmware or software developers to use source code from third party programs or source code libraries as part of the software being developed. Indeed, using pre-existing code that performs similar or identical functions, even if only as a small part of the software being developed, may save considerable time and resources.
However, using even a small proportion of third party software without a licence could be copyright infringement for which there may be significant ramifications, as demonstrated in the continuing IPC Global Pty Ltd v Pavetest Pty Ltd proceedings before the Federal Court.
IPC Global Pty Ltd (IPC) develops, manufactures and supplies materials testing equipment for construction materials such as asphalt. As part of its testing, IPC uses firmware called "IMACS" and software called "UTS". Both exist in object code and source code.
In mid-2012 two employees of an IPC-related entity left to start up a rival company called Pavetest, the respondent in the proceedings. Pavetest subsequently launched a range of testing products that compete with IPC's product offering.
At the time one of the individuals resigned from IPC he had copies of the UTS software on his computer. He retained those copies after his resignation and subsequently provided them to a computer programmer engaged by Pavetest to write Pavetest's own software, TestLab. That programmer referred to the UTS software in the course of writing TestLab. Some lines of TestLab's source code were identical or similar to the UTS source code. Pavetest's firmware, "CDAS", also reproduced a substantial part of IPC's IMACS firmware.
IPC commenced proceedings against Pavetest and the former employees alleging, amongst other things, that:
- Pavetest infringed its copyright in the UTS software and the IMACS firmware;
- the individuals authorised the infringement; and
- the individuals breached duties of confidence towards IPC in relation to the UTS software and IMACS firmware.
The findings of copyright infringement
During the trial, Pavetest conceded liability (on issues of liability only) for infringement of IPC's copyright in the IMACS firmware. The trial continued however in relation to the UTS software, in relation to which the Court made the following findings:
- Pavetest infringed IPC's copyright in the UTS software by one of the individuals copying the source code for the system library and several test modules of the UTS software onto the computer provided to the computer programmer;
- Pavetest infringed IPC's copyright in the UTS software by the creation of version 1 of the Test Lab software;
- both individuals authorised each of the above infringements; and
- both individuals breached their duties of confidence.
The Court made a number of orders including:
- permanently restraining Pavetest from offering to sell the versions of the CDAS firmware or TestLab software the subject of the proceedings;
- permanently restraining the individuals from offering to sell the versions of the CDAS firmware or TestLab software the subject of the proceedings;
- requiring the delivery up or destruction of copies of the CDAS firmware and TestLab software the subject of the proceedings;
- that an inquiry be held to quantify the damages (including any additional damages) or, at IPC's election, to take an account of profits; and
- that Pavetest and the individuals pay IPC's costs of and incidental to the proceeding.
When will copying source code constitute copyright infringement?
Copyright in a work will be infringed if the work is reproduced in whole or in "substantial part" without a licence. Determining whether a substantial part of software has been reproduced can be a complex task.
In this case, only a very small proportion of the UTS software program had been reproduced. Evidence was led that the UTS software program comprised approximately 250,000 lines of source code. However, only 800 lines of that code had been reproduced in the TestLab software. In addition, Pavetest contended that it had only copied parts of the UTS software system library which were merely "supporting infrastructure" to the main program.
Nonetheless, the Court considered that the UTS software had been reproduced in "substantial part".
The key factors that led the Court to make this finding:
- there was originality in the expression of the sequences of UTS source code in issue by reason of the choice and judgment involved in developing the sequences of source code that were reproduced;
- the sequences of source code in question played a functionally significant role in the operation of the UTS software as a whole, even though a number of the sequences in issue were not difficult or unconventional; and
- the emphasis is on a qualitative rather than quantitative assessment of substantiality.
The lessons for firmware or software developers
Firmware and/or software developers should be careful to ensure that they do not rely upon existing code in developing their own firmware or software unless relevant licences have been secured. Unlawful copying of even a small proportion of code could have significant ramifications including the payment of damages or the taking of an account of profits, the destruction of copies of infringing firmware or software and the payment of significant legal costs.
Further, companies that engage developers as contractors to create firmware or software (whether a small app or a major IT platform) should manage this risk by ensuring there are appropriate warranties and indemnities in the engagement agreement.