Software libre: la ventaja de la libertad

Tras probar la versión beta de Internet Explorer 7, muchos usuarios esbozaron una mueca de perplejidad: la mayoría de sus novedades estaban inspiradas en Mozilla Firefox. ¿Qué hacía la empresa de software más poderosa copiando las prestaciones de un proyecto construido por una fundación gracias al esfuerzo de cientos de programadores?

Software libre: la ventaja de la libertad

1 mayo 2006

No cabe duda: el software libre vive una época dorada. Aunque la mayoría de los usuarios no tienen ni idea de lo que es y representa, y suelen homologarlo erróneamente con «software gratis», corroborando un error que proviene del polisémico significado de la palabra free en lengua inglesa, las cifras no mienten: la mayoría de las tareas que requieren hoy en día alta disponibilidad, fiabilidad o rendimiento descansan sobre software libre. El funcionamiento de la propia web en su conjunto descansa sobre una maraña de cincuenta millones de servidores que, en su amplia mayoría (70% en febrero de 2006, según la compañía británica de servicios de Internet Netcraft), funcionan sobre software libre.
Asimismo, las mayores empresas de la Web, como Amazon, Yahoo!, AOL o la mismísima Google reposan sus infraestructuras sobre software libre, con la lógica excepción del propio sitio de Microsoft y de algún otro como eBay (aunque varias de sus propiedades importantes, como PayPal y Skype, corren sobre Apache).
Si tienes un proyecto para presentar a potenciales inversores, más te vale que funcione sobre software libre: es uno de los criterios que los capitalistas de riesgo miran con más atención. Administraciones de todo el mundo, preocupadas por la escalada de los costes de licencia y por la dependencia tecnológica de unos pocos proveedores, inician movimientos hacia él, y sazonan la geografía de distribuciones con nombres pintorescos. El nuevo «laptoponte» (http://laptop.org/), el ordenador portátil de cien dólares diseñado por el MIT Media Lab de Nicholas Negroponte, funciona con software libre, pretendiendo inculcar su uso entre cientos de miles de jóvenes que viven en países en vías de desarrollo.
Y en el entorno académico, los programas de universidades y escuelas de negocios de todo el mundo comienzan a incluir el software libre como parte de sus contenidos. Así, para que un graduado se considere preparado hoy en día en su salida al mercado de trabajo, debe saber qué hacer, al menos a nivel de usuario, ante un ordenador cargado con algún sabor de sistema operativo basado en software libre.
Por el momento, el único punto en el que la pujanza del software libre parece flaquear es en el dominio del usuario final, algo que las diferentes empresas implicadas parecen saber y pretenden resolver. Por ejemplo, la última versión de Novell Linux Desktop incorpora una interfaz de usuario completamente renovada, mientras que Canonical acaba de anunciar un retraso de seis semanas en la próxima versión de su distribución Ubuntu, con el objetivo de mejorar sus características de amigabilidad de cara a los usuarios.
Un antes…
Ante tanta pujanza, convendría plantearse de dónde proviene, específicamente, la energía que está alimentando semejante derroche creativo, esa implicación de muchos miles de personas en lo que parece ser el mayor proyecto sustentado en el esfuerzo colectivo de la historia de la Humanidad. ¿Por qué todas esas personas trabajan juntas en pos de un esfuerzo común?
La primera respuesta que ofrece la literatura académica es, además, la más asombrosamente simple: porque pueden. Según parece, las intenciones de desarrollar este tipo de proyectos colectivos existen desde el principio de los tiempos, embebidos en la misma esencia de la especie humana. Sin embargo, no se desarrollaban debido a la presencia de algo que lo dificultaba, lo impedía de una manera práctica: la fricción o, más concretamente, los costes de coordinación. Intentemos, por ejemplo, imaginar la vida y procedimientos de trabajo de un grupo de programadores que quisiesen colaborar en un proyecto común antes de la aparición de Internet. Imaginémoslos manteniendo larguísimas conversaciones telefónicas, enviándose disquetes por correo postal o quedando en variados lugares del mundo aprovechando viajes de vacaciones…
Los proyectos así desarrollados durarían, seguramente, varias generaciones. De ahí que, ante la tiranía impuesta por los costes de comunicación y coordinación, se llegase a la conclusión de que la manera más adecuada de desarrollar este tipo de proyectos era, sin duda, en el seno de una organización empresarial. En ella, los costes de coordinación se veían sensiblemente disminuidos, bien por proximidad geográfica, bien a través de mecanismos especialmente diseñados a tal efecto. Así, el desarrollo interno en la empresa se convirtió en la manera estándar de desarrollar software. En un contexto así, las ganadoras eran aquellas capaces de juntar una cantidad mayor de «materia gris de programador bueno» bajo un mismo techo, y de acuerdo a unos costes de coordinación bajos.
Toda una generación de programas producidos mediante métodos adecuados a los tiempos se sucedió en los mercados, sujetos a una misma dinámica: fabricamos una versión, la vendemos en una caja cubierta de celofán con unos gruesos manuales y esperamos unos años hasta sacar la siguiente, que todos tendrán que comprar para no quedarse aislados, anticuados, como en «la tragedia del hombre desactualizado». Si además podemos construir barreras que aten al cliente a nuestro sistema (incompatibilidades, los costes asociados al cambio, barreras de salida de cualquier tipo…) mucho mejor. Esto nos asegurará una posición competitiva más defendible.
¿Cuál es el problema? Que, como cualquier estrategia basada en la sinrazón, algo así acaba siendo completamente insostenible. Dedicar valiosos recursos a la innovación negativa, es decir, no al progreso, sino a la construcción de barreras que lo impidan o lo «racionen», entregándolo al mercado en pequeñas dosis, es un atentado al progreso. Y claro, el modelo falla porque debe fallar. Mucho más cuando la primera premisa, la de los costes de coordinación y comunicación, desaparece.
… y un después
De la noche a la mañana, comenzaron a aparecer equipos remotos y distribuidos de programadores dispuestos a colaborar en el desarrollo de una tarea común. Lo hacen alrededor de líderes de comunidad, de personas que conocen, en quienes confían o de quienes han escuchado hablar bien. Se inicia el desarrollo del llamado peer rating system, o sistema de evaluación informal, basado en las opiniones de los que te rodean, y con él, una auténtica meritocracia efectiva. Con ella, se reinventa el sistema de revisiones típico del mundo académico: una persona hace una contribución y ésta es revisada por una estructura piramidal que la evalúa y comprueba hasta decidir acerca de su posible incorporación.
Un sistema que ha probado su efectividad durante cientos de años en las publicaciones académicas y que, sin duda, acaba generando mejores textos. Con el tiempo, la verdad empieza a resultar evidente: los productos sometidos a este sistema de desarrollo son, simplemente, mejores. Han pasado por un sistema de control de calidad imposible de emular con un coste razonable dentro de la estructura de una empresa.
Al tiempo, surge una fuerza todavía mayor: el poder de la comunidad enriqueciendo un producto. Ya no es únicamente el proceso de desarrollo y su posterior versionado, sino que, además, aparecen personas que, aprovechando lo abierto de las estructuras generadas, esa posibilidad de apalancarse en el esfuerzo que otros hicieron anteriormente, se dedican a inventar añadidos capaces de hacer que el programa se comporte de manera diferente, o realice nuevas funciones.
El ejemplo clásico, las extensiones de Firefox, es una muestra clara de ello. ¿Qué lleva a una persona a dedicar horas de programación al desarrollo de una extensión para, por ejemplo, dotar a su navegador de un indicador de PageRank? Simplemente, el hecho de que él mismo necesitaba una utilidad así. En ocasiones, podemos añadir el deseo de alcanzar un prestigio si la herramienta se populariza, o el de aprender, o el de contribuir al proyecto… o incluso el de luchar contra una empresa percibida como «el enemigo común». Pero el caso es que la extensión acaba siendo desarrollada, y la propuesta de valor del producto se ve mejorada.
¿Qué ocurre cuando, por ejemplo, se detecta un error o bug en el producto? ¿Quién será más eficiente para buscarle una solución? ¿La rígida estructura corporativa, con sus horas de trabajo y su falta de incentivos personales, o un distribuido grupo de personas apasionadas por lo que hacen, dispuestas a dedicarle interminables horas de su tiempo para así contribuir a un producto mejor? Son todas ellas armas contra las que la empresa, tal y como la conocemos, no puede ya competir.
El futuro por delante
Ante tantas ventajas, ¿qué hace que el empuje del software libre no haya tomado ya por asalto todo el panorama del software universal? ¿Cómo es posible que el software comercial siga estando dominado por empresas que elaboran programas de código propietario? Pues simplemente, porque el momento aún no ha llegado. Vivimos todavía anclados a la tiranía de unos estándares de usabilidad que pocos nos cuestionamos, pero que surgieron de una compleja y tortuosa evolución de adaptaciones e interpretaciones de unas empresas sobre otras, de acusaciones de plagio y alegaciones sobre la patentabilidad del llamado look & feel.
¿Es lo mejor? No necesariamente, pero un porcentaje superior al 90% de los usuarios lo utiliza y lo considera un estándar. ¿Ha llegado el software libre al nivel de poder competir con algo así? La respuesta, desde mi modesto punto de vista, es no. Los equipos de desarrollo de aplicaciones para usuario final en el campo del software libre, compuestos en su mayoría por personas provenientes del campo de la programación, han adolecido en ese sentido de falta de diversidad, se han concentrado en la producción de programas técnicamente impecables, pero no caracterizados especialmente por su usabilidad. Incluso en los casos más enfocados al respecto, como Ubuntu, las tareas de instalación y administración siguen estando muy lejos de lo que el común de los usuarios puede y quiere hacer, algo que es conocido por la empresa y que tiene su reflejo en el ya citado retraso de seis semanas con el que la nueva versión pretende, fundamentalmente, trabajar en la mejora de dicha usabilidad.
La evolución del fenómeno parece unívoca: en el futuro, todas las empresas desarrollarán así. La libertad es una ventaja competitiva demasiado fuerte como para ignorarla. Además, nada puede competir frente a la inteligencia colectiva. Nada en la especie humana tiene tanta fuerza como un conjunto de cerebros de elevada diversidad trabajando coordinada y estructuradamente en pos de un proyecto común. ¿Qué ha hecho el software libre? Simplemente, ponerle patas.
Las API van abriendo el camino
Aunque la adopción del software libre es inevitable, no se dará, por supuesto, de manera inmediata ni a todos los niveles. De hecho, muchas empresas lo están haciendo ya sin pertenecer al mundo del código abierto, mediante instrumentos como las denominadas API (Application Program Interface), que permiten a programadores externos trabajar con las librerías de un programa determinado e integrar nuevas funciones en el mismo. ¿Qué es una API sino la apertura de una determinada parte de un código? En el caso de Skype, por ejemplo, el desarrollo de un ecosistema de programadores les permite comprobar que el mercado demanda una aplicación de videoconferencia y les ayuda a generar una de una manera más rápida y eficiente que si tuviese que hacerlo completamente sola.
En el futuro, tendremos mucho menos absolutismo y más practicidad: podrá haber infinidad de empresas que desarrollen en modo propietario, pero sin duda todas ellas acabarán abriendo su código posteriormente para evitar así recelos en su adopción y, sobre todo, para utilizar el impresionante poder del recurso al pensamiento colectivo de cara a la mejora y evolución de sus aplicaciones. Las que no lo hagan, simplemente, fracasarán, serán superadas desde un punto de vista competitivo.
Málaga, capital del software libre
Bajo el lema Innovación y Libertad, se celebró en Málaga el pasado mes de febrero la II Conferencia Internacional de Software Libre (www.opensourceworldconference.com). El evento, que tuvo lugar en Málaga, reunió a 200 ponentes que debatieron y expusieron las más diversas opiniones sobre el asunto. Entre las conclusiones más destacadas del encuentro, por el que pasaron cerca de 6.500 personas, vale la pena destacar la confianza puesta en el software libre como motor del desarrollo socio-tecnológico de los países más empobrecidos, al margen de la importancia de hacer llegar este tipo de software a todos los usuarios, y no sólo a los más expertos, mediante la creación de estándares abiertos de fácil uso. Otra de las cuestiones en las que también se puso especial énfasis fue en su necesaria implantación en todos los niveles de la Administración Pública, sobre todo en las aulas, para facilitar y fomentar el intercambio de documentos.