Decimos que un programa es software libre cuando su licencia no restringe nuestra libertad de: Usar el programa para cualquier proposito estudiar el programa y adaptarlo a nuestras necesidades, distribuir copias del programa, mejorar el programa, y compartir las mejoras con otros.
Para que sea posible estudiar y mejorar el programa, los programas libres no sólo se distribuyen en lenguaje ejecutable: los usuarios también tienen a su alcance el programa expresado en lenguaje de programación. Las personas que se dedican a la programación llaman a éste el “código fuente”, del programa.