El software libre se define por su tipo de licenciamiento, el cual permite al usuario ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. Para ser considerado software libre, debe cumplir con cuatro libertades: ejecutar el programa en cualquier lugar y propósito, acceder al código fuente, redistribuirlo, y publicar mejoras al código fuente. En contraste, el software privativo restringe una o más de estas libertades al no proveer acceso al código fuente.