En informática, el software (término inglés, en castellano también soporte lógico) es el conjunto de instrucciones lógicas y programas informáticos que permiten a un ordenador realizar tareas, desde las más básicas, como mostrar una letra en pantalla, hasta las más complejas, como traducir un texto o pilotar un avión. Se opone al hardware, el conjunto de componentes físicos de la máquina. Una forma sencilla de distinguirlos es que el hardware se puede tocar y el software no: es información, y por eso se puede copiar sin coste, transmitir por una red y cambiar sin tocar el aparato. El término castellano equivalente se explica en el artículo sobre el soporte lógico.
Dentro del software se distinguen tres grandes grupos. El software de sistema (system software) gestiona los recursos del ordenador y ofrece servicios a los demás programas; su ejemplo principal es el sistema operativo, junto con los controladores de los dispositivos. El software de aplicación (application software), o simplemente aplicaciones, resuelve las tareas concretas que necesita el usuario: procesadores de textos, hojas de cálculo, navegadores, programas de contabilidad o videojuegos. El software de programación (programming software) reúne las herramientas con las que se crea el propio software, como los compiladores, los editores de código y los depuradores.
También se clasifica por su licencia, es decir, por lo que el usuario puede hacer con él. El software propietario o privativo (proprietary software) solo puede usarse en las condiciones que fija su fabricante, que normalmente no entrega el código fuente. El software libre permite usarlo, estudiarlo, modificarlo y redistribuirlo. El freeware es gratuito pero no necesariamente libre, y el shareware se puede probar gratis durante un tiempo antes de pagar. Hoy es cada vez más frecuente el software como servicio (software as a service, SaaS), que no se instala en el ordenador del usuario sino que se usa a través del navegador, pagando una suscripción.
Construir software grande resultó ser mucho más difícil de lo que se pensaba. En 1968, una conferencia de la OTAN en Garmisch, Alemania, habló abiertamente de una crisis del software (software crisis): los proyectos se retrasaban, costaban el doble de lo previsto y fallaban. De ahí nació la ingeniería del software (software engineering), un término que Margaret Hamilton, responsable del software de vuelo del programa Apolo, defendió en esos mismos años para que la programación se tomara con el mismo rigor que las demás ingenierías. Buena parte del software actual se compone de piezas escritas por otros, el llamado software de terceros.
Equipo informático – Interfaz de usuario – Informática de gestión – Capa de abstracción