¿Qué es el software de código abierto?

Vista aérea de la ciudad de Hong Kong

Autores

Stephanie Susnjara

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

¿Qué es el software de código abierto?

El software de código abierto (OSS) es un código fuente desarrollado y mantenido a través de una colaboración abierta. Cualquiera puede usar, examinar, alterar y redistribuir el OSS como mejor le parezca, normalmente sin costo alguno.

El código abierto contrasta con las aplicaciones de software patentadas o de código cerrado, como Microsoft Word o Adobe Illustrator. El creador o titular de los derechos de autor vende el software patentado o de código cerrado a los usuarios finales, a quienes no se les permite editar, mejorar ni redistribuir el producto, excepto según lo especifique el titular de los derechos de autor.

“Código abierto” también se refiere a un enfoque basado en la comunidad para crear propiedad intelectual, como software, a través de la colaboración abierta, la inclusión, la transparencia y las actualizaciones públicas frecuentes.

El código abierto se ha convertido en un pilar fundamental del desarrollo de software moderno, especialmente en lo que respecta al modelo empresarial moderno  DevOps, un conjunto de prácticas, protocolos y tecnologías utilizadas para acelerar la entrega de aplicaciones y servicios de mayor calidad. Al integrar herramientas de código abierto en los flujos de trabajo de DevOps, los equipos pueden optimizar los procesos, automatizar las tareas repetitivas y fomentar una mayor colaboración, lo que, en última instancia, acelera los ciclos de desarrollo y despliegue.

Según un estudio de la Fundación Linux, entre el 70 y el 90 % de cualquier base de código de software consiste en elementos de código abierto.1 Muchas aplicaciones populares de software como servicio (SaaS), como HubSpot y Salesforce, incorporan algún nivel de software de código abierto dentro de su infraestructura. Incluso los ecosistemas tradicionalmente cerrados, como Apple, dependen de herramientas de código abierto. Por ejemplo, muchos desarrolladores de iOS utilizan bibliotecas y marcos de infraestructura de código abierto para hacer el desarrollo más rápido y eficiente

La aceleración de la IA generativa está impulsando esta tendencia: dos tercios de los modelos de lenguaje de gran tamaño (LLM), los modelos fundacionales más comunes utilizados para construir aplicaciones de IA generativa, lanzados en 2023, eran de código abierto.2

Las últimas noticias tecnológicas, respaldadas por los insights de expertos

Manténgase al día sobre las tendencias más importantes e intrigantes de la industria sobre IA, automatización, datos y más con el boletín Think. Consulte la Declaración de privacidad de IBM.

¡Gracias! Ya está suscrito.

Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

Una breve historia del software de código abierto

Hasta mediados de la década de 1970, los profesionales de TI consideraban que el código informático estaba implícito en el funcionamiento del hardware informático y no como propiedad intelectual única sujeta a protección por derechos de autor. Las organizaciones programaban su propio software y el código compartido era una práctica común.

La Comisión sobre Nuevos Usos Tecnológicos de Obras con Derechos de Autor se estableció en 1974. Llegó a la conclusión de que el código de software era una categoría de trabajo creativo adecuado para la protección de los derechos de autor. Este desarrollo impulsó el crecimiento de la publicación independiente de software como industria, con el código fuente propietario como principal fuente de ingresos. A medida que la computación personal llevó aplicaciones a todos los escritorios corporativos y a muchos hogares, el mercado del software se volvió intensamente competitivo. Los editores de software también se volvieron cada vez más alertas a las infracciones de sus derechos de propiedad.

En 1983 comenzó una rebelión contra las restricciones y limitaciones del software propietario. El programador Richard Stallman se irritó ante la idea de que los usuarios no pudieran personalizar el software propietario como mejor les pareciera para realizar su trabajo. Stallman sintió que "el software debería ser libre, como en el discurso, no en la cerveza" y defendió la noción de software disponible gratuitamente para la personalización.

Stallman fundó la Free Software Foundation, y seguiría impulsando el desarrollo de una alternativa de código abierto al sistema operativo Unix propiedad de AT&T, entre otras aplicaciones. También innovó la primera licencia de software copyleft, la GNU General Public License (GPL), que requería que cualquiera que mejorara su código fuente publicara también su versión editada libremente para todos.

El ensayo de Eric S. Raymond de 1997 “La catedral y el bazar” es otro hito en el movimiento del software libre. Raymond contrastó el enfoque cerrado, de arriba hacia abajo típico del desarrollo de software propietario, en el que un grupo central (al que llamó La Catedral) manejaba todo el desarrollo, frente al desarrollo público abierto y libremente compartido a través de Internet (The Bazaar). Poco después, Netscape Corporation lanzó su código de navegador Mozilla como código abierto, y el movimiento de código abierto ganó legitimidad.

