Mi IBM Inicie sesión Suscríbase

Inicio

Topics

Código abierto

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

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

Construir sobre código abierto con IBM Suscríbase al boletín de Think
Ilustración con collage de pictogramas de monitor de ordenador, servidor, nubes, puntos
¿Qué es el software de código abierto?

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

El software de código abierto es software desarrollado y mantenido mediante colaboración abierta. Está disponible para que cualquiera lo use, lo examine, lo modifique y lo redistribuya como quiera, generalmente sin coste alguno.

El código abierto contrasta con las aplicaciones de software propietarias o de código cerrado, como Microsoft Word o Adobe Illustrator, por ejemplo. 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.

El término "código abierto" también hace referencia de manera más general a un enfoque basado en la comunidad para crear cualquier propiedad intelectual, como el software, a través de la colaboración abierta, la inclusión, la transparencia y las actualizaciones públicas frecuentes.

Desmitificando datos con IA en IBM Z

Conozca los puntos débiles más comunes de los clientes que la IA puede resolver, qué capacidades están disponibles hoy en día y cómo IBM Z es la plataforma de IA ideal.

Contenido relacionado Regístrese para recibir el informe de análisis sobre seguridad cuántica
Una breve historia del software de código abierto

Una breve historia del software de código abierto

Hasta mediados de la década de 1970, el código informático se consideraba implícito en el funcionamiento del hardware informático y no como propiedad intelectual única sujeta a la protección del derecho 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 las Obras Protegidas por Derecho de Autor se creó en 1974 y concluyó que el código de software era una categoría de obra creativa adecuada para la protección del derecho de autor. Esto impulsó el crecimiento de la publicación de software independiente como industria, con código fuente propietario como principal fuente de ingresos. A medida que la informática personal llevaba las aplicaciones a todos los escritorios de las empresas y a muchos hogares, el mercado del software se hizo intensamente competitivo y los editores de programas informáticos se mostraron cada vez más alerta ante las infracciones de sus derechos de propiedad.

En 1983 comenzó una especie de rebelión contra las restricciones y limitaciones del software privativo. 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 debería ser libre, como la palabra, no la cerveza", y defendía la idea de un software que se pudiera personalizar libremente.

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 titulado “La Catedral y el Bazar” se considera 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 de Código Abierto fue creada para defenderlo; la organización también ha establecido reglas básicas para la industria 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.

Código abierto en la informática empresarial y personal

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 fuente abierto de muchos tipos, que suelen adoptar los desarrolladores para realizar operaciones fundamentales y, a menudo, funciones más avanzadas.

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

  • 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

  • Marcos para inteligencia artificial, machine learning o deep learning

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

Por qué los usuarios y las empresas eligen 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 simplemente quieren la funcionalidad del software, sin intención de reescribir o incluso mirar el código fuente.

Una empresa, por otro lado, puede elegir el software de código abierto en lugar de una alternativa propietaria por su bajo (o nulo) coste, la flexibilidad para personalizar el código fuente o la existencia de una gran comunidad que respalda la aplicación. 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 empresas 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.

Aunque los productos de código abierto pueden ahorrar a las empresas el coste de las licencias, pueden incurrir en otros gastos, como los de integración en red, soporte informático y de usuario final, y otros servicios que suelen incluirse con el software propietario. Aun así, muchas empresas consideran que el software de código abierto empresarial es al menos tan fiable y seguro como el software propietario, y se sienten más cómodas con las soluciones de código abierto porque pueden inspeccionar el código del programa y entender exactamente lo que están añadiendo a su infraestructura informática.

Cómo se hace el software de código abierto

Cómo se hace el software de código abierto

El modelo de desarrollo de código abierto abarca toda la gama. Numerosos programas de código abierto han sido creados por programadores en solitario 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 Navidad de 1989. De manera similar, el servidor web Apache comenzó con un pequeño grupo de programadores que trabajaban juntos para mejorar el software del servidor escrito originalmente por Robert McCool cuando era estudiante en un programa de supercomputación.

A medida que estos y otros proyectos de código abierto similares han ido madurando, han implicado a muchos miles de programadores que han contribuido con incontables líneas de código, y han probado el software, escrito la documentación, construido el sitio web del proyecto y mucho más.

En el otro extremo del espectro, los ingenieros de Google iniciaron la plataforma de orquestación de contenedores Kubernetes, como implementación de código abierto de una tecnología creada originalmente de forma interna 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. 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 tiene que soportar 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. Solo GitHub ha registrado 83 millones de desarrolladores y más de 20 millones de repositorios de proyectos abiertos, y cada repositorio representa una rama única de un proyecto de código abierto.

