Linux, el software que cambio el mundo.
Los que me conocen o siguen este blog saben que soy un fanático de Linux, no solo por todas las ventajas que ofrece sobre cualquier otro sistema operativo (en innovación, rendimiento, seguridad, robustez, etc); sino también por la filosofía de libertad que promueve.
Desde su concepción en el año 1991, cuando Linus Torvalds publicó el codigo fuente en internet buscando la colaboración de otros hackers que compartieran su pasión; Linux estaba predestinado a cambiar el mundo; no porque fuera un sistema muy innovador (por aquel entonces no lo era), sino por las innovaciones que introduciría en los procesos de desarrollo de software. Linux, se convertiría en el principal éxito e impulsor del movimiento Open Source.
A través de la rapidez de desarrollo que ofrece el modelo Open Source, en tan solo diez años, Linux se convertiría en el principal sistema operativo utilizado en servidores, superando a soluciones comerciales de décadas de desarrollo. Actualmente Linux se encuentra instalado en el 60% de los servidores web y en el 90% de todas las supercomputadoras del mundo.
Asi como hubo un antes y un después en la industria automotriz luego de que Toyota introdujera sus innovaciones en los métodos de producción (Calidad Total, Justo a Tiempo, Mejora continua, etc); hubo un antes y un después en industria de la tecnología luego de la introducción de Linux y el éxito del modelo Open Source. Este cambio fue mucho más profundo, ya que las innovaciones del modelo Open Source, no son tanto sobre la técnica (como en el caso de Toyota); sino que tienen raices e implicaciones mucho más filosóficas y culturales.
Ahora bien, ya sabemos que Linux debe su éxito al modelo Open Source que lo sustenta; pero ¿en qué consiste este modelo y cuáles son las innovaciones en los métodos de desarrollo de software que hicieron posible que Linux superara en tan poco tiempo a soluciones de décadas de desarrollo?
El Modelo Open Source
El modelo Open Source es un modelo de desarrollo de software que se caracteriza por promover el rápido desarrollo e implementación de mejoras y corrección de errores en una solución de software. Su principal característica es que el código fuente es distribuído junto con la solución de software; por lo que cualquiera puede acceder a ver como esta construído el software y proponer mejoras o modificarlo a su gusto. Se basa en el principio fundamental de que la información debe circular libremente, sin restricciones.
Uno de los elementos fundamentales del proceso Open Source es que la participación de los integrantes en un proyecto es voluntaria, asi como también es voluntaría la selección de tareas; esto hace que cada integrante se sienta mucho más comprometido y obtenga mejores resultados.
El trabajo en cualquier proyecto Open Source se encuentra distribuído entre un gran número de voluntarios que contribuyen con su experiencia desde cualquier parte del mundo a través de internet. Todos los proyectos Open Source se sustentan sobre grandes comunidades de gente que comparten los mismo intereses y la misma pasión.
El modelo Open Source tiene sus raices en los aficionados a la informática y en la comunidad científica que se intercambiaban libremente el código fuente. Construir software es de por sí un proceso muy complejo, por lo que el intercambianse el código fuente contribuía a que el aprendizaje sea mucho más fluido y que cada cual no deba estar reinventado la rueda ante cada problema que se le presentara.
Fortalezas del modelo Open Source.
Las principales fortalezas que posee el modelo Open Source y que lo hacen ideal para emprender proyectos de software de gran envergadura son:
- Economía de escala: Los proyectos Open Source pueden recibir contribuciones de miles de voluntarios desde cualquier parte del mundo a través de la colaboración por internet. Asimismo, como el buen desarrollador siempre busca reducir el esfuerzo de crear gran software, los proyectos Open Source de mayor tamaño y más populares suelen atraer a los mejores desarrolladores.
- Credibilidad a largo plazo: Los proyectos Open Source tienen credibilidad a largo plazo porque el código fuente esta disemidado a través de internet. Le pertenece a todos y no solo a unos pocos que lo mantienen secretamente. Mientras el proyecto Open Source sea útil, siempre existirá una comunidad que sustente su desarrollo.
- Corrección de errores en paralelo: Una de las principales innovaciones que trajo el modelo Open Source es que convirtió a los usuarios en desarrolladores. Incentivando a los usuarios de software Open Source a reportar los errores y/o las soluciones que utilizaron para corregirlos; los proyectos Open Source lograron tener miles de testeadores de su software; mientras mayor el número de usuarios y mayor los distintos usos que se le dé al software; mejores resultados se logran para hacer el software mucho más robusto y libre de errores.
- Documentación: Los proyectos Open Source, por su naturaleza distribuída, deben contar con una muy buena documentación de su software, para que los distintos desarrolladores de todas partes del mundo logren entender con facilidad que es lo que hace. Una de las características fundamenteles de los proyectos Open Source, es que cuentan con una gran cantidad de documentación de calidad y que resulta relativamente fácil obtener soporte de la comunidad.
- Liberación rápida: La estructura modular que poseen los proyectos Open Source producto de su organización distribuída, contribuye a que cada mejora en cada subcomponente pueda ser liberada en forma rápida para que los usuarios puedan comenzar de inmediato a probarlo y mejorarlo.
- Innovación: Como el código fuente de los proyectos Open Source esta al alcance de todo el mundo; es más probable que las nuevas innovaciones lleguen antes a los proyectos Open Source que a las soluciones comerciales. (Esto podemos verlo por ejemplo con el framework Hadoop para analizar Big Data, el cual estuvo mucho antes disponible para Linux que para Windows.).
El modelo Open Source ha demostrado ser sumamente eficaz para la construcción de software; ha contribuído enormente al gran crecimiento de internet (que esta basada principalmente en estandaras abiertos y tecnologías Open Source); gracias a este modelo , empresas como Google, Facebook, Linkedin y Amazon pueden existir(todas se sustentan fuertemente en teconogías Open Source para su crecimiento).
Entre los grandes nombres del Open Source que estan cambiando al mundo podemos encontrar no sólo a Linux; sino también a proyectos como Android, que esta revolucionando el mercado de los telefonos inteligentes que dominaba Apple; Chrome y Firefox, que innovan constantemente en los navegadores Web para traernos una mejor internet; Hadoop, que hace accesible el analisis de grandes volumes de datos a bajos costos; y OpenStack que nos permite crear nuestra propia infraestructura de cloud computing; entre muchos otros.
En la vertiginosa sociedad en que vivimos, en la que la información se ha vuelto fundamental, es importante contar con modelos como el del Open Source, que tienen como pilares la colaboración y la libre circulación de la información, promoviendo un entorno abierto y libre; y reivindicando la relación entre el trabajo y la pasión de los individuos.
Es por esto que ya estamos viendo al modelo Open Source moviendose a otros ambitos fuera del software; ya se esta escuchando hablar de Open Hardware y Open Music ,entre otros. Esperemos que algún día lleguemos a hablar de un Open World.
Saludos,