Qué es open source y por qué las tecnologías abiertas lideran el mundo digital

qué es open source Whitestack
Share This Blog
Compartir en facebook
Compartir en linkedin
Compartir en twitter
Compartir en email

Gran parte de la innovación y evolución detrás de los Sistemas Operativos, navegadores, sitios web, Cloud, e incluso de la inteligencia artificial (IA) de la última década, y los cuales utilizamos hoy en día, se la debemos a proyectos de software open source, que han buscado (mediante un modelo de innovación basado en el método científico), el beneficio común de la sociedad desde sus inicios. 

Más allá de definiciones académicas y tecnicismos, el código abierto ha tenido un impacto social y tecnológico innegable para la humanidad: prácticamente el internet es consecuencia del código abierto, pues el primer sistema operativo que permitió conectar mainframes de la red universitaria norteamericana (los orígenes de internet) fue open source.

Tan solo el sistema operativo Linux (desarrollado en los 90s por un estudiante universitario, y que hoy es dominante en los sistemas productivos de misión crítica), y su evolución Android; el explorador Mozilla Firefox (que utilizó el código donado por la desaparecida Netscape), el software de cloud Openstack (desarrollado por la NASA) y los paquetes de oficina OpenOffice y LibreOffice (que emulan las funcionalidades de Microsoft Office) son ejemplos de tecnologías de open source populares hoy en día.

Aunque las tecnologías abiertas no son nuevas, están cobrando cada vez más relevancia en la actualidad, pues muchos problemas que enfrentan las compañías solo pueden solucionarse de forma rápida y eficaz mediante el modelo colaborativo. Por esta y más razones, en este artículo te explicamos a detalle qué es el open source, su orígen, características y ventajas en el entorno digital.

TABLA DE CONTENIDO

¿Qué es open source?

El concepto de open source, también llamado código abierto, refiere al software que tiene un modelo de licenciamiento (si, el open source también tiene licencias,pero abiertas) que exige que el código fuente sea accesible para quien use el software, al punto que lo puedan modificar, y distribuir con muy pocas restricciones (1).

Al ser un software que se desarrolla de manera descentralizada y colaborativa, requiere mucho de la participación activa de la comunidad y la revisión entre compañeros. Y debido a que su desarrollo no depende de un solo autor o empresa (sino que de toda una industria), suele no verse afectado por altos costos de licenciamiento (como ocurre en el modelo propietario, que se remunera por regalías de uso). Es flexible porque está diseñado para muchos más casos de uso, y es más estable porque suele ser probado en muchos ambientes, además de ser más duradero que las opciones de software propietario o de «código cerrado». 

Es decir, el open source no solo puede ser más económico, sino que puede ser mejor (técnicamente hablando) que el software propietario.

qué es open source Whitestack
Muchas veces se piensa que el software open source es parte del movimiento de software libre, pero no hay que confundir estos términos, pues sus fundamentos y valores tienen varias distinciones.

Por lo general el software es considerado open source si cumple con dos condiciones básicas:

  • Está disponible en forma de código fuente sin costo adicional: significa que los usuarios pueden visualizar el código del software y de esta forma realizar cambios.
  • El código fuente se puede reutilizar en un software nuevo: significa que cualquier persona puede usar el código fuente para desarrollar su propio programa (trabajos derivados) y redistribuirlo.

Una aclaración importante, es que el open source no es código gratis, o de dominio público (sin dueño), es más bien software en el cual los autores adhieren a un contrato formal de licencia que es permisivo.

En Whitestack rehusamos los componentes de código abierto más robustos y confiables para crear infraestructura digital, hiper escalable, que permita acelerar la transformación digital en la siguiente década.

Características

