Legal Protection of Software – Choosing the Right Strategy

This article focuses on the Million Dollar question this century. How to legally protect software from being copied or pirated.

In this article, we will be discussing different ways to legally protect software from being pirated/copied. Since are multiple facets to this problem, the first question would be deciding which aspect of the software requires protection. Examples include:

  •          Protecting the basic idea of the software and the problem solved.
  •          Protecting the software code and algorithm.
  •          Protecting the architecture, process/control flow diagrams, higher level project details, etc.
  •          Protecting the User Interface and graphical elements of the software, etc.

This listing is not exhaustive and keeps evolving over time with new developments in the field of software engineering. With new software development models coming into the picture, the strategy for protecting software would naturally undergo further changes. Nevertheless, the current legal system provides enough mechanisms to protect software from being ripped-off. In the following sections, we will be looking at different ways in which software may be protected legally (this article will primarily focus on India, but similar laws exist in almost all other countries).

Laws to protect different aspects of software include Copyrights, Patents, and Contracts (Non-Disclosure Agreements, Employment Agreements, Non-compete clauses, etc). While Copyrights and Patents may be used to restrict third parties from using/copying software, Contracts may be used to restrict stakeholders such as employees, partners, freelancers, etc, who have sufficient know-how of the software from misusing the information.


Elements of software that may be copyrighted include, source codes, algorithms, pseudo codes, architecture diagrams, flow charts including process/control flow diagrams, User Interface, Images (including Icons, Buttons, etc), software documentation, software development models, etc. These elements of the software fall into the category of “literary work” under the Copyright Act. Note that for a concept/idea to be copyrighted, it shall be expressed in the form of writing. Further, the work shall be an “original” work of the author(s). To sum up, software including all its elements discussed above may be copyrighted if it is original.

The advantage of copyright protection is that the law provides remedies if somebody else copies the work of the owner. Pirating the exact piece of software without a license or authorization will constitute copyright infringement under the Copyright Act. The software may be protected against direct copying using the provisions of the Copyright Act. Furthermore, it is relatively easy to obtain copyright protection, the process behind registering a copyright is not very complicated.

The disadvantage of copyrights is that the “expression” alone is protected. The “idea” behind the software cannot be protected by copyrights. Hence, a skilled software engineer may re-write the codes to avoid copyright infringement. Given the current technology landscape, it wouldn’t take much effort to reverse engineer software and re-write it in a different way in the same programming language or in a different programming language. Hence, Copyright protection of software has its own limitations.


This is where things get interesting as well as tricky. Unlike copyrights, patents can protect the idea itself. For example, let’s say Amith comes up with an idea of using software to identify mechanical problems in an automobile. He writes the code and copyrights all the elements of his software right from source code and UI, to documentation. Now, Anand who runs a big software firm is interested in this idea. Without approaching Amith for a license, he employs some engineers to write similar software after understanding the idea behind Amith’s software. Here, Anand can come up with similar software and can even beat Amith’s software in terms of sales by aggressively marketing his alternative. Amith is left without any legal remedy to this situation.

On the other hand, had Amith patented his idea, he could have prevented Anand from recreating his idea. Any sort of recreation of Amith’s idea would now fall within the purview of infringement under the Patents Act. Hence, Patents provide significantly higher protection compared to copyrights when it comes to protecting the idea itself.

The advantages of getting a patent right for your idea include exclusive rights to make, use, sell, offer for sale, and import the product/process that is patented. One can even license patent right for a royalty. Patent rights are much wider than copyrights in protecting software.

The disadvantage of patenting is the process itself. The idea behind patenting is to encourage innovation by disclosing your idea to the public for the sake of promoting research and innovation. In turn, the inventors are awarded exclusive rights to monetize their ideas. It is a win-win for both the community as well as the researchers. But this proposition comes with a lot of complications. Many a time, people try to take advantage of this system and try to patent ideas which are untenable. In other cases, inventors refuse to license their patents or make use of their invention thereby stalling the research and developing and hurting the main objective of patents. As a result, governments have made strict rules and guidelines for granting patent rights. For obtaining a patent right, the idea should be novel, non-obvious and should have an industrial application. Furthermore, there is a list of items which cannot be patented like medical procedures, natural laws, scientific theories, inventions harmful to the public, agricultural techniques, and so on.

Unfortunately, computer programmes and algorithms per se also fall within this exempted category. While an idea behind a software need not comprise its code and algorithm as such, this exemption makes it very tricky to obtain patent rights for software. Furthermore, the standards differ with each country and are evolving every day. One aspect that is uniform across all the countries is that when it comes to patenting software, the law isn’t very clear. While patents are granted for software, they have to satisfy many conditions. Hence, the answer to the question “Whether software can be patented?” is that it depends on what the software exactly does.

Another complexity with patenting is that the whole process is complicated and filled with several technical and legal hurdles. Unlike copyrights, one cannot directly submit code or documentation to protect the idea. Patents must be drafted in a certain manner and involve strict legal standards which vary across countries. It takes a lot more effort to get a patent right in comparison to copyright. But the advantages are many and that is why almost every technology company invests in patents generously.

Restrictive Contracts

One of the best ways to protect a complex software from being copied is to hide the code and related documentation from public disclosure. While an intelligent software engineer may be able to write similar codes, it becomes an impossible task if the software is a big and complex one which was built as a team. For example, it is very complex to re-create windows OS without inside information, one can say that it is next to impossible. If one is confident that their software is complex and complicated enough that no-one can recreate it without copying, keeping the codes and documentation as a secret would be a great option.

India does not have a Trade Secret law as such. But the provisions of Contract Act, Information Technology Act, and Indian Penal Code may be used to prevent employees from leaking sensitive information during their course of employment. It is possible to restrict them from revealing sensitive information even after they disassociate a software firm to an extent. Non-Disclosure Agreements (NDA) may be used effectively to create a contractual obligation for keeping sensitive information from leaking. The Indian courts have time and again upheld the rights of employers while dealing with sensitive information. Though not as effective as Patents due to lack of a specific law, contractual obligations may be used intelligently to protect software codes and ideas to an extent. Since legal standards differ with countries, even if you protect your software using patents and copyrights in one country, it may be ripped off and hosted from some country where such laws are not prevalent or applicable. Hence, classifying the software elements as confidential and creating contractual obligations among stakeholders may be used as a third degree of protection for legally protecting software.


Since software has different aspects to it, it should be protected using more than one mechanism. There is no “one size fits for all” when it comes to legal protection software. A detailed study into the requirements should be the first step when protecting software. That being followed by classifying different elements of the software and using every legal mechanism available at your disposal would be the best way to go when it comes to protecting software from being pirated or copied.

This article was written by Gopikrishnan Mukundan, Advocate & Patent Agent. For any queries, write to [email protected]

Leave a Comment

Your email address will not be published.