A software patent is a patent that protects computer software. Software patents can cover a stand-alone computer software program, a mobile device app, or software that is integrated into a mechanical device. In order for software to be patentable, it must meet the same requirements of any other type of invention. In particular, a software invention must be new, useful, and non-obvious. A fourth requirement is that the invention be of a type that is eligible for patent protection. While this last requirement applies to all inventions, the question of whether an invention is eligible is much more impactful to software inventions than it is to other types of inventions.
The following is an introduction to software patents. This page also serves as an index to the other writings on software patents that are found on the Bitlaw website. This information is organized as follows:
Software is Patentable
It is now well established that many types of computer software, including mobile apps, can be protected by patents in the United States. But this was not always the case. The U.S. Patent and Trademark Office (the PTO) originally decided in the 1960s that computer programs were generally unpatentable. The Supreme Court considered the issue three times in the 1970s and 80s, first seeming to agree with the PTO that most software was unpatentable but then softening their position. By the 1990s, it was assumed that any software that produced a useful result was eligible as long as it met the other patent requirements. But in the 2000s, culminating in the 2014 Alice decision, the courts dialed back on the type of software that was eligible. At the current time, software is patentable, but only that software that not directed to an abstract idea. You can read more about this history on:
Under the Alice decision of the Supreme Court, and the more recent decisions by the Federal Circuit, it is clear that software is eligible for patent protection, but not all software is eligible. In order to be eligible, the application seeking protection for a software invention must claim the invention appropriately. For example, while it is true that software per se is not eligible, this restriction is easily overcome by drafting the claims of the application to cover a method that performs the steps of the software, or a computer system that executes the software. In addition, the software must not be ineligible because it is solely directed to an abstract idea. Software that is claimed as only an improvement to a method of performing a business task, for example, might be considered ineligible for patent protection, but software that is claimed as a technique that improves the functioning of the computer would be eligible, even if that improvement is primarily useful for improving the method for performing that business task. This current state of patent eligibility is described in general at:
The determination of which software is appropriate for patent protection is described in more detail below.
Should you protect software with a patent?
Patents on software inventions are no different than other patents. As such, obtaining a patent grants certain rights to the patent holder, namely the exclusive right to make, use, sell, and import your invention. These right are described in detail here:
But you obtain those rights only after a significant cost, and only after the application is examined and the patent office has agreed that a patent should be granted on your invention. Before the patent issues, you have the right to publicly state that your software is "patent pending." The weighing of the costs and time delays for filing a patent application against the benefits of patent pending and the rights obtained when a patent issues are discussed here:
Patent protection is not the only way to protect computer software. Copyright protection is automatically granted to software upon the creation and "fixing" (saving to disk) of any new code. But the rights granted under copyright law are limited to copying of the computer code. Copyright law never protects the underlying idea of the software. In other words, if someone views your software and "steals your idea" by writing new code from scratch that performs the same function, copyright law will not stop them. But a software patent might. See the following discussion for more information:
Is my software invention appropriate for patent protection?
In order for a software invention to be patentable, it must meet the same requirements that any other invention must meet. In other words, your software must be new, useful, and non-obvious:
In addition, however, software must not be ineligible because it is solely directed to an abstract idea. Whether or not software is eligible for patent protection is, unfortunately, a complicated issue. While the statutory basis for this requirement is Section 101 of the Patent Act (hence, this is frequently referred to as the "Section 101" issue), the actual statute does not describe this issue at all. Rather, courts have created this law and the test for patent eligibility, which makes interpreting this issue much more difficult. The Bitlaw website contains a great deal of information on this topic, including the following web pages:
- Section 101 Index (an index to all related materials on Bitlaw),
- What is a Section 101 Rejection (a good introduction to the issue), and
- MPEP and Section 101 (an intro to the PTO's current approach to this issue),
- Overcoming a Section 101 Rejection (how to respond to the patent office on this issue)
Even if your software is new, useful, and non-obvious, and it is eligible under Section 101, that does not necessarily mean that it is appropriate for you to apply for patent protection. Patents are expensive, and if your goal is to share your software with the world, such as by licensing it as open-source software or including it into an existing open-source project, patent protection can make little sense. In addition, if your software has no commercial value, it may not make financial sense to file for patent protection. We have written some information on valuing your invention here:
How do I protect software with a patent?
If you want to protect your software through the patent system, you must submit a patent application. Your application must describe your invention in detail (the specification), should include drawings, and must truthfully name the inventors of the invention. These aspects of the application are described here:
You may wonder whether you have developed your software sufficiently to file a patent application. It is important to file your application early, as the United States is now a first-to-file country. This means that if two people separately invent the same invention, the patent for the invention will be granted to the person that is the first to file their patent application. In addition, you must file your patent application with one year of your first public disclosure or offer to sell your invention. You do not need to have created your software invention before you file your patent application, but you must know that the invention can be implemented and how it can be done. These issues are discussed here:
Contrary to popular belief, it is not necessary to search your software invention before you file a patent application. In some cases, it may even be wise to skip doing a patentability search. You should read the following to understand better when doing a search makes sense, and when it can be skipped:
Patent applications are expensive, with software applications typically costing between $10,000 and $15,000. In addition, the cost of filing the application is not the end of the costs, as more thousands will have to be spend before the patent issues. The breakdown of these costs is presented here:
In many cases, it makes sense to delay the costs by filing a provisional application, which is described in the next section.
Provisional patents on computer software
Because the cost of drafting a non-provisional utility patent application is so high, it frequently makes sense to start the patent process by filing a provisional patent application. A provisional application by itself will never become a patent. Rather, provisional applications act as placeholders. Within one year, you will replace your provisional application with a (full-cost) non-provisional application. The job of the provisional application is to (inexpensively) establish a first filing date in the patent process. This is described here:
Provisional applications don't actually save any money in the patent process since the provisional application has to be replaced by a full-cost application within one year. Nonetheless, a provisional application can be an extremely useful way to delay the high cost of drafting a non-provisional application. During this one-year period, inventors can produce and market their invention, and develop a much better understanding of whether the invention will be profitable before the full-cost of the patent application is incurred. This advantage is discussed in more detail here:
We can help
I have been helping inventors obtain patents on their computer-related inventions for almost thirty years, and I would be happy to answer any questions you may have on software patents.