Debido a que muchos sintieron que el término "software libre" de Stallman enfatizaba de manera inadecuada "gratis" como el valor principal del software, el término "código abierto" se adoptó en 1999. La Iniciativa de Código Abierto se creó para defenderlo; la organización también estableció reglas básicas para la industria a través de la definición de código abierto y aloja licencias de código abierto compatibles. Hoy en día, los términos software libre, software de código abierto, software libre y de código abierto, y software libre o de código abierto se refieren a lo mismo: software con código fuente disponible para uso público y personalización.

Desarrollo de aplicaciones

Entérese: desarrollo de aplicaciones empresariales en la nube

En este video, el Dr. Peter Haumer analiza cómo es el desarrollo de aplicaciones empresariales modernas en la nube híbrida y hace una demostración de diferentes componentes y prácticas, incluidos IBM Z Open Editor, IBM Wazi y Zowe.

Código abierto frente a estándares abiertos

El código abierto no debe confundirse con los estándares abiertos. El código abierto se refiere al software cuyo código fuente está disponible gratuitamente para que cualquiera lo use, modifique y comparta. Un ejemplo de esto es el sistema operativo Linux, que es desarrollado en colaboración por una comunidad global.

Por el contrario, los estándares abiertos son pautas disponibles públicamente que garantizan la interoperabilidad entre diferentes tecnologías. Por ejemplo, el Protocolo de transferencia de hipertexto (HTTP) es un estándar abierto que define cómo se comunican los navegadores web y los servidores.

Si bien el software de código abierto puede implementar estándares abiertos para garantizar la compatibilidad, son conceptos distintos. El código abierto consiste en hacer que el código del software sea accesible, mientras que los estándares abiertos se centran en establecer reglas sobre cómo funcionan juntos los diferentes sistemas.

Código abierto en informática empresarial y personal

El software de código abierto ahora desempeña un papel vital en la informática, con tecnologías de código abierto que proporcionan la base de Internet, la informática empresarial y la informática personal. Prácticamente todos los dispositivos informáticos contienen ahora código fuente abierto de muchos tipos, que suelen adoptar los desarrolladores para realizar operaciones fundamentales y funciones más avanzadas.

Algunas de las aplicaciones de software de código abierto más frecuentes incluyen las siguientes:

  • El sistema operativo Linux, una alternativa de código abierto al sistema operativo Unix
  • Mozilla Firefox, un navegador web originalmente basado en Netscape Navigator
  • LibreOffice, una suite de aplicaciones de productividad de oficina que rivalizan con Microsoft Office
  • GIMP (GNU Image Manipulation Program), una alternativa de código abierto a Adobe Photoshop
  • VLC Media Player, una aplicación multiplataforma para ver videos

Los programas de código abierto también se emplean ampliamente en redes, compañías y computación en la nube. Las categorías de software de código abierto citadas por los profesionales de TI como las más comunes dentro de los despliegues de sus organizaciones incluyen:

  • Lenguajes y marcos de programación
  • Bases de datos y tecnologías de datos
  • Sistemas operativos
  • Repositorios públicos basados en Git

Por qué los usuarios y las organizaciones eligen el código abierto

Las razones para elegir software de código abierto pueden variar significativamente de persona a persona y de organización a organización. En muchos casos, los usuarios finales desconocen por completo los programas de código abierto que hay en sus computadoras o dispositivos móviles. También es común que los usuarios finales descarguen una aplicación gratuita, como el navegador Mozilla Firefox o una aplicación de Android. Estos usuarios quieren la funcionalidad del software sin la intención de reescribir o incluso mirar el código fuente.

Por otro lado, una empresa podría elegir el software de código abierto en lugar de una alternativa patentada por su bajo (o nulo) costo, la flexibilidad para personalizar el código fuente o la gran comunidad que respalda la aplicación.

Los programadores profesionales o aficionados pueden ofrecer voluntariamente sus habilidades de desarrollo y pruebas a un proyecto de código abierto, a menudo para mejorar su reputación y conectarse con otros en el campo. Ahora es común que las empresas proporcionen empleados remunerados a proyectos de código abierto para apoyar la vitalidad del desarrollo de software de código abierto y ayudar a asegurar productos de alta calidad.

