El open source ha cobrado fuerza en los últimos tiempos por brindar la posibilidad de que programadores de todo el mundo puedan acceder al código fuente de importantes softwares y aportar sus conocimientos para mejorarlos. Sin embargo, esta democracia virtual e interactiva, también la utilizan personas que pudieran tener intereses un poco más oscuros y muy distantes al espíritu colaborativo.
La vulnerabilidad quedó de manifiesto recientemente al descubrirse por azar una puerta trasera en una versión experimental de XZ Utils que habría permitido a los hackers, con una clave privada específica, conectarse al sistema protegido y ejecutar sus propios comandos como administradores. El XZ Utils es una utilidad de compresión integrada en muchas distribuciones populares de Linux.
Gracias al trabajo de investigación de un solitario ingeniero de Microsoft, Andres Freund, el truco de espionaje quedó al descubierto antes de que acabara en millones de sistemas de todo el mundo. Freund había detectado un extraño retraso en el funcionamiento del protocolo de conexión remota SSH en una versión de la variante de Linux Debian y ese inconveniente lo llevó al hallazgo. La puerta trasera la insertó el hacker Jia Tan, pasó dos años ofreciéndose de manera voluntaria para “ayudar” en el desarrollo del programa.
Aunque aparentemente estas versiones no se utilizan en entornos de producción accesibles para los usuarios, Red Hat y Debian emitieron comunicados de alerta sobre el peligro. La identidad real de Jia Tan ha generado teorías preocupantes. Especulan que no es un hacker aislado, sino un grupo de hackers respaldado por algún gobierno. Durante mucho tiempo, aparentaron ser desarrolladores que ayudaban desinteresadamente al proyecto, pero finalmente utilizaron su control para crear una versión maliciosa con la que infiltrarse en millones de sistemas.
Cambio de concepción
Open source o código abierto es un modelo de desarrollo descentralizado en el que varios colaboradores contribuyen a la evolución de un único proyecto. En la década de los noventas, el modelo comercial de mayor uso para el desarrollo de software era el de “closed source” (software propietario). Las grandes empresas contrataban a cientos de desarrolladores para crear su producto. Una vez finalizado, se vendía sin ceder el código fuente.
Sin embargo, junto con el movimiento del software libre, se fortalecieron cada vez más los principios de otro modelo de negocio. En un principio su uso fue en entornos académicos. Consistía en compartir el código fuente del software con la comunidad tecnológica y, de esta manera, impulsar su desarrollo, lo que aseguraba una mayor visibilidad del proyecto para todos los usuarios. Eric Raymond y Bruce Perens fundaron en 1998 la Open Source Initiative para establecer definitivamente los conceptos detrás de este nuevo modelo. El enfoque inicial buscaba seleccionar las técnicas de desarrollo de software utilizadas por los partidarios del software libre y aislarlas de la filosofía característica del movimiento político. Además, había que idear una etiqueta de nombre que mostrara la diferencia entre ambos conceptos.
El open source y el software libre no son cosas opuestas, pero tampoco son lo mismo. El primero es un movimiento filosófico y político cuyo objetivo es garantizar a la comunidad de usuarios la libertad de ejecutar, copiar, distribuir, estudiar, modificar y mejorar el software en cuestión, no necesariamente significando la monetización del producto. Open source es el modelo de negocio empleado por la comunidad de software libre para el desarrollo de sus proyectos, sin conexión con la filosofía característica del movimiento.
Linux el más destacado
Uno de los proyectos de software más famosos de del modelo de código abierto es Linux o, más precisamente, Linux Kernel. Linus Torvalds lo desarrolló en 1991 por y pretendía ser una versión open source del sistema operativo Minix. En la actualidad se le considera uno de los software más utilizado y exitoso de todos los tiempos. Se encuentra en varios sistemas operativos y en teléfonos Android. Según Jim Zemlin, director ejecutivo de Linux Foundation, diariamente se añaden al código fuente de Linux cerca de 10.000 líneas de código, se modifican 5.000 y se eliminan 8.000.
La empresa Red Hat fue una de las primeras en construir un modelo de monetización exitoso. Inicialmente, ofrecía su propia distribución de un sistema operativo Linux, Red Hat Enterprise Linux, a empresas privadas interesadas en soluciones basadas en sistemas operativos. El software era gratuito y la monetización se lograba a través de servicios de soporte. Eso fue suficiente para convertir a Red Hat en uno de los líderes en su campo. En 2018 IBM lo compró por 38 mil millones de dólares.
Abierto, pero no tanto
Un proyecto de open source va más allá de publicar el código fuente en un repositorio público en Github. Para que se considere abierto un código, es necesario declarar el uso de una licencia en el proyecto, y que esta cumpla con ciertas especificaciones. Una de las más importantes es que no deberá restringir la venta o distribución gratuita del software. Ni aceptar regalías o cualquier otro cargo en caso de venta. El programa debe incluir el código fuente o explicar una forma de obtenerlo. Además, debe facilitar una forma compilada de este código. Está prohibido omitir deliberadamente el código fuente. La referida licencia debe permitir también modificaciones y obras derivadas. El objetivo es que pueda distribuirse bajo la misma licencia que el original.
La licencia puede restringir la distribución del código modificado solo si se otorga permiso para distribuir “patch files” con el código fuente. Esto posibilita modificar el programa en un momento dado. No se puede discriminar a ninguna persona o grupo de personas. Tampoco restringir el uso del software en un campo particular de negocios, investigación o empresa en general. Los derechos asignados al proyecto por la licencia se aplican a todas las redistribuciones, y no hay necesidad de una licencia adicional para ellas.
Los derechos asignados a un proyecto no pueden depender de que el proyecto sea parte de una distribución de software específica. Quedan descartadas las restricciones a otro software distribuido junto con el software con licencia. Ninguna disposición de la licencia puede basarse en tecnología individual o estilo de interfaz. Entre las licencias que cumplen los estándares open source están MIT Licence, GNU General Public Licence 3.0, Apache Licence 2.0 y Mozilla Public Licence 2.0.
Herramientas al alcance
Son muchas las herramientas de software libre para gestionar de manera segura y rápida los equipos de trabajo. Aunque hay algunas que destacan por las facilidades que ofrecen. Uno de esto software es LibreOffice, de carácter gratuito y su desarrollo esta abierto a nuevos talentos y nuevas ideas. Incluye varias aplicaciones que lo convierten en uno de los paquetes de oficina libre más eficaces.
Otro que sobresale es GIMP (GNU Image Manipulation Program), también gratuito y de código abierto para la edición avanzada de imágenes. Esta herramienta está disponible para GNU/Linux, Mac OS y Windows. Ofrece gran variedad de funciones que permiten desde la edición de fotografías de alta calidad hasta la creación de obras de arte originales e incluso para temas de diseño gráfico.
Apache NetBeans es un entorno de desarrollo open source, una plataforma de herramientas y un framework de aplicación. Funciona con los sistemas operativos Windows, Mac, Linux y Solaris. El IDE hace más fácil el desarrollo de aplicaciones web, empresariales, de escritorio y móviles que usan plataformas como Java o HTML5. Con mayor difusión entre el público está Mozilla Firefox. Un navegador web gratuito y open source desarrollado por la Fundación Mozilla. El objetivo de la organización es que Internet siga siendo un recurso público abierto y accesible para todo el mundo.
WordPress es un software de código abierto. Su filosofía es que un gran software debe funcionar con una configuración mínima, para que pueda concentrarse en compartir su historia, producto o servicios libremente. Para cerrar la lista está Brave. Construido sobre el proyecto Chromium de código abierto de Google, es un navegador web diseñado para mantener la actividad de navegación privada al deshabilitar automáticamente los rastreadores de sitios web y bloquear anuncios intrusivos.