Un brevetto software è un brevetto applicato «a ogni prestazione di un computer realizzata per mezzo di un programma per elaboratore».[1]
Globalmente la situazione è piuttosto complessa. Non esiste, infatti, una definizione legale comune tra i vari Paesi. Per esempio in Europa viene negata la registrazione di «programmi per elaboratore in quanto tali»[2]: per ottemperare ai requisiti di brevettabilità previsti dall'EPO (European Patent Organisation) è necessario che il programma apporti un «Ulteriore Effetto Tecnico» tra hardware e software.[3] La legge statunitense, invece, si limita a escludere la brevettabilità di "idee astratte" negando solo la registrazione di alcuni software.
Il diverso approccio alla concessione dei brevetti software ha portato a un dibattito controverso. Le questioni importanti sui brevetti software sono: