Qué es Open Source?

Open Source (código abierto) es una corriente antigua en la informática, pero que sólo en los últimos años ha ganado popularidad y fama, debido a la existencia de productos exitosos como Linux y Firefox. El concepto que se esconde detrás es muy sencillo pero muy poderoso. Se trata de lo siguiente:

Un programador, un grupo de ellos o una empresa producen una aplicación. El cliente/usuario recibe el producto final (software) y el código fuente. Lo primero es aquello que normalmente viene en los CD que uno compra, son los programas ejecutables, como WIndows, Office o Acrobat. Lo segundo, el código fuente, es el programa mismo, es aquello en lo que trabajó el programador antes de convertirlo en un programa ejecutable. El código fuente está compuesto por una serie de comandos que son traducidos por un programa (llamado compilador) para obtener aquello que un usuario ejecuta.

El poder que se esconde detrás de la posibilidad de obtener el código fuente es enorme. Normalmente, quien compra licencias de un software no tiene cómo saber exactamente cómo funciona dicho producto. Debe confiar que el fabricante haya documentado todo debidamente. Normalmente, ello no es problema, hasta que ocurre la situación que se necesite adaptar dicho software para que trabaje junto con otros programas o cuando es necesario corregir rápidamente un problema. ¿Cómo hacerlo si no se tiene el código fuente? No se puede.

El código fuente le da al usuario/cliente el poder de abrir la máquina, estudiar los mecanismos internos y modificarlos, si es necesario.

Pero el movimiento Open Source va más lejos. Los más exitosos productos de código abierto profitan de un efecto secundario, una consecuencia de ese poder que se le entrega al usuario. Los usuarios son ahora capaces de hacer mejoras al producto y esas mejoras pueden incluirse en futuras versiones, de modo que todos profiten de ellas.

Fabricantes como Microsoft y otros tienen una filosofía de código cerrado. Sólo ellos pueden ver lo que programan. Entregan a los clientes sólo ejecutables y son los únicos capaces de hacer cambios. Todas las mejoras al producto deben pasar a través de ellos. Eso puede ser bueno, pues asegura que el diseño del software no se vea afectado por aportes heterogéneos de distintas partes, pero tiene dos enormes desventajas:


  • El tiempo requerido para hacer cualquier cambio/corrección es enorme. Ello puede ser crítico, en el caso de vulnerabilidades del sistema.
  • Sólo llegan a realizarse aquellos cambios que benefician a la mayoría de los clientes. Si la funcionalidad solicitada es muy específica no se incorporará jamás.

Muchos fabricantes se oponen a entregar el código fuente de sus productos de software por miedo a que sean copiados. El temor es justificado hasta cierto punto, pero lo cierto es que los beneficios del código abierto para los usuarios son tan grandes que la industria está tendiendo a quitar valor al producto en sí y agregar valor al soporte y control de calidad que entregan.

Un claro ejemplo es RedHat, empresa que vende una distribución de Linux. Lo que hacen es juntar una serie de programas en un paquete, probar que todo funcione bien en diversas configuraciones de hardware, agregar documentación, venderlo y ofrecer soporte técnico a los usuarios. El valor de lo que venden no está en el software, sino que en aquellos servicios agregados. Todos los programas incluidos en el paquete que venden incluye el código fuente.

Open Source es una filosofía que trae vientos de cambio a la industria de software.

Gik.-