En computación, todo programa o aplicación, programado para realizar tareas específicas.
La palabra "software" es un contraste de "hardware", el software se ejecuta dentro el hardware.
El software consiste en un código en un lenguaje máquina específico para un procesador individual. El código es una secuencia de instrucciones ordenadas que cambian el estado del hardware de una computadora.
El software se suele escribir en un lenguaje de programación de alto nivel, que es más sencillo de escribir (pues es más cercano al lenguaje natural humano), pero debe convertirse a lenguaje máquina para ser ejecutado.
El término "software" fue usado por primera vez por John W. Tukey en 1957.
El software puede distinguirse en tres categorías: software de sistema, software de programación y aplicación de software. De todas maneras esta distinción es arbitraria y muchas veces un software puede caer un varias categorías.
- Software de sistema: ayuda a funcionar al hardware y a la computadora. Incluye el sistema operativo, controladores de dispositivos, herramientas de diagnóstico, servidores, sistema de ventanas, utilidades y más. Su propósito es evitar lo más posible los detalles complejos de la computación, especialmente la memoria y el hardware.
- Software de programación: provee herramientas de asistencia al programador. Incluye editores de texto, compiladores, intérprete de instrucciones, enlazadores, debuggers, etc.
- Software de aplicación: permite a los usuarios finales hacer determinadas tareas. Algunos software de aplicación son los navegadores, editores de texto, editores gráficos, antivirus, mensajeros, etc.
El software se crea a través de la programación.
El software puede clasificarse según su licencia y/o forma de distribución:
-Software Propietario: Antes de poder utilizar este tipo de software se debe pagar por el. Cuando se adquiere una licencia de uso de software propietario, normalmente se tiene derecho a utilizarlo en un solo computador y a realizar una copia de respaldo. En este caso la redistribución o copia para otros propósitos no es permitida.
-Software Shareware o de Evaluación: Es un tipo particular de software propietario, sin embargo por la diferencia en su forma de distribución y por los efectos que su uso ocasiona, puede considerarse como una clase aparte.
Es de libre distribución o copia,por lo que se puede usar con el permiso del autor,durante un límite de tiempo,si quieres usarlo despues de ese tiempo debes pagar. Este tipo de software es distribuido por autores individuales y pequeñas empresas que quieren dar a conocer sus productos.
-Software de Demostración: El software de demostración o como se acostumbra a decir "software demo", es similar al software shareware por la forma en que se distribuye pero en esencia es sólo software propietario limitado que se distribuye con fines netamente comerciales.Sirve para mostrar cómo es y cómo funciona,pudiendo así ver el mismo sin comprarlo,su funcionamiento es muy límítado.
-Software Libre: Permite a los usuarios que lo consiguen trabajar con toda libertad sobre él,pudiendo copiarlo,estudiarlo,modificarlo y distribuirlo de nuevo una vez modificado.
Esto no significa que sea gratis,sino que lo es el uso que puedes darle una vez adquirido gratuitamente o pagando.
-Software de Dominio Público: El software de dominio público (public domain software), es software libre que tiene como particularidad la ausencia de Copyright, es decir, es software libre sin derechos de autor. En este caso los autores renuncian a todos los derechos que les puedan corresponder.
-Software Semilibre: El software semilibre es software que no es libre, pero viene con autorización para particulares de usar, copiar, distribuir y modificar (incluyendo la distribución de versiones modificadas) sin fines de lucro.