Muchas veces me habréis oído decir que sí, que el software libre en un ordenador de escritorio ofrece múltiples ventajas al usuario (seguridad, fiabilidad, multiplataforma, compatibilidad…) pero su verdadera fuerza reside, valga la redundancia, en la libertad.

Si saltamos a la administración pública o la docencia, la libertad se hace imprescindible. Primero, porque un estado no puede depender de que una empresa extranjera suministre parches para servidores críticos, y además un gobierno no puede obligar a sus ciudadanos a comprar un sistema operativo y un software determinado para comunicarse con él (IE6, ActiveX, Word, .EXEs)

¿Por qué refloto este tema? Porque a veces a los talibanes del SL se nos escapa la verdadera naturaleza del software libre, aquella que predicaba Stallman y que dio comienzo al proyecto GNU: la posibilidad para los programadores de cambiar el código del software.

Tan sólo llevo tres semanas trabajando en software “empresarial” —lo llamaremos así aunque no estoy en una empresa propiamente dicha— y que debe ejecutarse en servidores de producción, y he tenido que cambiar mi entorno de desarrollo y usar herramientas nuevas. A veces hago broma con que “cada día descubro un nuevo bug de Java”, porque en apenas dos semanas he tenido que aprender a usar JBoss y una cosa llamada BioMoby para programar Web services sobre ellos y cada día me encuentro con unos follones rarísimos, descubriendo incompatibilidades entre versiones de Java y versiones de JBoss, bugs raros y sus “workarounds” de perro viejo.

Después de salir de la universidad uno se da cuenta de que sabe programar fantásticamente —hoy me han dicho que “este código es perfecto”, lo cual es de agradecer— pero no conoce ni al 1% las herramientas disponibles. Tras 6 años programando en Java me han puesto delante un JBoss y me he tenido que pelear con streams y librerías de terceros sin documentar. Sin embargo, aunque algunos aseguran que “en la universidad no os enseñan nada”, sin los conocimientos de base que he aprendido no hubiese podido ponerme a trabajar al 100% en 15 días con unas herramientas que ni había oído nombrar.

Pero volviendo al tema original, que me estoy desviando demasiado, la verdadera esencia de todas estas herramientas es que son software libre. Por ejempo, Java lo desarrolló Sun Microsystems y está muy bien parido (pese a todos sus defectos), pero el servidor de aplicaciones JBoss es software libre; Netbeans y Eclipse también lo son y BioMoby —aquí quería llegar— también lo es.

BioMoby es una colección de servicios web para ejecutar tareas biológicas. Estos servicios se ejecutan en máquinas dispersas por todo el mundo y están programados por personas diferentes, pero gracias a un servidor central (yellow pages) pueden conectarse fácilmente. No están muy bien documentados, pero el código fuente está disponible para su descarga y se puede analizar sin demasiada dificultad. Y, pese a que la versión Java de Biomoby se pasa la orientación a objetos ligeramente por el culo —sus creadores originales son biólogos acustumbrados a trabajar en Perl—, cualquier persona del mundo puede ejecutar una alineación de secuencia de ADN o detectar factores de transcripción tan sólo ejecutando un servicio remoto.

¿Cuál es la belleza de todo esto? Pues que una serie de biólogos e informáticos se pusieron de acuerdo para programar una serie de servicios que no tienen nada que ver con la informática pura y compartir su conocimiento. Da igual que estén mejor o peor programados, que sean rápidos o lentos, que los haya programado Pepito o Juanito; la verdadera esencia es que la informática, mediante el software libre, permite la transmisión de conocimiento y la libre modificación de estos programas para beneficio de toda la humanidad.

Y de esto, amigos, trata el software libre.