Copyright in Javascript class files as discrete 'computer programs'

| | Comments (0)
Another judgment from the Federal Court of Australia today makes for interesting reading, especially if you're a software developer.  The case is Dais Studio Pty Ltd v Bullet Creative Pty Ltd [2007] FCA 2054.

The case involved the copying of two Javascript class files:
http://www.hradvantage.com.au/_script/CDAITable.js (the 'table file')
http://www.hradvantage.com.au/_script/CDAIEditor.js (the 'editor file')

The programming code in these files provided relatively trivial functionality for a Content Management System (CMS) developed by the applicant.  When the second respondent (a former employee of the applicant) needed to implement similar functionality in a similar application, they copied these two class files from the website of one of the applicant's clients, and adapted those files to their needs.  The applicant sued under various causes of action, including infringement of copyright, breach of confidence, breach of contract, and improper use of information gained during employment, under the Corporations Act.

The two significant questions for the copyright claim were:
  • Whether the two files were 'computer programs' within the meaning of the Copyright Act 1968, or whether they were merely components of the CMS, which was the computer program; and
  • Whether, if the files were not 'computer programs' in their own right, the respondent reproduced a 'substantial part' of the computer program that was the CMS.
After considering the statutory definition of 'computer program' (a set of statements or instructions to be used directly or indirectly in a computer to bring about a certain result), and discussing the history of the definition and relevant authorities, Jessup J concluded that the files fit within that definition -- as sets of statements or instructions -- and therefore each file was a separate literary work in which copyright subsisted.  His Honour said at [39]:

The definition requires me to accept as a computer program any set of statements or instructions which is used to bring about a certain result. I consider that the instructions in the table file and the editor file were a set within the terms of the definition. Those files were discrete manageable entities. Either could be downloaded and used as such. Either could be included in, or excluded from, a CMS, depending on the developer's requirements. Each added functionality, in the sense that results were made possible by its inclusion. Each file (or either file as the occasion required) was sent as an entity to the user's computer to function co-operatively with the browser's software. The instructions on each file were related by function, by location and by utilisation. On any view, those instructions constituted a set. Further, the results for the bringing about of which the files were used were recognisable and definable. In the case of the table file, for instance, one result might be the highlighting of a line entry in a table. Another result might be the re-ordering of the lines in the table. For each result to be brought about required the participation of HTML software on the browser; but it required also the participation of the relevant instructions in the table file. That is to say, in the words of the definition, the bringing about of the result in question required the use of those instructions. And the same conclusion could be drawn, mutatis mutandis, in the case of the instructions in the editor file.

Things were looking pretty good for the applicant at this point, but the wheels came off their copyright case on evidentiary issues -- they couldn't establish that the respondent had copied the version of files pleaded (from that particular client's website), as opposed to earlier or later versions from another site.

Jessup J then considered whether the respondent had infringed the copyright in the CMS as a whole by reproducing a substantial part of it.  Qualitatively and quantitatively (the two files accounted for 0.22% of the lines of code in the whole CMS), Jessup J held that the two files were not a substantial part of the CMS.

This decision could have implications for code reuse.  Where bits of code are of insignificant size compared against the whole program, and of trivial functionality and originality, they would probably not be a 'substantial part' of the whole program, and could be copied without infringing copyright.  On the basis of this decision, if a part of the code is significantly modular and discrete to be viewed as a 'set of instructions' (perhaps a function, or a class, especially if contained in a separate file), and the code is functional in the sense that it can be used 'to bring about a certain result' (such as, perhaps, a sort algorithm), then they can't be copied without infringing copyright, as they are 'computer programs' in their own right, even if they are an insubstantial part of a larger computer program as the term is commonly known.

[Update: Thanks to Dave C for pointing out that the title of this posting originally referred to the files as being 'Java' files instead of 'Javascript']

Categories

Leave a comment

About this Entry

This page contains a single entry by Dale Clapperton published on December 22, 2007 8:58 AM.

Software Derangement was the previous entry in this blog.

True fact: Chuck Norris' lawsuits cure cancer is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.