¿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 utilizar, examinar, modificar y redistribuir el OSS como mejor le parezca, normalmente sin coste 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 el titular de los derechos de autor vende el software propietario o de código cerrado a los usuarios finales, a los que no se les permite editar, mejorar o 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 e implementación.

Según un estudio de la Fundación Linux, entre el 70 y el 90 % de cualquier código base 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 ecosistemas tradicionalmente cerrados como Apple dependen de herramientas de código abierto. Por ejemplo, muchos desarrolladores de iOS utilizan bibliotecas y marcos de código abierto para hacer que el desarrollo sea 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 crear aplicaciones de IA generativa, lanzados en 2023 eran de código abierto.2

Las últimas novedades sobre tecnología, respaldadas por conocimientos de expertos

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

¡Gracias! Se ha suscrito.

Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. 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 formaba parte del funcionamiento del hardware y no era una propiedad intelectual única sujeta a los derechos de autor. Las organizaciones programaban su propio software y el uso compartido de código era una práctica común.

La Comisión sobre Nuevos Usos Tecnológicos de Obras Protegidas por Derechos de Autor se creó en 1974. Llegó a la conclusión de que el código de software era una categoría de obra creativa susceptible de protección por derechos de autor. Este avance impulsó el crecimiento de la edición independiente de software como sector, con el código fuente propietario como principal fuente de ingresos. A medida que la informática personal llevó las aplicaciones a todas las oficinas y a muchos hogares, el mercado del software se volvió muy competitivo. Los editores de software se volvieron cada vez más sensibles a las infracciones de sus derechos de propiedad.

En 1983 comenzó una rebelión contra las restricciones y limitaciones del software propietario. Al programador Richard Stallman le molestaba la idea de que los usuarios no pudieran personalizar el software propietario como les pareciera oportuno para realizar su trabajo. Stallman consideraba que el software debía ser libre, y defendió la idea del software de libre disposición para su personalización.

Stallman fundó la Free Software Foundation, y luego impulsaría 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 Licencia Pública General GNU (GPL), que requería que cualquiera que mejorara su código fuente también publicara 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 y de arriba hacia abajo, típico del desarrollo de software propietario, donde todo el desarrollo era gestionado por un grupo central (al que llamó La Catedral), frente al desarrollo público abierto y libremente compartido a través de Internet (El Bazar). Poco después, Netscape Corporation lanzó el código de su navegador Mozilla como código abierto, y el movimiento de código abierto ganó legitimidad.

Como muchos creían que el término “software libre” de Stallman enfatizaba inadecuadamente que el valor principal del software era “gratuito”, en 1999 se adoptó el término “código abierto”. La Iniciativa para el Código Abierto (OSI) fue creada para defenderlo; la organización también ha establecido reglas básicas para el sector a través de la definición de código abierto y alberga licencias de código abierto compatibles. Actualmente, 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 todos a lo mismo: software con código fuente disponible para uso público y personalización.

Desarrollo de aplicaciones

Suba a bordo: desarrollo de aplicaciones empresariales en la nube

En este vídeo, el Dr. Peter Haumer explica cómo se desarrollan las aplicaciones empresariales modernas en la nube híbrida mediante la demostración de diferentes componentes y prácticas, como 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 ello es el sistema operativo Linux, desarrollado de forma colaborativa por una comunidad global.

Por el contrario, los estándares abiertos son directrices de acceso público que garantizan la interoperabilidad entre diferentes tecnologías. Por ejemplo, el Protocolo de Transferencia de Hipertexto (HTTP) es un estándar abierto que define la forma en que se comunican los navegadores web y los servidores.

Aunque 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 la informática empresarial y personal

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

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

  • El sistema operativo Linux, una alternativa de código abierto al sistema operativo Unix
  • Mozilla Firefox, un navegador web basado originalmente en Netscape Navigator
  • LibreOffice, un conjunto de aplicaciones de productividad ofimática 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 utilizan ampliamente en redes, empresas y cloud computing. Las categorías de software de código abierto citadas por los profesionales de TI como las más comunes en las implementaciones 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 el software de código abierto pueden variar significativamente de una persona a otra y de una organización a otra. En muchos casos, los usuarios finales desconocen por completo los programas de código abierto en sus ordenadores 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 desean la funcionalidad del software sin intención de reescribir ni siquiera mirar el código fuente.