Si bien los productos de código abierto pueden ahorrar a las empresas el costo de las licencias, pueden incurrir en otros costos, generalmente para la integración de la red, el soporte para el usuario final y de TI, y otros servicios que generalmente se incluyen con el software propietario. Aun así, muchas organizaciones consideran que el software empresarial de código abierto es al menos tan confiable y seguro como el software propietario. A menudo se sienten más cómodos con las soluciones de código abierto porque pueden inspeccionar el código del programa y comprender exactamente lo que están agregando a su infraestructura informática.

Cómo los programadores crean software de código abierto

El modelo de desarrollo de código abierto abarca toda la gama. Una gran cantidad de programas de código abierto se originaron a partir de programadores individuales o pequeños equipos de programadores. Por ejemplo, Guido van Rossum dijo que comenzó a trabajar en el popular lenguaje de programación Python porque tenía tiempo libre durante la semana navideña de diciembre de 1989. Del mismo modo, LinkedIn desarrolló la plataforma de transmisión distribuida Kafka para uso interno y luego, hizo código abierto y donó Kafka a la Fundación de Software Apache.

A medida que estos y otros proyectos de código abierto similares maduraron, involucraron a muchos miles de programadores que contribuyeron con innumerables líneas de código, así como poniendo a prueba el software, escribiendo documentación, construyendo el sitio web del proyecto y más.

En el otro extremo del espectro, los ingenieros de Google iniciaron la plataforma de orquestación de contenedores Kubernetes como una implementación de código abierto de tecnología creada internamente para equilibrar las cargas de trabajo del servidor de Google. Google llevó el proyecto a la comunidad de código abierto a través de la creación de un nuevo consorcio dentro de la Fundación Linux llamado Cloud Native Computing Foundation. Desde entonces, miles de desarrolladores han trabajado en el kernel en evolución, incluidos representantes de las principales compañías informáticas.

Con el tiempo, un ecosistema debe admitir proyectos de software de código abierto. Los servicios de alojamiento de código como GitHub, Bitbucket, SourceForge y Google Code proporcionan repositorios centrales, control de versiones y otras funciones que permiten que grupos de trabajo diversos y distribuidos colaboren y gestionen proyectos de código abierto. En un informe de 2023, GitHub registró 100 millones de desarrolladores que utilizan su producto.3

Algunas organizaciones sin fines de lucro, como la Free Software Foundation y la Open Source Initiative (OCI), han surgido para apoyar y financiar el mantenimiento continuo de proyectos de código abierto. Además, muchas docenas de fundaciones específicas de aplicaciones, como Linux Foundation, admiten programas específicos de código abierto y proyectos relacionados que respaldan esas tecnologías.

Software de código abierto y propiedad intelectual

"Código abierto" y "propietario" representan enfoques alternativos a la propiedad intelectual (PI) incorporada dentro de una aplicación. Con código abierto, la propiedad intelectual está destinada a beneficiar al público sin ánimo de lucro asociado a la propiedad intelectual. Por el contrario, el software propietario monetiza el valor de la propiedad intelectual mediante el cobro de una tarifa de subscripción o licencia de propiedad.

Sin embargo, la idea detrás del software de código abierto no es principalmente un mensaje antiganancia o anticapitalismo. Aun así, en manos de su comunidad de usuarios, el software alcanzará naturalmente su mayor potencial al proporcionar un mayor valor a más usuarios.

El proyecto de código abierto más grande de la historia, Internet, se empleó originalmente para compartir documentos académicos; todo lo que va más allá de ese caso de uso limitado es el resultado de innumerables mentes que imaginan e implementan nuevas posibilidades.

Si bien el software de código abierto está disponible gratuitamente para el público, no es de dominio público, una categoría legal de propiedad intelectual desprovista de derechos de propiedad. Mediante un ingenioso giro de los derechos de autor tradicionales, los creadores de software de código abierto originaron lo que denominaron "copyleft", que permite el uso público ilimitado, la alteración y la redistribución del código fuente, pero impide que otros conviertan las obras basadas en el código en software propietario con derechos de autor. Sin embargo, hoy en día, hay más de 100 tipos diferentes de licencias de software de código abierto, algunas de las cuales permiten que los trabajos derivados construidos en código abierto sean con derechos de autor y se vendan. Esto amplía las oportunidades comerciales para quienes crean software de código abierto.

Licencias de software de código abierto

