Hay dos motivaciones para desarrollar un programa libre. Una es que no haya ningún programa que haga el trabajo. Desafortunadamente, aceptar el uso de un programa no-libre elimina esa motivación. La otra es el deseo de ser libre, que motiva a la gente a escribir reemplazos libres para los programas no-libres. En estos casos, ese motivo es el único que puede hacer el trabajo.