Por otro lado, una empresa puede optar por el software de código abierto en lugar de una alternativa propietaria por su bajo coste (o nulo), la flexibilidad para personalizar el código fuente o el gran respaldo de la comunidad de usuarios.

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

Si bien los productos de código abierto pueden ahorrar a las empresas los costes de licencia, pueden generar otros relacionados con la integración de redes, la asistencia al usuario final y al departamento de TI, y otros servicios que suelen incluirse con el software propietario. Aun así, muchas organizaciones consideran que el software de código abierto para empresas es tan fiable y seguro como el propietario. A menudo se sienten más cómodas con las soluciones de código abierto porque pueden inspeccionar el código del programa y saber exactamente qué están añadiendo a su infraestructura informática.

Cómo crean los programadores 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 han sido creados por programadores independientes 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 de vacaciones de diciembre de 1989. De manera similar, LinkedIn desarrolló la plataforma de transmisión de datos distribuida Apache Kafka para uso interno y, posteriormente, la convirtió en código abierto y la donó a la Apache Software Foundation.

A medida que estos y otros proyectos de código abierto similares han ido madurando, han involucrado a miles de programadores que han contribuido con innumerables líneas de código, probando el software, redactando documentación, creando el sitio web del proyecto, etc.

En el otro extremo del espectro, los ingenieros de Google crearon la plataforma de orquestación de contenedores Kubernetes como una implementación de código abierto de la tecnología que habían desarrollado internamente para equilibrar las cargas de trabajo de los servidores 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 (CNCF). Desde entonces, miles de desarrolladores han trabajado en la evolución del kernel, incluidos representantes de las principales compañías informáticas.

Con el tiempo, un ecosistema debe apoyar los 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 diversos grupos de trabajo distribuidos colaboren y administren proyectos de código abierto. En un informe de 2023, GitHub había registrado 100 millones de desarrolladores utilizando su producto.3

Algunas organizaciones sin ánimo de lucro, como la Fundación de Software Libre y la Iniciativa para el Código Abierto (OSI), han surgido para apoyar y financiar el mantenimiento de los proyectos de código abierto. Además, varias decenas de fundaciones específicas para aplicaciones, como la Fundación Linux, respaldan programas y proyectos de código abierto relacionados con esas tecnologías.

Software de código abierto y propiedad intelectual

“Código abierto” y “propietario” representan enfoques alternativos a la propiedad de la propiedad intelectual (PI) incorporada en una aplicación. El objetivo del código abierto es 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 suscripción o una tarifa de licencia propietaria.

Sin embargo, la idea del software de código abierto no es principalmente un mensaje contra los beneficios o el capitalismo. No obstante, en manos de su comunidad de usuarios, el software alcanzará naturalmente su máximo potencial al proporcionar un mayor valor a más usuarios.

El mayor proyecto de código abierto de la historia, Internet, se utilizó originalmente para compartir trabajos académicos; todo lo que va más allá de ese estrecho caso de uso es el resultado de innumerables mentes que imaginan y ponen en práctica nuevas posibilidades.

Aunque el software de código abierto está disponible gratuitamente para el público, no es de dominio públicoque es una categoría jurídica 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 las obras derivadas construidas en código abierto tengan derechos de autor y se vendan. Esto amplía las oportunidades comerciales para aquellos que 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 mejor le pareciera, siempre y cuando el código resultante se publicara libre para que todos pudieran utilizarlo. De esta manera, la licencia copyleft GPL creó un nuevo tipo de propiedad intelectual cuasi pública, con restricciones legalmente exigibles impuestas por el titular original de los derechos de autor para protegerse contra reclamaciones posteriores de propiedad restrictiva por parte de terceros.

Desde entonces, se han desarrollado numerosas licencias de software de código abierto; la Iniciativa para el Código Abierto enumera más de 100 licencias de código abierto aprobadas. Algunos de ellos permiten crear productos propietarios a partir de código abierto.

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

Modelos de negocio de código abierto

