El Sofware Libre necesita herramientas libres

Benjamin Mako Hill <mako@atdot.cc>

June 4, 2010

Traducido por Marcos Manoni. Original (en Inglés), y otras traducciones disponible en http://mako.cc/writing/hill-free_tools.html.

En la última década, los desarrolladores de software libre han sido reiteradamente tentados por las herramientas de desarrollo que ofrecen la capacidad de construir Software Libre más eficiente o poderosamente.

El único costo, nos dicen, es que las herramientas mismas no son libres o se ejecutan como servicios de red con código que no podemos ver, copiar, o ejecutar nosotros mismos. Recurriendo a estas herramientas y servicios - servicios como BitKeeper, SourceForge, Google Code y GitHub - los desarrolladores de software libre han hecho decisiones del tipo "el fin justifica los medios" que comercian la libertad tanto de sus comunidades de desarrolladores como la de sus usuarios. Estas decisiones de adoptar herramientas de desarrollo no libres y privadas, minan nuestra credibilidad en la defensa de la libertad del software y comprometen nuestra libertad, y la de nuestros usuarios, de maneras que debemos rechazar.

En 2002, Linus Torvalds anunció que el núcleo Linux se movería al sistema distribuido de control de versiones BitKeeper. Si bien la decisión generó mucha alarma y debate, BitKeeper permitió a los desarrolladores del kernel trabajar de forma distribuída de una manera que, en ese entónces, no estaba soportada por herramientas de Software Llibre - algunos desarrolladores de Linux decidieron que valía la pena intercambiar los beneficios por la libertad de los desarrolladores. Tres años más tarde los escépticos fueron reivindicados cuando el propietario de BitKeeper, Larry McVoy, revocó varias licencias gratis de BitKeeper a desarrolladores del kernel luego de que Andrew Tridgell intentara escribir un reemplazo libre para BitKeeper. Los desarrolladores del kernel se vieron obligados a escribir su propio reemplazo de Software Libre: el proyecto ahora conocido como Git.

Por supuesto, la relacion de software libre con herramientas de desarrollo no libres es mucho mayor que BitKeeper. El código fuente de Sourceforge, un servicio de soporte de desarrollo de Software Libre, estuvo disponible para sus usuarios, pero sus autores han vuelto a un modelo completamente cerrado. Mientras SourceForge se construye utilizando software libre, sus usuarios interactuan con el software a través de la web. Dado que los usuarios nunca tienen copia del software de SourceForge, nunca pueden exigir el codigo fuente. Proyectos similares como Tigris.org de CollabNet, "Hosting de Proyectos de Codigo Abierto" de Google Code, y GitHub, cada uno con propósitos similares, han mantenido su código igualmente fuera de alcance. Sus servicios se proporcionan a menudo sin cargos y se promueven para el desarrollo de Software Libre, pero este compromiso no se extiende a su propio software que ejecuta las plataformas de desarrollo. El código fuente para cada uno de estos sistemas se mantiene privado e inmodificable para los desarrolladores que utilizan los servicios.

Estas herramientas de desarrollo no libres presentan un dilema para muchos desarrolladores de Software Libre. El objetivo de muchas de estas herramientas es, a través de desarrollo de software libre más eficiente, obtener más Software Libre y más libertad. CollabNet, Google y GitHub dicen querer que el software libre triunfe y dicen que quieren ayudarlo. Sin embargo, por varias razones estas empresas optan por apoyar la libertad del software a través de medios que estan menos de acuerdo con la ética del Software Libre de las que la tratan de crear. El resultado es que los desarrolladores son desfavorecidos. La libertad del software del código que estos hackers producen está sujeta a una exclusividad inaceptable.

En primer lugar, el uso de herramientas no libres envía un mensaje inaceptable para los usuarios del software libre producido. "La libertad del software es importante para ustedes como usuarios", los desarrolladores parecen decir, "pero no para nosotros". Tal comportamiento socava la eficacia básica del fuerte compromiso ético en el corazón del movimiento del software libre. Los que ya nos comprometimos con el Software Libre, debemos demostrar que podemos tener éxito - y prosperar - usando Software Libre. Debemos apoyar alternativas libres a los sistemas privativos como Savane, que puede sustituir a SourceForge o a Google Code y corre GNU Savannah, o Gitorious que puede sustituir a GitHub - usándolos y mejorándolos en las áreas donde se queden cortos.

En segundo lugar, debemos reconocer que, en adelante, el software que producimos es solo tan libre como el software del que depende para su uso, su distribución y su evolución.

La licencia GNU GPL y el código fuente tienen poco sentido para un usuario que intenta modificar un programa si no tiene libre acceso al software necesario para hacer esa modificación. No es sólo la libertad de los desarrolladores lo que está en juego sino también, eventualmente, la de sus usuarios y la de todos los futuros desarrolladores "downstream".

Aunque las herramientas de desarrollo privativas puedan ayudar a los desarrolladores de Software Libre a crear más Software Libre en el corto plazo, lo hacen a un costo inaceptable. En la controvertida área del software privado y los servicios de red, los desarrolladores de Software Libre deberían pecar de "demasiada" libertad. Comprometer nuestros principios intentando alcanzar más libertad es contraproducente, inestable y, en última instancia, injusto para nuestros usuarios y para la amplia comunidad de desarrollo de software libre.

Así como los primeros mantenedores de GNU primero se centraron en la creación de herramientas libres para la creación de software libre, debemos asegurarnos de que podemos producir software libremente y con herramientas inequívocamente libres. Si fracasamos en esto tendremos software que es, indirectamente, menos libre. Debemos evitar el uso de herramientas que no nos permitan las libertades que tratamos de proporcionar a nuestros usuarios en el desarrollo de su software y debemos presionar a los productores de nuestras herramientas de desarrollo. El software libre no ha tenido éxito comprometiendo nuestros principios. No vamos a estar bien servidos, técnica, pragmática o éticamente, poniendo en peligro la libertad de las herramientas que utilizamos para construir un mundo libre.