Una vez más, la GPL de Stallman estipulaba que cualquiera podía reescribir su software como creyera conveniente, siempre y cuando el código resultante se publicara libremente para que todos lo usaran. De esta manera, la licencia copyleft GPL creó un nuevo tipo de propiedad intelectual de dominio cuasi público con restricciones legalmente exigibles impuestas por el titular original de los derechos de autor para proteger contra reclamos posteriores de propiedad restrictiva de otros.

Desde entonces, se desarrollaron numerosas licencias de software de código abierto; la Iniciativa de Código Abierto enumera más de 100 licencias de código abierto aprobadas. Algunos de estos permiten crear productos patentados a partir de código fuente abierto.

Las licencias de código abierto a veces se clasifican como "permisivas", lo que permite a los usuarios proteger sus propias obras con derechos de autor, o "protectoras", como el copyleft. Las licencias de código abierto MIT y BSD son las licencias permisivas más empleadas, mientras que la GPL sigue siendo una de las licencias protectoras de copyleft más empleadas. Numerosas licencias alternativas son compatibles con GPL o MIT, lo que significa que ese código de software escrito bajo esta licencia se puede usar en otra aplicación que emplee la licencia GPL o MIT.

Modelos de negocio de código abierto

Si bien parece que la creación de software de código abierto es una iniciativa magnánima, incluso caritativa, hay trabajo involucrado en su creación, mantenimiento y evolución, y hacer ese trabajo es una cuestión de dinero. Afortunadamente, hay varias formas en que los proyectos de código abierto (y las compañías creadas en torno a ellos) pueden prosperar.

Una ruta es a través de contribuciones caritativas a fundaciones. Las corporaciones están interesadas en apoyar el software de código abierto, ya que proporciona una funcionalidad tan significativa con un ahorro de costos significativo, y a menudo contribuirán con fondos y proporcionarán empleados asalariados para trabajar en proyectos de código abierto. Sin embargo, esto proporciona principalmente mantenimiento de tecnología a largo plazo y no genera ganancias para el proyecto de código abierto.

Un modelo de negocio más común es cobrar a los clientes por el soporte y la experiencia. En 1993, Red Hat comenzó a vender su redistribución empresarial del sistema operativo Linux, cobrando a los clientes por el soporte y agregando características explícitamente dirigidas a resolver problemas que una empresa podría encontrar al desplegar un sistema operativo no curado y actualizado continuamente. En 2012, Red Hat se convirtió en la primera empresa de software de código abierto en superar los mil millones de dólares en ingresos; En 2019,IBM Corporation adquirió Red Hat por 34 000 millones USD, la mayor adquisición de software de la historia.

A lo largo de los años, Red Hat ha ampliado su ecosistema de código abierto más allá de Linux, desempeñando un papel de liderazgo en el desarrollo y soporte de otros proyectos clave de código abierto como Kubernetes y Ansible, que se han convertido en parte integral de sus soluciones nativas de la nube y de automatización.

WordPress, originalmente una plataforma de blogs, se emplea ahora en gran medida para crear, gestionar y alojar sitios web. WordPress funciona como una plataforma basada en la nube o SaaS, y cobra a los clientes tarifas de suscripción escalonadas por alojamiento web, soporte y funcionalidad adicional del sitio (por ejemplo, capacidad de comercio electrónico o herramientas de SEO).

Otros creadores de software abierto no cobran nada por su software, pero obtienen ingresos significativos gracias al tráfico que este genera. Por ejemplo, GitHub obtiene ingresos basados en la publicidad en su sitio; Mozilla Firefox obtiene ingresos de los motores de búsqueda que admite.

La era de la IA de código abierto

Según la Iniciativa de código abierto, la IA de código abierto se refiere a "un sistema de IA que está disponible en condiciones que permiten a los usuarios utilizar libremente el sistema para cualquier propósito, estudiar cómo funciona, inspeccionar sus componentes, modificarlo y Compartir, ya sea o no, el sistema es cambiado". Este enfoque hace hincapié en la accesibilidad, la flexibilidad y la transparencia, lo que permite a cualquier persona colaborar en la mejora de la tecnología.

La IA de código abierto contribuye a crear un ecosistema más democrático e innovador. Poner los sistemas de IA a disposición del público fomenta una mayor colaboración y acelera el progreso en el campo. Las principales organizaciones, como IBM (Granite), Meta (Llama) y Mistral AI, están liderando los esfuerzos para desarrollar código abierto de IA, proporcionando herramientas sofisticadas a desarrolladores e investigadores de todo el mundo. Por ejemplo, la plataforma de IA de IBM, watsonx.ai, utiliza varias herramientas y tecnologías clave de código abierto de IA para apoyar la innovación y el rendimiento.