Ya vimos que el software open source tiene sus bases en el trabajo conjunto y la colaboración para leer, modificar y redistribuir el código fuente de un programa y que de esta forma pueda tener mejoras y evolucionar. Además, un open source debe cumplir en la mayoría de los modelos de licencias abiertas los siguientes requisitos (2): 

  • Código fuente: es básico que el programa cuente con el código fuente en su totalidad y que permita modificaciones; no aplica como open source si no aparece el código o solo se presenta una parte de él.
  • Modificaciones y cambios permitidos: la licencia del software debe habilitar estas acciones.
  • Visibilidad de las modificaciones: cualquier cambio debe ser completamente visible por la comunidad. 
  • Acceso libre: la licencia es accesible para cualquier persona y no se puede restringir a nadie. Si por alguna razón tiene restricciones, se debe notificar. 
  • Versatilidad: el software open source debería poder utilizarse en cualquier ámbito laboral y su fines comerciales no están descartados.
  • Licencia homologada: si el software forma parte de un producto mayor, debe tener una licencia que sea compatible., es decir, el autor puede o no imponer restricciones de re-licenciamiento del trabajo derivado.
  • Distribución: la licencia se puede compartir por cualquier medio o dispositivo (USB, CD, web, etc.), con costo, o sin costo.

Pero el open source va más allá de un modelo de desarrollo  de la tecnología de la información. Desde sus orígenes y hasta la fecha ha evolucionado en todo un movimiento y va de la mano de la filosofía del software libre. Por ello,  también los valores por los que se rige son fundamentales.

Conoce más sobre los lanzamientos de Whitestack basados en open source MANO (OSM), el mayor proyecto de código abierto auspiciado por el ETSI, cuyo objetivo es simplificar la configuración y operación de las funciones de red virtualizadas. Lee más.

Valores

Desde sus inicios, el código abierto ha modificado esquemas propietarios de trabajo del código cerrado por dinámicas más pragmáticas y horizontales, permitiendo la innovación, valores de producción descentralizada y nuevas maneras de solucionar los problemas en las comunidades

Para muchos, el modelo de innovación de código abierto emula el método científico, en el cual la calidad del código está bajo el escrutinio de una comunidad de profesionales altamente calificados, que lo mejoran mediante ciclos de innovación muy rápidos, llegando en muchos casos a código más estable que lo que se habría podido lograr con modelos cerrados (entre cuatro paredes). El software open source es el resultado de ese modelo descentralizado que fomenta la colaboración abierta y la producción en equipo. A continuación te presentamos a qué valores nos referimos:

  • Comunidad abierta: las comunidades activas son clave para el open source, pues facilitan buscar y brindar ayuda, recursos y diferentes puntos de vista independientemente de los intereses individuales.
  • Actitud colaborativa: la revisión entre colegas es esencial para verificar y mejorar el código fuente. El acceso libre del open source lo convierte en un código “vivo”, que no se estanca y está en constante optimización.
  • Flexibilidad: no existe una metodología específica u obligatoria para usar el código y éste se puede implementar y modificar lo que sea necesario para abordar problemas determinados de una empresa o comunidad. Es por ello que la colaboración y la revisión impulsan la implementación de nuevas soluciones.
  • Confianza y transparencia: aunque el código propietario depende de un solo autor o empresa que lo mantiene actualizado, con parches y en funcionamiento, los estándares abiertos del open source garantizan que éste se evalúe adecuadamente y de forma regular, por lo que la confianza y la transparencia de los procesos son primordiales. Es posible conocer con exactitud qué tipos de datos se trasladan y a dónde, y los cambios aplicados en el código. 
  • Menor costo: aunque con el open source el código fuente está disponible, no significa necesariamente que su software ejecutable se distribuya gratuitamente, por lo que hay que ser cuidadosos con la distinción. De hecho, los conceptos de open source y software libre no hacen referencia al precio, pues ambos pueden distribuirse con o sin costo de forma legal. 

En este sentido, existen empresas que han desarrollado modelos de monetización basados en el soporte, el apoyo para gestionar la operatividad interna y el refuerzo de la seguridad. En Whitestack hemos desarrollado un modelo, que permite construir clouds de alta escala, con costos muy competitivos, ya que nuestro modelo de monetización brinda soporte durante todo el ciclo de vida del proyecto, y vá mucho más allá que el código fuente del software. Agenda una cita.

  • Independencia: el open source no depende de un solo proveedor, por lo que el concepto free o libre implica que el usuario puede trasladarlo, utilizarlo para cualquier requerimiento e implementarlo en cualquier momento. Además, puedes verificar información y realizar un seguimiento sin depender de los proveedores.

Origen

