What is a software patent?

A software patent is a patent directed to a software program or an algorithm implemented in or using a computer.

When do you need a software patent?

If your product or service involves software, you should explore the possibility of filing for and obtaining a software patent. While copyright can protect your actual code from being copied; copyrights cannot prevent others from independently (i.e., without copying) developing the same software. On the other hand, a patent can permit you to exclude others from practicing the functional aspects of the software claimed in your patent, even if the other party independently developed the software. See our corresponding article on patents.

The federal government grants patents on new, useful and non-obvious inventions. While features and functions of your software may be new and non-obvious, the biggest hurdle to obtaining patent protection can be overcoming the useful requirement, that is, whether your new and nonobvious software is even eligible for a patent.

You may hear people say that software is not patentable. While the legal landscape related to software patents has changed dramatically over the past few years and it is significantly more difficult to obtain a software patent now than it was a few years ago, it is still possible. And, it also appears the trend is shifting towards allowing more patent protection for software.

What types of software are patentable?

Generally, the more technical your software innovation is, the more likely it is to be patentable. For example, if your software uses a general purpose computer to perform tasks that a person could do with a pen and paper, then the software probably is not patentable. However, if your software produces a technical effect or technical improvement over existing computer systems, for example, it creates new structures in memory, it creates a new type of database structure or improves the overall function and performance of the computer, then your software could be patentable.

How do I figure out if my software is patentable?

In order to determine if your software is eligible for patent protection, you should speak with a patent attorney who has experience in drafting and obtaining patents related to software. Before you meet with your attorney, you should meet with your coders and/or engineers to determine which features in your software are (1) the most important from a business perspective and (2) those that were the most difficult to successfully implement. Discuss those features with your attorney so that he or she can determine if they amount to a sufficient technical improvement to warrant filing a patent application. See our corresponding article on patent protection strategy for more details on the costs and process for preparing and obtaining a patent.  

What are alternatives to a software patent?

Software can be protected with copyright and trade secret. As noted above, copyright will protect you from someone copying your actual code. However, you will not be protected if that person independently develops his or her own code that performs similar functions. More details on copyright protection can be found in our corresponding blog post on copyrights. Trade secrets can protect the structure and methodology of your software, but will require you to implement confidentially procedures to keep the material secret. Once the information you are attempting to protect with a trade secret becomes public, it will no longer be protected by trade secret law. More details on trade secret protection can be found in our corresponding article on trade secrets.

What next?

Once you have made a determination that you want to proceed with filing a patent application, you will work with your patent attorney to prepare the application for filing. Details on this process can be found in our corresponding article on patent protection strategy.