La definición de software libre establece los criterios que un programa debe cumplir para ser considerado libre, aunque ocasionalmente se modifica esta definición para clarificarla o resolver problemas. El software libre respeta la libertad de los usuarios al permitirles ejecutar, copiar, distribuir, estudiar, modificar y mejorar el software, tratándose de una cuestión de libertad y no de precio.