Ohjelmistopatentti on laillinen patentti laitteelle tai koneelle, joka käyttää ohjelmistoa tietyllä tavalla tietyn tehtävän saavuttamiseksi. Tämäntyyppinen patentti myöntää kyseisen koneen keksijälle tai yritykselle, joka on käyttänyt häntä keksinnön kehittämiseen, omistusoikeuden koneen toimimiseen käytettyyn tiettyyn prosessiin. Tällaisesta patentista käydään paljon keskustelua ja kiistoja, usein siksi, että eri yrityksille myönnetään liian laajoja patentteja. Ohjelmistopatentin määrittäminen voi olla myös vaikeaa, koska ohjelmisto on myös suojattu tekijänoikeuslailla.
Yleensä patentti on tietyn laitteen tai keksinnön immateriaalioikeuden omistusmuoto, jonka avulla laitteen keksijä voi omistaa sen. Tämä ei viittaa tietyn mallin omistamiseen tai laitteen fyysiseen esitykseen, vaan pikemminkin omistukseen kyseisen laitteen käsitteestä ja sen toiminnasta. Jos joku luo uuden koneen, joka muuttaa ruuvit puuksi tai muiksi pinnoiksi tavalla, jota ei ole aiemmin kehitetty, hän voi hakea patenttia kyseiselle koneelle. Tämä on samanlainen tapa, jolla ohjelmistopatentti voidaan luoda, vaikka tällaisiin patenteihin liittyy tiettyjä ongelmia.
Patentti ei tyypillisesti kata algoritmia, aivan kuten patenttia ei voida myöntää tietylle sanalle tai ilmaukselle. Koska tietokoneohjelmistot koostuvat pääasiassa erilaisista algoritmeista ja matemaattisten käsitteiden ilmaisuista, keskustellaan kuitenkin siitä, kuinka ohjelmistopatentti voidaan näin ollen myöntää laillisesti. Ohjelmistopatentin laillisuuden perusteluna on, että tapa, jolla kyseinen ohjelmisto toimii koneessa, on patentin kohteena. Tältä osin patentin tarkoituksena on vain myöntää omistus siitä, miten laite käyttää ohjelmistoa toimiakseen, eikä itse ohjelmiston sisältämät koodirivit.
Tämä käsitys ohjelmistopatentin laillisuudesta on kuitenkin edelleen vakiintumassa, ja patenttien myöntämisestä eri maissa vastaavat henkilöt eivät välttämättä aina osoita tätä perustietoa. Tällaisten patenttien ymmärtämistä heikentää vain se, että ohjelmisto on myös suojattu tekijänoikeuslailla. Tekijänoikeus on teollis- ja tekijänoikeuksien omistusmuoto, joka kattaa taideteokset tai taiteelliset luomukset, ja tällaiset lait ovat määrittäneet ohjelmiston kirjallisuudeksi tällaisen omistuksen alaisuudessa. Ohjelmistopatenttien vastustajat väittävät, että tällaisten tekijänoikeuksien pitäisi riittää ohjelmistojen suojaamiseen. Tällaisten patenttien kannattajat väittävät kuitenkin, että ohjelmistopatentti on erillinen suojamuoto, joka kattaa todelliset toiminnot, joita tekijänoikeuslaki ei suojaa.