A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Qué es Open Source

Open SourceDefinición:

Open Source, o código abierto, es el software cuyo código fuente se distribuye con una licencia que permite utilizarlo, estudiarlo, modificarlo y redistribuirlo, incluidas las versiones derivadas. Estas facultades están sujetas a las condiciones de la licencia correspondiente.

El acceso al código no basta para que un programa sea Open Source. La licencia debe conceder derechos efectivos de modificación y distribución, sin restricciones incompatibles con el modelo abierto. El software sigue protegido por derechos de autor y puede tener obligaciones de atribución, conservación de avisos o publicación del código derivado.

Origen y alcance del Open Source

El término Open Source se adoptó en 1998 para describir un modelo de distribución de software basado en licencias abiertas y desarrollo colaborativo. Ese mismo año se creó la Open Source Initiative (OSI), organización que mantiene la Open Source Definition y revisa licencias para determinar si cumplen sus criterios.

La definición de la OSI exige, entre otros aspectos, libre redistribución, disponibilidad del código fuente, autorización para crear obras derivadas y ausencia de discriminación contra personas, grupos o ámbitos de actividad. Una licencia no puede considerarse abierta solo porque permita leer el código.

Open Source también se utiliza para describir prácticas de desarrollo transparentes y colaborativas. Sin embargo, un proyecto puede publicar su repositorio sin aceptar contribuciones externas, y una comunidad abierta no sustituye los permisos jurídicos de la licencia.

Funcionamiento de un proyecto abierto

El desarrollo suele organizarse en torno a un repositorio que contiene el código fuente, el historial de cambios y la documentación necesaria. Los mantenedores revisan aportaciones, corrigen errores, preparan versiones y deciden la dirección técnica del proyecto.

Los usuarios pueden informar de incidencias, proponer cambios o crear una copia independiente, conocida como fork, cuando la licencia lo permite. El derecho a modificar el software no obliga al proyecto original a incorporar cada aportación ni garantiza acceso a su infraestructura, marca o canales oficiales.

La gobernanza puede recaer en una persona, una comunidad, una fundación o una empresa. Algunos proyectos aceptan contribuciones públicas; otros desarrollan el código de forma abierta, pero concentran las decisiones en un grupo reducido. Por ello, licencia, proceso de contribución y gobierno son dimensiones relacionadas, aunque diferentes.

Licencias de código abierto

Las licencias determinan qué puede hacerse con el programa y qué condiciones deben cumplirse al redistribuirlo. Dos familias frecuentes son las licencias permisivas y las licencias copyleft.

Las licencias permisivas, como MIT, BSD o Apache License 2.0, permiten reutilizar el código con pocas obligaciones, normalmente conservar avisos de autoría y licencia. Apache 2.0 también incorpora disposiciones expresas sobre patentes.

Las licencias copyleft, como GNU GPL, permiten modificar y distribuir el software, pero exigen que determinadas versiones derivadas se ofrezcan bajo la misma licencia y con su código fuente. Otras licencias aplican reciprocidad a un archivo, una biblioteca o la prestación del software a través de una red.

La compatibilidad entre licencias debe revisarse antes de combinar componentes. Que dos programas sean Open Source no significa que sus condiciones puedan integrarse en cualquier distribución sin ajustes.

Diferencias con conceptos próximos

El código abierto se relaciona con otros modelos de distribución, pero no es equivalente a todos ellos:

  • Software libre: Defiende cuatro libertades para ejecutar, estudiar, modificar y compartir el programa. Gran parte del software libre también es Open Source, aunque ambos movimientos emplean marcos y prioridades diferentes.
  • Freeware: Es software disponible sin precio, pero puede mantener cerrado el código y prohibir su modificación o redistribución.
  • Source-available: Permite consultar el código, pero puede restringir usos comerciales, redistribución o creación de derivados. Esas restricciones pueden impedir que la licencia sea Open Source.
  • Dominio público: Carece de derechos exclusivos aplicables o ha sido cedido al dominio público donde la legislación lo permite. El software Open Source, en cambio, normalmente conserva copyright y se utiliza mediante una licencia.

El software propietario limita el acceso al código o los derechos de modificación y distribución. Puede ser gratuito o comercial, del mismo modo que un programa Open Source puede distribuirse sin coste o venderse junto con soporte, alojamiento y otros servicios.

Ejemplos de proyectos Open Source

Los proyectos abiertos abarcan sistemas operativos, publicación web, navegación, correo y análisis de datos. Entre los ejemplos consolidados se encuentran:

  • Linux: Núcleo utilizado en numerosas distribuciones y sistemas, publicado bajo GNU GPL versión 2.
  • WordPress: Sistema de gestión de contenidos distribuido bajo GNU GPL versión 2 o posterior.
  • Mozilla Firefox: Navegador cuyo código se publica principalmente bajo Mozilla Public License 2.0.
  • Thunderbird: Cliente de correo y calendario desarrollado como proyecto abierto bajo Mozilla Public License 2.0.
  • Matomo: Plataforma de analítica digital que ofrece una edición instalable bajo GNU GPL versión 3.
  • R: Lenguaje y entorno para estadística y visualización distribuido como software libre y de código abierto.

GitHub puede alojar y coordinar proyectos Open Source, pero la plataforma no convierte automáticamente en abierto el software que contiene. Cada repositorio debe indicar su propia licencia; en ausencia de ella, se mantienen por defecto los derechos exclusivos del autor.

Aportaciones del modelo abierto

El acceso al código facilita la inspección técnica, la adaptación a necesidades concretas y la continuidad de un proyecto si sus responsables originales dejan de mantenerlo. También permite reutilizar componentes existentes y compartir correcciones entre organizaciones con problemas similares.

La diversidad de participantes puede ampliar la revisión y acelerar la detección de errores, pero el resultado depende de la actividad real del proyecto. La posibilidad de auditar el código no implica que alguien lo haya revisado, ni garantiza por sí misma seguridad, calidad o ausencia de vulnerabilidades.

Para empresas y administraciones, una licencia abierta puede reducir la dependencia de un proveedor y ofrecer más alternativas de alojamiento, soporte o desarrollo. Esto no elimina los costes de implantación, integración, mantenimiento, formación y cumplimiento de la licencia.

Límites y responsabilidades

Un proyecto puede tener poca documentación, escasos mantenedores o ciclos de actualización irregulares. Antes de depender de un componente resultan relevantes su actividad reciente, el tratamiento de vulnerabilidades, la compatibilidad, la gobernanza y la disponibilidad de soporte.

Las licencias Open Source suelen excluir garantías y limitar la responsabilidad de los autores. Quien redistribuye o incorpora el software debe conservar avisos, ofrecer el código cuando corresponda y respetar otras condiciones aplicables. También debe revisar dependencias, marcas y posibles derechos de patentes.

El modelo abierto ofrece derechos para estudiar, modificar y compartir tecnología, pero su aprovechamiento sostenible requiere mantenimiento, gobierno y cumplimiento jurídico. La apertura de la licencia define las libertades básicas; la calidad del proyecto depende de cómo se desarrollan y mantienen sus componentes.