Han surgido varias organizaciones sin ánimo de lucro para apoyar y financiar el mantenimiento continuo de proyectos de código abierto, como la Free Software Foundation y la Open Source Initiative. Y hay muchas docenas de fundaciones de aplicaciones específicas, como la Fundación Linux, que apoyan programas específicos de código abierto y proyectos relacionados que respaldan esas tecnologías.

Software de código abierto y propiedad intelectual

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. Con el código abierto, la propiedad intelectual tiene como objetivo beneficiar al público sin ningún motivo de lucro asociado a la titularidad de 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 que subyace al software de código abierto no es principalmente un mensaje contra el lucro o el capitalismo, sino que, en manos de su comunidad de usuarios, el software alcanzará de forma natural su mayor potencial al proporcionar 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.

Si bien el software de código abierto se pone a disposición del público de forma gratuita, no es de dominio públicouna categoría legal de propiedad intelectual desprovista de cualquier derecho 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

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. Así, la licencia copyleft de la GPL creó un nuevo tipo de propiedad intelectual de dominio casi público, pero con restricciones legalmente exigibles impuestas por el titular original de los derechos de autor para protegerse de posteriores reclamaciones de propiedad restrictiva por parte de otros.

Desde entonces, se han desarrollado 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 ellos permiten crear productos propietarios a partir de código abierto.

Las licencias de código abierto a veces se clasifican como “permisivas” (es decir, que permiten a los usuarios registrar sus propias obras) 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

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. A las empresas les interesa apoyar el software de código abierto, ya que proporciona una funcionalidad tan importante con un ahorro de costes tan significativo, y a menudo aportan fondos e incluso dedican empleados asalariados a trabajar en proyectos de código abierto. Pero esto proporciona principalmente el mantenimiento a largo plazo de la tecnología 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 agregó características destinadas específicamente a resolver los problemas que una empresa podría encontrar al implementar un sistema operativo no curado y continuamente actualizado. En 2012, Red Hat se convirtió en la primera empresa de software de código abierto en superar los 1000 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.

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 software como servicio, 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 en función de la publicidad que aparece en su sitio; Mozilla Firefox obtiene ingresos de los motores de búsqueda que admite.

Soluciones relacionadas

Soluciones relacionadas

Software Red Hat en IBM Cloud

Descubra cómo las soluciones de IBM y Red Hat pueden aumentar su productividad, reducir sus costes y mejorar los resultados de su empresa.

Explore las soluciones de IBM y Red Hat
IBM LinuxONE

LinuxONE es un servidor Linux de nivel empresarial que combina la experiencia de IBM en la creación de sistemas empresariales con la apertura del sistema operativo.

Explore LinuxONE
Linux en IBM Z 

El sistema operativo Linux en la plataforma de mainframe IBM Z cuenta con privacidad de datos y ciberseguridad en una nube híbrida múltiple.

Explore Linux en IBM Z
Enterprise Linux en IBM Power

Con Enterprise Linux en IBM Power, puede amplificar los muchos beneficios de la tecnología de código abierto (fiabilidad, seguridad y escalabilidad) con opciones de implementación nativas de la nube líderes en la industria.

Explorar Linux on Power
Recursos

Recursos

Código abierto en IBM

Desde la cadena de bloques hasta los contenedores, pasando por la IA y los sistemas operativos, nuestros desarrolladores están creando proyectos emergentes de código abierto y rodeándolos de código, documentos y materiales de apoyo.

¿Es seguro su software de código abierto?

Mejorar su cadena de suministro de software puede minimizar significativamente el riesgo de verse comprometido.

El ecosistema de código abierto de IBM watsonx

Los desarrolladores, arquitectos y administradores de sistemas eligen productos basados en código abierto, como IBM watsonx, para representar sus necesidades en las principales comunidades estratégicas de código abierto. Descubra las principales tecnologías de código abierto que hacen que la plataforma de IA de IBM sea nativa de la nube de alto rendimiento.

Dé el siguiente paso

Red Hat OpenShift on IBM Cloud ofrece a los desarrolladores una forma rápida y segura de contenerizar e implementar cargas de trabajo empresariales en clústeres Kubernetes. Descargue las tareas tediosas y repetitivas que implican la gestión de la seguridad, la gestión de la conformidad, la gestión de la implementación y la gestión del ciclo de vida continuo. 

Explore Red Hat OpenShift on IBM Cloud Empiece gratis