Aunque el término open source surgió a finales de los noventa, su historia está estrechamente ligada a los inicios del internet. Entre 1950 y 1960 los primeros desarrolladores de las tecnologías y protocolos de redes trabajaban en un entorno de investigación colaborativo y abierto: la red Advanced Research Projects Agency Network (ARPANET), que eventualmente se convertiría en la base del internet moderno (1) (2):

El primer mensaje lanzado por ARPANET de una computadora a otra tuvo lugar el 29 de octubre de 1969; la primera computadora estaba en un laboratorio de investigación de la UCLA, y la segunda en Stanford. El mensaje fue: “Iniciar sesión”.

Dentro de la dinámica de ARPANET, los grupos de colegas programadores compartían el código fuente de los demás y la retroalimentación en conversaciones de foros facilitaban las mejoras y nuevas ideas; así, los valores de colaboración, revisión y cultura abierta se fueron cimentando de forma orgánica, y se mantuvieron para cuando se estableció el internet como lo conocemos. 

Al principio el mayor uso exitoso de código abierto fue en los sistemas operativos. En 1978 la universidad de Berkeley desarrolló una variante abierta del sistema propietario UNIX (propiedad de AT&T) llamado BSD, que implementó el soporte para el protocolo IP (usado para Internet), por lo que logró masificar en toda la red universitaria. BSD es el sistema operativo más maduro del mundo (casi 45 años de evolución), y en el cual Steve Jobs se basó para su arquitectura NEXT. En la actualidad BSD está en el núcleo de muchos firewall y, equipos de misión crítica, y forma el kernel de Mac OS X.

Luego, en 1991, un joven estudiante de la universidad de Helsinki (Finlandia) llamado Linus Torvals, se enfrascó en una discusión con un profesor que lo motivó a hacer un prototipo del kernel de un sistema operativo, muy básico. Al no tener ambiciones económicas, Linus lo abrió al mundo y esto le dio tal visibilidad que contó con las contribuciones de miles de desarrolladores que lo mejoraron hasta convertirlo, 30 años después, en el sistema operativo más usado en Internet y más utilizado por las supercomputadoras más poderosas del mundo: Linux. Tan solo Android es una distribución de Linux y los equipos de telecomunicaciones también usan Linux.

Pero probablemente las iniciativas open source que fueron más notadas por la población general, ocurrieron a mediados de los 90 en Palo Alto, California, cuando el código fuente de Netscape fue liberado de forma abierta, para dar origen al proyecto Mozilla. Fue entonces que los beneficios prácticos y orientados al público se hicieron evidentes, para atraer potenciales usuarios y mejorar el código fuente existente.

qué es software libre Whitestack
Netscape fue el fabricante del innovador navegador Navigator en Silicon Valley. Para 1995, Navigator controlaba más del 70% del mercado emergente de navegadores. Fotos: ZD Net y Poynter.

Esta evolución continuó en la década pasada con la aparición de Chromium, el proyecto open source de navegador de última generación que dio vida a Google Chrome.

Ventajas del open source

Como lo hemos comentado, una de las múltiples ventajas del open source es que ha dado lugar a algunas de las aplicaciones y plataformas más utilizadas actualmente. En general, la mayoría de las innovaciones en los campos del cloud computing, Big Data e inteligencia artificial derivan de proyectos open source. 

Un gran ejemplo de ello es el modelo de capas de servicio LAMP, que sustenta gran parte de la red. Se trata de un acrónimo cuyas siglas significan: 

  • Linux: el sistema operativo (SO) y proyecto open source más grande del mundo. 
  • Apache: servidor web, open source y multiplataforma, que fue clave en las primeras etapas de la web.
  • MySQL: sistema de gestión de bases de datos relacionales, utilizado en muchas aplicaciones web construidas en dichas bases.
  • PHP: lenguaje de scripts de uso general; se utiliza para desarrollar sistemas de software, y en ocasiones es reemplazado por Perl o Python.

El modelo LOKI es otro ejemplo de capas exitosas de software open source. Sus siglas quieren decir: 

  • Linux
  • Openstack que despliega un cloud sobre el sistema operativo.
  • Kubernetes que despliega contenedores sobre el cloud.
  • Infrastructure

Si estás interesado en el modelo LOKI, muy popular en estos días, para tu empresa de telecomunicaciones o de Tecnologías de la Información, Whitestack es la clave para desplegar soluciones de Cloud privada basadas en LOKI. ¿Requieres más información? Contáctanos y un especialista resolverá todas tus dudas. 