Los modelos de lenguaje grandes (LLM), sistemas avanzados de IA que utilizan aprendizaje profundo y vastos conjuntos de datos para generar texto, convertir idiomas y crear diversas formas de contenido, se pueden dividir en 2 categorías principales: LLM patentados y LLM de código abierto. Ambos tipos son clave para la IA generativa, una tecnología que produce nuevos contenidos basados en patrones y datos aprendidos: texto, imágenes o música.

Los LLM de código abierto, en particular, son vitales para el ecosistema de IA generativa porque promueven un enfoque más transparente, accesible e impulsado por la comunidad en comparación con los modelos patentados.

En comparación con los modelos LLM patentados, como LaMDA de Google y ChatGPT-3 y GPT-4 de OpenAI , los LLM de código abierto ofrecen beneficios distintos. Por ejemplo, permiten a los desarrolladores inspeccionar, modificar y mejorar los modelos, lo que permite una rápida innovación y personalización.

Como otro ejemplo, los modelos de IA IBM® Granite, disponibles bajo licencias Apache 2.0 en Hugging Face y GitHub, ofrecen un rendimiento comparable al de sistemas más grandes, pero requieren muchos menos recursos informáticos, lo que demuestra cómo los modelos de código abierto pueden proporcionar alternativas más eficientes en el espacio de la IA generativa. Además, la IA de código abierto proporciona una solución rentable para las organizaciones que buscan ajustar sus modelos de IA generativa con datos patentados.     

En 2025, la empresa china DeepSeek revolucionó los mercados de IA con R1, su modelo de lenguaje de gran tamaño que cuesta solo 5.6 millones de dólares para entrenar, una fracción en comparación con líderes comerciales como ChatGPT. Este desarrollo demostró cómo los LLM de código abierto pueden competir con las ofertas comerciales, en este caso, utilizando hardware más asequible y menos microchips avanzados.5 Este cambio subraya cómo los modelos de código abierto contribuyen a la democratización de la tecnología de IA generativa.

Código abierto y seguridad

El mercado de software de código abierto crecerá de 41 830 millones de dólares en 2024 a 48 920 millones de dólares en 2025 a una tasa de crecimiento anual compuesta (CAGR) del 16.9 %.3 Este rápido crecimiento hace que la seguridad de código abierto, la práctica de gestionar los riesgos de seguridad asociados con el uso de software de código abierto en entornos de desarrollo y producción, sea cada vez más crítico.

Las principales preocupaciones de seguridad con el software de código abierto incluyen posibles vulnerabilidades en componentes con origen desconocido y falta de documentación de diseño, lo que puede conducir a ataques a la cadena de suministro si se utilizan bibliotecas comprometidas en un proyecto. 

 Como parte de su estrategia de gestión de vulnerabilidades, muchas organizaciones utilizan inteligencia de código abierto (OSINT), que se refiere a la recopilación y análisis de información disponible públicamente para evaluar amenazas, tomar decisiones o responder preguntas específicas. OSINT es una poderosa herramienta de ciberseguridad en la estrategia más amplia de seguridad de código abierto porque utiliza grandes cantidades de datos abiertos para identificar amenazas, rastrear riesgos potenciales y garantizar que el software de código abierto se mantenga seguro y confiable.

Soluciones relacionadas
Desarrollo de aplicaciones impulsado por IA

watsonx.ai permite a los equipos de desarrollo de aplicaciones integrar perfectamente la IA en sus flujos de trabajo. Desde la creación de modelos hasta su despliegue, este completo kit de herramientas da soporte a todo el ciclo de vida de la IA.

Explorar watsonx.ai
IBM Z Development and Test Environment

Utilice una plataforma para el desarrollo de aplicaciones de mainframe, pruebas, demostración y entrenamiento en hardware x86.

Explorar el entorno de desarrollo Z
Soluciones de computación en la nube móvil

Descubra la plataforma de desarrollo de aplicaciones móviles de IBM para diseñar, crear prototipos y comercializar aplicaciones de manera rápida y sencilla.

Explorar la nube móvil
Dé el siguiente paso

Los servicios de consultoría de desarrollo de aplicaciones en la nube de IBM Cloud ofrecen orientación experta y soluciones innovadoras para agilizar su estrategia de nube. Colabore con los expertos en nube y desarrollo de IBM para modernizar, escalar y acelerar sus aplicaciones, y obtenga resultados transformadores para su empresa.

Conozca los servicios de desarrollo de aplicaciones Comience a crear con IBM Cloud de forma gratuita