El software libre es aquel cuyos usuarios tienen libertad sobre el producto adquirido y pueden usarlo, copiarlo, modificarlo y redistribuirlo libremente. Los tipos de software incluyen aplicaciones, middleware, lenguajes de programación, software de sistema y controladores de dispositivos. El software se clasifica en software de sistema, de programación y de aplicación.