Un brevet de software este un brevet legal cu privire la un dispozitiv sau o mașină care utilizează software într-un anumit mod pentru a îndeplini o anumită sarcină. Acest tip de brevet acordă inventatorului acelei mașini sau companiei care l-a angajat să dezvolte invenția, dreptul de proprietate asupra anumitului proces utilizat pentru a face mașina să funcționeze. Există o mare dezbatere și controversă cu privire la acest tip de brevet, adesea din cauza brevetelor prea largi acordate diferitelor companii. Un brevet de software poate fi, de asemenea, dificil de definit cu ușurință, deoarece software-ul este, de asemenea, protejat de legea dreptului de autor.
În general, un brevet este o formă de proprietate intelectuală cu privire la un anumit dispozitiv sau invenție care permite inventatorului acelui dispozitiv să dețină proprietatea asupra acestuia. Aceasta nu se referă la proprietatea asupra unui anumit model sau la reprezentarea fizică a acelui dispozitiv, ci mai degrabă la proprietatea asupra conceptului acelui dispozitiv și asupra modului în care acesta funcționează. Dacă cineva creează o nouă mașină care transformă șuruburile în lemn sau alte suprafețe într-un mod care nu fusese dezvoltat anterior, atunci el sau ea ar putea solicita un brevet pentru acea mașină. Acest lucru este similar cu modul în care poate fi stabilit un brevet de software, deși există anumite probleme cu astfel de brevete.
Un brevet nu poate acoperi de obicei un algoritm, la fel ca un brevet nu poate fi acordat pentru un anumit cuvânt sau expresie. Deoarece software-ul de calculator constă în primul rând din diverși algoritmi și expresii ale conceptelor matematice, există totuși dezbateri cu privire la modul în care un brevet de software poate fi, prin urmare, acordat legal. Argumentul pentru legitimitatea unui brevet de software este că modul în care acel software funcționează într-o mașină este subiectul brevetului. În acest sens, brevetul servește doar pentru a acorda dreptul de proprietate asupra modului în care un dispozitiv utilizează software-ul pentru a funcționa, mai degrabă decât liniile de cod conținute în software-ul în sine.
Cu toate acestea, această înțelegere a legalității brevetului de software este încă în curs de stabilire, iar cei responsabili pentru acordarea brevetelor în diferite țări pot să nu demonstreze întotdeauna această înțelegere de bază. Înțelegerea unor astfel de brevete este încurcată și mai mult de faptul că software-ul este, de asemenea, protejat de legea drepturilor de autor. Un drept de autor este o formă de proprietate intelectuală care acoperă opere de artă sau creații artistice, iar astfel de legi au stabilit software-ul ca literatură sub această proprietate. Oponenții brevetelor de software susțin că astfel de drepturi de autor ar trebui să fie suficiente pentru protecția software-ului. Cei care sunt în favoarea unor astfel de brevete susțin însă că un brevet de software este o formă distinctă de protecție care acoperă funcții reale care nu sunt protejate de legea dreptului de autor.