I know there are many debates about it. Even in USA, a country very well known to be patent friendly, I'm still not sure if software is patentable.

But how is the interpretation to allow software patents?

I am "assuming" here that:

  1. Software is a computer program.
  2. Computer program is a coded (set of) algorithm which a "computer" can execute to perform a specified task.
  3. An algorithm is a computational process which can be defined by a Turing machine.

Additionally, we can "consider":

  1. A computer is a restricted type of machine, a "discrete deterministic device" that can blindly follow some instructions.
  2. Any computer program can be embedded directly in computer hardware. Also, a computer program can be coded in any general purpose language such as general purpose hardware description language.
  • 3
    This is a complex and controversial topic. The Supreme Court is currently co discerning a case that might clarify things.
    – George White
    Commented Apr 23, 2014 at 15:50
  • One thing for sure, software is covered by copyright.
    – henke37
    Commented Aug 11, 2014 at 19:06
  • In which jurisdictions, as there are many different views.
    – arober11
    Commented Oct 19, 2015 at 1:57

4 Answers 4


Software can be protected by copyright law and patent law.

Under copyright law, software or the computer program is usually regarded as a "literary work". The unique characteristic of computer programs that differentiate them from other literary works is their dynamic essence, which usually includes algorithms or mathematical formulae's or logical condition etc, which manipulate symbols producing certain virtual or physical effects,etc. Copyright law provides protection to the software or the computer program´s expression and not the functional aspects of the software. Hence, computer programs differ from other copyright-able subject matter, in the sense that the text is not the most important aspect; rather the importance lies in the functions established by the program code.

Patent: Patent is becoming the method of protection for computer program's, software or E-commerce website. The Patent Act offers patent protection to product or process (if they satisfy various requirements of patentability) as long as they do not fall under non-patentable subject matter. Any method/process relating to non-technological field shall not be considered patentable. Further, software protected under the patents act should satisfy the patentability criteria.In order to meet patent-ability criteria, the software or the computer program executed on a computer processor must be novel or confers a new solution to a technical problem, and non- obvious to one of "ordinary skill" in the field of invention.

Regarding exclusion of patenting softwares:The Patent office have been granting patents to computer implemented inventions or software related inventions based on the technical solution provided to the technical problem, generally known as the technical character. So one of the keys for successfully having a patent granted for software innovation lies in the ability to present the software innovation in such a way that the it includes technical character.

If a computer program or software protected under copyright law protects an original work in the tangible fixed form in which it has been set down, whereas a computer program or software protected under the patent law protects the creation of inventive concepts as well as their practice.

For further details please check the link below http://www.invntree.com/blogs/are-software-inventions-patentable-india http://www.invntree.com/blogs/disclosure-requirements-for-software-patents

  • (thank you), however...what your answer cannot clarify is how could an legislation that claims that mathematical objects fails in patent-ability criteria consider software i.e. a composition of mathematical objects (read definition about) to meet patent-ability criteria. o.O
    – rdllopes
    Commented Feb 5, 2015 at 16:14

Generally a software is protected under the copyright law. And a copyright protection is much simple rather than filing a patent. A copyright is automatically granted to creator of the software. But a copyright protection extends only to expressions, and not to ideas, procedures, methods of operation or mathematical concepts as such and if you want protection in the underlying ideas in the computer program, you can file for a patent.

However, you have to weigh your product if it is really worth patenting or you would settle for copyright protection. Patent application is a complex process and only few software patents are granted but it is really useful if your program has a considerable commercial value.


As an update, you may want to consider the decisions in the following three recent (late 2014) court cases on the eligibility of "software" patents:

  1. Alice v. CLS Bank (Supreme Court)
  2. DDR Holdings v. Hotels.com (Federal Circuit)
  3. Ultramercial v. Hulu (Federal Circuit)

There isn't a simple meaningful answer.


It's a complicated answer, but what's important to understand is that software-related inventions ARE indeed patentable in the U.S. The "how" of patenting software-related inventions has changed substantially in recent years and is still evolving, so it's critical to work with a patent attorney, especially for technology in this field.

This post discusses the patentability of software and software related inventions in more detail:


Copyright does protect software, but only the exact code or something very similar and based on the original code. As you can imagine, copyright is therefore relatively weak protection for software-related inventions.

In contrast, patents protect the functionality of software-related inventions, which gives broad protection.

  • this forum is about questions and answers not about "its complicated,hire an attorney. like me." as reviews reveal, your promoted book also recommends hiring an attorney on every other page.
    – citykid
    Commented Apr 17, 2021 at 7:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .