Por Iñigo Ruiz, CTO en Purple Blob.
El software Open Source, o código libre es un gran aliado de las empresas tecnológicas de hoy en día. Pero esto no siempre fue así.
En los albores de la informática de consumo, en plena batalla ideológica (y legal) entre las grandes compañías y los pequeños e incipientes grupos de aficionados que producían su propio software, nació la Free Software Foundation. Esta entidad, defendiendo los derechos de estos programadores y a la vez protegiéndolos de los embates legales a los que podían enfrentarse por escribir sus propios programas, lanzó varios modelos de Licencia de Software, entre los que se encuentra la gran conocida GNU General Public License.
Esta licencia, como motivo del entorno beligerante del que nació, obligaba a cualquier empresa que se quisiese aprovechar de un desarrollo protegido con GNU GPL a licenciar todo el software resultante con la misma licencia, lo que implicaba a su vez divulgar el código al completo y por lo tanto a poner en riesgo el secreto industrial e intelectual de dicha compañía.
Esta redacción de la GPL se entiende bien si se analiza el contexto de aquella época, donde estos usuarios primitivos de la informática enfrentaban muchas pegas para poder usar sus equipos en la manera que más le interesaría. Dicho de otra forma, tenían sus derechos y libertades bastante recortados por las compañías grandes de hardware y software. Esto motiva de sobra la creación de este marco legal en el que se pueda empezar a generar una cultura del software libre. La base de la informática moderna, donde cada uno puede usar una gran cantidad de software, con muchas alternativas para la misma tarea, nació en el momento en que este grupo de usuarios crearon un espacio libre, colaborativo y abierto para la innovación en materia de software y en su menor medida de hardware. De esta forma se comenzó el proceso de democratización del software.
Sin embargo, este submundo altruista apoyado por personas de iguales intereses, excluía de forma notoria a las empresas, que se veían privadas de este esfuerzo global por conseguir un mejor software, dado que las principales premisas de estas licencias amenazaban gravemente la competitividad de estas. Es, quizás, una curiosa metáfora, como al querer abrir y aumentar las libertades de este grupo de personas, recortaron a su vez, la libertad de cualquier empresa de poder tomar parte en estos desarrollos, aún cuando lo harían de buena fe.
Si avanzamos hasta el mundo actual, y, gracias a la popularización y extensión de Internet, estos grupos de usuarios se han convertido en verdaderas comunidades, muchas veces más numerosas que algunas empresas de software. En un siglo XXI donde el software lo define absolutamente todo, desde nuestra capacidad para encontrar una farmacia en nuestra ciudad, hasta nuestra capacidad para mantenernos sanos, es sumamente importante que este software sea de la mayor calidad posible.
En este sentido y gracias a que cada vez más comunidades de desarrolladores de software libre han entendido y promovido esta necesidad de colaboración entre voluntarios y empresas, han sido lanzadas y extendidas cada vez más, un nuevo tipo de licencias, comúnmente llamadas permisivas, que simplemente liberan al autor de responsabilidades subsidiarias derivadas del uso del software, y permiten que verdaderamente todo el mundo pueda hacer uso del software de manera libre, incluyendo a las empresas.
Comprobable, el éxito de licencías como MIT o Apache, han hecho posible desarrollos que han supuesto una verdadera revolución tecnológica, gracias a la colaboración abierta en el desarrollo de software.
Para las empresas actuales, es crucial entender este delicado equilibrio y honrar la responsabilidad de contribuir de vuelta a la comunidad lo que se ha tomado de ella. Quizás no sean funcionalidades completamente nuevas, pero las mejoras a la calidad del código existente en forma de bugfixes o auditorías es un mínimo que debería plantearse cualquier empresa con los recursos suficientes.
Al final, es simple. Programar es una tarea que requiere de mucho esfuerzo y cuantos más ojos mejor, para eso está la comunidad. Las empresas, cuyo objetivo es el negocio, deben centrarse en ofrecer unos servicios o productos de valor añadido sobre este software, que genere un impacto positivo sobre la sociedad.