Determining whether software is patentable involves several criteria. The software must be novel, non-obvious, and useful. Additionally, it must meet the subject matter eligibility requirements set forth by patent offices, which often means the software must be tied to a particular machine or result in a transformation of an article. Entrepreneurs should conduct a thorough market research and prior art search to ensure their software invention is unique.