One problem with our patent system is that it is actually somewhat difficult to figure out whether a patent is still in force. There are a few steps that get usually you to the answer:
- If it is a design patent, then the patent remains in force for 14-years from the patent issue date. Case closed.
The following steps apply to Utility Patents in the US. The same rules apply to all utility patents regardless of whether the subject is a software patent or something else.
- If the patent application was filed on or after June 8, 1995, the starting patent term is 20 years. This accounts for the vast majority of patents in force today. The 20 year term is calculated based upon the priority filing date, not counting provisional application or the original filing in a foreign country. Patents that issued before the 1995 changeover have a term of 17 years from the patent issuance date. Patents that were filed before the 1995 date but issued afterwards get the longer of the two terms.
- Most patents issued in the past decade have an added term adjustment (PTA) due to delays in examination at the USPTO. This adjustment can be found on the face of the patent in terms of the number of days that should be added to the patent term.
- To stay in force for the entire 20 year term, utility patent owners must pay three maintenance fees. If one of those fees is not paid then the patent will be seen as expired and no longer enforceable. Most patentees do not pay all three fees - thus most patents expire before completion of the 20 year term.
- When a patent owner has a family of related patents, the USPTO often requires that the patentee file a "terminal disclaimer" that (partially) ensures that the patents all expire at the same time. These terminal disclaimers sometimes impact the patent term, but they can only be found by digging through the file history.
- There are a few other ways to extend the effective patent term, but most of these are related to pharmaceutical and other medical related patents rather than software.
If you follow these steps then you'll get to the right answer in the vast majority of cases.