Legal Protection of Software – Choosing the Right Strategy

This article focuses on the Million Dollar question of 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 the 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 the 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 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 that are untenable. In other cases, inventors refuse to license their patents or make use of their inventions thereby stalling 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 that cannot be patented like medical procedures, natural laws, scientific theories, inventions harmful to the public, agricultural techniques, and so on.

Unfortunately, computer programs 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 a 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 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 that 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 a secret would be a great option.

India does not have a Trade Secret law as such. But the provisions of the 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 of 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.

About The Author

Gopikrishnan Mukundan

Adv. Gopikrishnan Mukundan is an Intellectual Property Attorney and a registered Patent/Trademark Agent.

    Recent Discussions

    Branded Medicines vs. Generic Medicines: The Role of Patents
    September 8, 2023

    In the pharmaceutical industry, the distinction between branded and generic medicines is an essential one. Understanding this distinction is crucial not just for…

    Recent Discussions

    Microsoft vs. Indian Patent Office – Decisions by Delhi High Court on Software Patents in India
    June 21, 2023

    The part of this series focuses on the two recent judgments of the Delhi High Court passed in the statutory appeals filed by…