Aunque parece que la creación de software de código abierto es una empresa de alto nivel, incluso caritativa, hay trabajo involucrado en su creación, mantenimiento y evolución, y hacer este trabajo es una cuestión de dinero. Afortunadamente, hay varias formas en que los proyectos de código abierto, y las empresas creadas en torno a ellos, pueden prosperar.

Una ruta es a través de contribuciones caritativas a fundaciones. Las empresas están interesadas en apoyar el software de código abierto porque proporciona una funcionalidad muy importante con un ahorro significativo de costes y, a menudo, aportan fondos y ponen a disposición empleados asalariados para trabajar en proyectos de código abierto. Sin embargo, esto proporciona principalmente mantenimiento tecnológico a largo plazo y no genera beneficios 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 versión empresarial del sistema operativo Linux, cobrando a los clientes por asistencia técnica y añadiendo características destinadas explícitamente a resolver los problemas que una empresa podría encontrar al implementar un sistema operativo no probado y en continua actualización. 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 mil millones de dólares, 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 destacado en el desarrollo y soporte de otros proyectos clave de código abierto, como Kubernetes y Ansible, que ahora son parte integral de sus soluciones nativas de la nube y de automatización.

WordPress, originalmente una plataforma de blogs, ahora se usa ampliamente para construir, administrar y alojar sitios web. WordPress funciona como una plataforma basada en la nube o de 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 importantes ingresos debido al tráfico que genera su software. Por ejemplo, GitHub obtiene ingresos mediante la publicidad en su sitio web, mientras que 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 para el Código Abierto, la IA de código abierto se refiere a "un sistema de IA que se pone a disposición en condiciones que permiten a los usuarios utilizar libremente el sistema para cualquier fin, estudiar su funcionamiento, inspeccionar sus componentes, modificarlo y compartirlo, independientemente de si se modifica o no". Este enfoque hace hincapié en la accesibilidad, la flexibilidad y la transparencia, lo que permite a cualquiera 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 este campo. Las principales organizaciones, como IBM (Granite), Meta (Llama) y Mistral IA, 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 de gran tamaño (LLM), sistemas avanzados de IA que utilizan el deep learning y vastos conjuntos de datos para generar texto, traducir idiomas y crear diversos tipos de contenido, se pueden dividir en dos categorías principales: LLM propietarios y LLM de código abierto. Ambos tipos son fundamentales para la IA generativa, una tecnología que produce nuevos contenidos (texto, imágenes o música) basados en patrones y datos aprendidos.

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

En comparación con los modelos LLM propietarios, 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 facilita la innovación y la personalización rápidas.

Como otro ejemplo, los modelos de IA de 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 mucho menos recursos, 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 ofrece una solución rentable para las organizaciones que desean afinar sus modelos de IA generativa con datos propios.     

En 2025, la empresa china DeepSeek revolucionó los mercados de IA con R1, su modelo lingüístico de gran tamaño que cuesta solo 5,6 millones de dólares entrenar, una fracción en comparación con líderes comerciales como ChatGPT. Este avance demostró que los LLM de código abierto pueden competir con las ofertas comerciales, ya que utilizan 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

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

Las principales preocupaciones de seguridad relacionadas con el software de código abierto son las posibles vulnerabilidades de los componentes de origen desconocido y la falta de documentación sobre el diseño, lo que puede dar lugar a ciberataques 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 el análisis de información disponible públicamente para evaluar amenazas, tomar decisiones o responder preguntas específicas. OSINT es una herramienta potente de ciberseguridad dentro de la estrategia más amplia de seguridad de código abierto, ya que utiliza grandes cantidades de datos abiertos para identificar amenazas, rastrear riesgos potenciales y garantizar que el software de código abierto siga siendo seguro y fiable.

Soluciones relacionadas
IBM Enterprise Application Service for Java

Un servicio totalmente gestionado y de inquilino único para desarrollar y entregar aplicaciones Java.

Explore las aplicaciones Java
Soluciones DevOps

Utilice el software y las herramientas de DevOps para crear, implementar y gestionar aplicaciones nativas de la nube en varios dispositivos y entornos.

Explore las soluciones DevOps
Servicios de desarrollo de aplicaciones Enterprise

El desarrollo de aplicaciones en la nube significa crear una vez, iterar rápidamente e implementar en cualquier lugar.

Servicios de desarrollo de aplicaciones
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.

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