Otros ejemplos de tecnologías de open source populares son: el sistema operativo móvil Android; el explorador web Mozilla Firefox; el sistema de control de versiones Git y los dos paquetes de oficina OpenOffice y LibreOffice

Por otro lado, el software open source destaca en sus ventajas para las empresas y los programadores individuales

  • Ofrece una alta personalización y seguridad para las empresas. Muchas compañías prefieren que el código fuente esté disponible de forma abierta, pues esto brinda la posibilidad de que varios desarrolladores estén en la búsqueda activa de puntos vulnerables en la seguridad. Además, el open source puede satisfacer necesidades específicas y generar nuevas experiencias del cliente que no forman parte del código fuente original. 
  • Es una excelente herramienta de práctica para estudiantes. Una licencia open source permite que estudiantes de áreas relacionadas practiquen editando el código, compartiéndolo con la comunidad o aportando correcciones a los proyectos. En realidad, cualquier persona puede estudiar y desarrollar nuevas habilidades de programación a partir del código.  

De hecho, las comunidades open source se organizan en torno a proyectos donde cualquier persona puede unirse y aportar su código. Aunque, como en toda organización, se deben mantener ciertos estándares respecto a cómo contribuir en los proyectos; a estos principios básicos se le ha llamado «el estilo open source«, un movimiento más amplio de desarrollo de software. 

El estilo open source tiene la capacidad de reunir a personas brillantes de todo el mundo para trabajar en equipo y aportar a la innovación tecnológica.

Uno de nuestros grandes proyectos de innovación es la colaboración con la operadora de infraestructura móvil rural Internet para todos (IpT), en Perú. En este artículo te explicamos a detalle todo sobre este proyecto cuyo reto es “Conectar a los no conectados”.

tipos de licencia open source Whitestack
La comunidad del software libre es un término que hace referencia informal a los usuarios y desarrolladores de software libre, así como los partidarios del movimiento de software libre.

Tipos de licencia open source

Las necesidades del usuario determinarán el tipo de licencia open source a elegir. Factores como las funcionalidades del software, dependencias utilizadas y alcance determinarán esta decisión. A continuación te enlistamos algunos ejemplos (3). 

  • GNU General Public License (GPL): licencia que permite estudiar el programa, ejecutarlo y distribuirlo mediante una copia exacta del programa o en versiones modificadas. Se trata de una licencia copyleft, lo que significa que cualquier trabajo derivado del software debe distribuirse bajo la misma licencia obligatoriamente.
  • Apache License 2.0: en su versión 2.0, Apache obliga a mantener todos los derechos de autor y patentes asociadas al software y permite que éste pueda ser ejecutado, modificado y redistribuido. En caso de que el código sea modificado, se debe mencionar cada uno de los cambios realizados. Esta licencia permite además que el código sea distribuido con otras licencias.
  • MIT License: es la licencia más permisiva de esta lista, pues prácticamente permite realizar cualquier modificación al software: ejecutarlo, estudiarlo, modificarlo, redistribuido e incluso sub-licenciar. Sus lineamientos son: 1) Mantener los derechos de autor. 2) El autor original se deslinda de cualquier daño o mal uso del código licenciado. 3) En las copias generadas se debe mantener la licencia MIT. Softwares conocidos que utilizan esta licencia son: Node.JS, Vue.JS o Ruby On Rails. 
  • Mozilla Public License (MPL): desarrollada por la fundación Mozilla, esta licencia usa el concepto de copyleft, que   permite ejecutar el software, estudiarlo, y redistribuir, al igual que los ejemplos anteriores. Sus únicos parámetros son: 1) Mantener los derechos de autor. 2) Si el código es modificado, el código original con licencia MPL debe estar disponible, y se debe informar dónde y cómo se puede obtener.

Por otro lado, estos son algunos ejemplos de programas open source:

  • Linux (sistema operativo): el proyecto más activo del mundo.
  • Chromium (navegador): el segundo más activo del mundo.
  • OpenStack (cloud): el tercero más activo del mundo.

Y muchos otros (eso sin contar todos los lenguajes de programación más usados del momento), tales como:

  • Firefox
  • LibreOffice
  • Apache, servidor Web
  • Nginx, otro servidor web
  • Hadoop, big data
  • Kubernetes, orquestación de contenedores

