domingo, 4 de marzo de 2007

Software Libre

Qué es Software Libre?
El Software Libre respeta la libertad del usuario. Usualmente tenemos Software Privativo, que
quita la libertad del usuario, lo mantiene en estado de división e impotencia. De división
porque cada uno tiene prohibido compartir con los demás su software, y de impotencia porque
ningún usuario puede cambiar el programa ni averiguar lo que verdaderamente hace.
El usuario de Software Libre dispone de las cuatro libertades esenciales, que definen al
Software Libre:

0: libertad de usar el programa como quieras.
1: libertad de ayudarte, estudiar el código fuente y cambiarlo para hacer lo que quieras.
2: libertad de ayudar a tu prójimo, libertad de distribuir copias a los demás.
3: libertad de ayudar a construir tu comunidad, libertad de publicar una versión cambiada
para uso de la comunidad.

Con estas cuatro libertades esenciales, el software es libre. Si alguna falta, entonces no se
trata de software libre, y no respeta lo suficiente la libertad del usuario, y por eso no se debe
usar; porque lo que quita la libertad no es aceptable.

¿Por qué estas cuatro libertades son esenciales?

La libertad 0 es esencial para tener el control de lo que hace tu computadora. Existen
programas que destruyen tu sistema cuando los usas, y así no eres libre, debes poder usarlo
como quieras. Pero la libertad 0 no alcanza, ya que sólo te da libertad para hacer lo que el
desarrollador ha escrito, lo que no es mucha libertad. Se necesita la libertad de poder cambiar
el código fuente, que es la libertad 1, y que requiere que dispongas del código fuente y los
diseños de tu software. Sin esa libertad no sabes realmente qué hace tu computadora. Sabes
que pueden existir funcionalidades “malignas” en el programa, que no se desarrollan para
servir al usuario sino para controlarlo, restringirlo, molestarlo (como publicidad no
solicitada), cambiar la configuración de tu equipo, etc. Incluso podría existir una
funcionalidad de “no funcionar” bajo ciertas condiciones. O puertas traseras que habilitan
accesos no deseados. O podría suceder que ante una petición de actualización, se te entregue
una versión específicamente desarrollada para ti, sin que te enteres.
Claro que existen quienes intentar escribir programas útiles, la mayoría de los desarrolladores,
pero lamentablemente están sujetos a cometer errores, y esto sin importar si se trata de
software libre o privativo. La importancia de contar con la libertad 1 es que no se te imponen
las decisiones de los desarrolladores y puedes cambiar el programa, de ser necesario.
Sin embargo, la libertad 1 aún no basta, porque existen millones de usuarios que no saben
programar, o incluso, no todos los programadores están en capacidad técnica de modificar
cualquier programa, o es demasiado trabajo para uno sólo. Por ello, para tener de verdad el
control, debemos poder hacerlo en comunidad, hacerlo juntos. Por ello, la libertad 3 deriva en

pueden hacerlo en la misma dirección, dispuestos a resolver un problema o necesidad que se
ha compartido, y al final tendremos mucho progreso gracias al aporte de muchos
programadores. La mejor constancia de esta idea es el actual nivel de desarrollo de Internet.
Por otra parte, si existen millones de usuarios, al menos algunos sabrán programar, o por lo
menos, podrán cooperar en la conformación de organizaciones que gestionen la contratación
de los desarrolladores adecuados. Muchas personas aportando un poco de dinero, dándole a laorganización capacidad de elegir en un mercado libre.
Así, las libertades 0, 1 y 3 te dan la capacidad de decidir qué hará tu computadora.
Pero la libertad 2 se necesita por otra razón más esencial aún: para vivir una vida ética.
Si usas software sin la libertad 2, que consiste en la capacidad de compartir copias del
software, estás frente a la disyuntiva de no poder ayudar a tu prójimo. Así te encuentras frente
a un dilema moral cuando alguien te solicita ayuda consistente en proveer una copia del
software que necesita: o le entregas una copia y violas el contrato de licencia que te loprohíbe, o no le entregas una copia y no le ayudas.