En las décadas de 1970 y 1980 se llevaron a cabo amplios debates para saber si los programas informáticos debían protegerse mediante el sistema de derecho de autor, el sistema de patentes o un sistema sui generis. Como resultado de estos debates, se llegó a un principio generalmente aceptado, según el cual, los programas informáticos deberían estar protegidos por el derecho de autor, mientras que los aparatos que usaran programas informáticos o inventos relacionados con este tipo de programas deberían estar protegidos por patente.
El derecho de patentes y el derecho de autor ofrecen distintos tipos de protección. La protección por derecho de autor abarca únicamente las expresiones pero no las ideas, procedimientos, métodos de operación o conceptos matemáticos en sí, mientras que una patente es un derecho exclusivo concedido para una invención, que es el producto o proceso que ofrece una nueva manera de hacer algo o una nueva solución técnica para un problema. En los países parte en el Convenio de Berna para la Protección de las Obras Literarias y Artísticas (el Convenio de Berna), la protección por derecho de autor no requiere ninguna formalidad, lo cual significa que la protección no depende del cumplimiento de formalidad alguna, tal como un registro o un depósito de copias. Una patente se suele conceder después de que un organismo gubernamental ha llevado a cabo todo un procedimiento de examen.
La protección por derecho de autor de los programas informáticos existe en la mayoría de los países y ha quedado armonizada en tratados internacionales a tal efecto. La legislación relativa a la patentabilidad de los programas informáticos no está aún armonizada a escala internacional, si bien ha sido reconocida en algunos países, mientras que en otros, se han preferido enfoques que reconocen las invenciones asistidas por programas informáticos.