Si quieres conocer todo sobre la virtualización de las funciones de red (NFV por sus siglas en inglés), este artículo te guiará para entender dicho enfoque de red que continúa en constante evolución. 

Diferencia entre software libre y open source

Ambos términos suelen ser utilizados como sinónimos y existe confusión entre los conceptos; de hecho, en sus inicios al software open source sí se le conocía como «software libre». Fue hasta 1983 que el programador estadounidense Richard Stallman acuñó el término oficialmente para el movimiento del Software Libre en el Proyecto GNU, el cual prioriza los aspectos éticos y filosóficos más que los aspectos prácticos del open source. 

De acuerdo con Richard Stallman, el Software Libre o Free Software debe garantizar cuatro libertades esenciales para el usuario: libertad para ver el código fuente, modificarlo y redistribuir; ponerlo a disposición de otros usuarios y adaptar su funcionamiento en torno a sus necesidades (medium):

  1. Ejecutar el programa.
  2. Estudiar y modificar el código fuente del programa.
  3. Redistribuir copias exactas.
  4. Distribuir versiones modificadas.

Actualmente, Stallman lidera el movimiento FSF (Free Software Foundation), que debate más temas más sociales y filosóficos que los beneficios prácticos que tiene el modelo abierto y colaborativo para las empresas. Para Stallman, el software debe ser gratis, porque todo ser humano tiene derecho de acceder a él. En contraparte, el Open Source suele centrarse más en aspectos técnicos y de derechos sobre cualquier debate moral.

Cuando ambos términos van encaminados, se suele utilizar el concepto de FOSS (Free and Open Source Software), que los conjunta, pues a pesar de sus distinciones, el Software Libre sí puede ser software open source, y a su vez muchos proyectos open source también pueden ser considerados como software libre.

“El software libre es un asunto ético del uso de la tecnología”, una cita de Richard Matthew Stallman, activista y programador estadounidense, durante un evento organizado por la Fundación GNU Chile en 2014. Foto: Wikimedia Commons.

Durante la última década han surgido múltiples tecnologías abiertas para contribuir a la industria de las telecomunicaciones. ¿Pero cómo reimaginar un negocio de telecom con tecnologías abiertas para los siguientes diez años? En este artículo te lo contamos.

Conclusiones

El Open Source probó ser un modelo muy exitoso para resolver los grandes problemas técnicos de distintas industrias, problemas que una sola empresa privada le tomaría décadas resolver. Nunca hubo tanta evolución en sistemas operativos, cloud, web, big data, AI/ML, como cuando se lanzaron proyectos open source para solventar diversos inconvenientes.

Por lo tanto, en este modelo de innovación destacan sus atributos técnicos por sobre las ventajas económicas. El código open source es maduro y estable porque miles de organizaciones han invertido muchos recursos para contribuir en dichos proyectos, sin siquiera atribuirse la autoría o cobro de patentes de propiedad intelectual.

Al final, la filosofía apunta a que todas las empresas resuelvan los escollos que les son comunes (y de los cuales ninguna compañía sacará ventaja de un mejor web server) para poder enfocar sus esfuerzos en el sello que los distinguirá del mercado, en un programa que destaca por sus cualidades o en una killer app que nadie más tiene.

La nube privada que tu empresa requiere. Tenemos los componentes de código abierto más robustos, fiables y maduros.

 

Referencias

  • Red Hat. ¿Qué es el open source? Red Hat, 2019. Consultado el 11 de noviembre de 2022.
  • Judith de la Fuente. ¿Qué es el open source? Incentro, 2021. Consultado el 11 de noviembre de 2022.
  • Eduardo Ismael García Pérez. Licencias open source. Código Facilito, 2022. Consultado el 11 de noviembre de 2022.
  • Santos Martínez Perandones. ¿Qué es el Open Source y cómo puede ayudarte? OpenExpo Europe, 2021. Consultado el 11 de noviembre de 2022.
  • IBM. ¿Qué es el software de código abierto? IBM, s/a. Consultado el 11 de noviembre de 2022.
  • Gobierno de México. Open Source. Gobierno de México, s/a. Consultado el 11 de noviembre de 2022.

More To Explore