INTRODUCTION:
Since the inception of the digital age, there have been a plethora of terms that have been used by people all over the world. Software, algorithm and program are terms which are often used synonymously without any due regard to their actual difference. While this may be forgiven from the view of a common man, as lawyers we have no such defense. The profession of law prides itself in being extremely particular about the interpretation of key terms and in the current lock-down era, never has the need to make a distinction between these three terms been higher. In this Article, we shall understand the definition of these terms and what is the difference between the three.
DEFINITIONS:
The terms software, algorithm and program are defined as follows:
- Software:
Software can be generally defined as “[Software] a set of instructions, data or programs used to operate computers and execute certain specific tasks”[1]. Software is seen as the secondary component of a computer resource, with the main one being hardware. It is however far more than a mere secondary component. The scope of software is diverse and covers a world of design, operating systems, web browsing and applications of any kind used in practically all areas of life. From the moment we wake to the moment we sleep we interact at least once with software in one form or the other.
The IT Act does not venture into given us a clear definition of the term “software” despite making numerous references to it in the definitions of key terms such as “Computer[2]”, “Computer Resource[3]” “Information[4]” and “Secure System[5]”, which gives the perception that the drafters of the Act wished for the definition to be the same as used in common parlance. The term “Source Code” under the IT Act is often held to be referring to a software as well, particularly under Section 65 wherein the term has been defined as an Explanation:
“[Computer Source Code] means the listing of programmes, computer commands, design and layout and programme analysis of computer resource in any form.”
- Algorithm:
The term algorithm is used to refer to a procedure wherein a mathematical method is utilised so as to calculate and device a certain procedure for the carrying out of a particular task. Algorithms have been prevalent in human society prior to their application to computer resources as a purely mathematical concept. It is this mathematical background of algorithms which make it difficult for it to avail of Intellectual Property protection. The Patents Act, 1970 goes as far as to prohibit granting of inventions in regards to algorithms specifically[6]. However, recent Computer Related Inventions Guidelines[7] have eased up this requirement and opened the possibility of gaining IP Protection for algorithms.
- Program:
At the very start, one must know that the terms programme and program are used synonymously. The term “Program” is of American descent while the term “Programme” is of British and French decent. The term is used generally to refer to “a set of instructions that can be put into a computer in order to make it perform an operation”[8] .When referring to the term in a technical manner, the word “program” is used. The term has been defined under the Indian Copyright Act as follows:
“[Computer Programme] means a set of instructions expressed in words, codes, schemes or in any other form, including a machine readable medium, capable of causing a computer to perform a particular task or achieve a particular result”[9]
DIFFERENCE BETWEEN ALGORITHM, SOFTWARE AND PROGRAM:
The basic difference between an algorithm, program and software is the hierarchy. A set of algorithms together when put in a particular programming language formulate a program which when combined with other programs along with data creates a software. Following are other differences between the three terms:
Subject | Software | Program | Algorithm |
General Definition | A set of programs used along with data for the purposes of execution of an application. | A set of instructions written in a programming language for the purposes of a particular task. | A mathematical method used to device a procedure for carrying out a task. |
Nature | General | Specific | Abstract |
Users | General Public usually | Developer generally | Developer |
Size | Generally large files, ranging between Mega Bytes (Mb) and Above. | Generally Kilo Bytes (Kb) to Mega Bytes(Mb) | If saved on an online application, generally Kilo Bytes (Kb). |
Features | Multiple features to provide great accessibility | Limited features | Bare steps for dealing with task at hand. |
Structure | Generally Complex, able to deal with multiple inputs at a time depending on design. | Generally simple and focussed on dealing with one particular task. | Depending on task, can be simple or complex. However, higher the complexity, higher the mathematical explanation behind each step. |
Language | Multiple Computer Languages are used in order to make sure it functions properly. | Depending on the particular task the program is being designed for. | Does not use any particular computer language. |
IP Protection | Under Copyright Act, 1957 | Under Copyright Act, 1957 Excluded per se under Section 3(k) of Patents Act, 1970 | Not granted under Section 3(k) of the Patents Act, 1970 Subsequently relaxations under CRI Guidelines. |
CONCLUSION:
Members of the legal fraternity often tend to use technical terms in the manner they are used in general parlance and do not dive deep into the definitions of the same unless specifically demanded by the Court or in the course of the suit. With the advent of technology in the daily lives of the general public, the need to understand the difference between the three grows exponentially. This is clearly seen especially when a lawyer is dealing with the intellectual property protection under copyright or patent laws.
For example, exceptions such as that under Section 3 (k) under the Patent Act, 1970 specify algorithms and computer programs per se cannot be granted patents. However, an individual can get his software patent protected if he can reasonably showcase that the software is a part of novel hardware.
Another aspect for obtaining IP protection with respect to algorithms and computer programs can be observed from global perspective. Some jurisdictions such as the United States may allow certain aspects of these computer programs and algorithms to be patented provided that the use of such computer program has certain level of control over a machine or a technical process and consequently resulting into some physical effects.
Therefore, in order to advise and assist the client in getting the best IP protection, it is key that the lawyer themselves first clearly differentiate between the three terms.
BY
SHREYAS SHETTY
BALLB-5th Year
ILS LAW COLLEGE, PUNE
[1] “https://searchapparchitecture.techtarget.com/definition/software”
[2] Section 2 (1) (i), Information Technology Act, 2000
[3] Ibid, Section 2 (1)(k)
[4] Ibid, Section 2(1)(v)
[5] Ibid, Section 2(1)(ze)
[6] Section 3(k), Patents Act, 1970
[7]“http://www.ipindia.nic.in/writereaddata/Portal/IPOGuidelinesManuals/1_86_1_Revised__Guidelines_for_Examination_of_Computer-related_Inventions_CRI__.pdf”
[8] “https://dictionary.cambridge.org/dictionary/english/program”
[9] Section 2 (ffc), Indian Copyright Act, 1957
Leave a Reply