¿Qué es el modelo Open Source?
Open Source es un modelo de desarrollo de software basado en la publicación de bases de código públicas, de modo que todos los usuarios obtienen acceso ilimitado al código fuente original utilizado para crear la biblioteca, el framework o la librería. Este modelo promueve la colaboración, la transparencia y la participación de la comunidad, porque todos pueden contribuir a la base de código, reportar errores y sugerir nuevas características.
¿Qué es una base de código?
Una base de código es la colección de archivos de código fuente que componen un proyecto de software. Para que un proyecto sea de Open Source, su base de código debe ser fácilmente accesible por cualquier persona.
Codebases generally include all libraries, frameworks, and tools used to build, test, and maintain the software, plus the necessary documentation like licenses, credits and user manuals. Las bases de código generalmente incluyen todas las bibliotecas, marcos y herramientas utilizadas para construir, probar y mantener el software, además de la documentación necesaria como licencias, créditos y manuales de usuario.
¿Cómo publicar bases de código abiertas?
Los códigos base solían distribuirse a través de servidores de archivos, noticias en línea o listas de correo.
La mayoría de los proyectos aceptan contribuciones externas y los desarrolladores modernos utilizan plataformas de codificación social en línea que permiten a los usuarios proponer fácilmente mejoras y servicios automatizados para analizar los archivos antes de su distribución, lo que permite lanzamientos de aplicaciones más rápidos y seguros.
La plataforma de codificación social más popular es , propiedad de Microsoft®.1
Dentro de las plataformas de codificación social, las commits2 de los desarrolladores se agrupan en Pull Requests3 y se evalúan antes de fusionarse de forma segura con el resto del código.
¿Qué es la Open Source Initiative® (OSI)?
La Open Source Initiative® es una organización impulsada por la comunidad que se ha convertido en un estándar de facto para definir el modelo de Open Source. Su logotipo es una cerradura abstracta, que significa "desbloquear código fuente cerrado".
La OSI no es una autoridad formal y legalmente reconocida, pero las organizaciones y los desarrolladores confían ampliamente.
¿Qué es la Open Source Definition (OSD)?
La OSI también mantiene la Open Source Definition4, un conjunto de criterios que define qué constituye un software de código abierto y se utiliza a menudo para decidir si una licencia de software califica como de open source.
Si un software es open source, puedes ver, modificar y distribuir el código fuente libremente.
¿Qué es el software source-available?
El software source-available es un modelo de desarrollo donde el código fuente se publica sin garantizar necesariamente derechos adicionales al usuario. Por ello, las bases de código fuente disponibles pueden contener componentes propietarios y, según el caso específico, podrían no considerarse de código abierto.
Todo software que pone a disposición su código fuente - independientemente de los términos de la licencia - puede ser llamado source-available, pero cuando el esfuerzo del autor va más allá de la mera publicación del código base, es más apropiado utilizar definiciones más específicas como Open Source, source-available or software libre.
¿Qué es la Shared Source Initiative (SSI)?
La Shared Source Initiative es un conjunto de licencias orientadas a empresas, creado por Microsoft® en 2001. Permitía a los usuarios acceder y visualizar el código fuente de ciertos productos, a la vez que imponía restricciones a su modificación y redistribución. Ofrece algunas de las ventajas del software Open Source, manteniendo al mismo tiempo el control sobre la propiedad intelectual, garantizando así beneficios futuros y evitando la competencia comercial desleal.
Actualmente algunas de las licencias producidas por la SSI son reconocidas como Open Source y otras como software libre.
¿Qué es el Shared Source software?
Shared Source software es un tipo de software de código source-available.
Este modelo, derivado del SSI, es un punto intermedio entre el software libre, el software Open Source y el software propietario, que permite a los usuarios ver y aprender del código, pero no necesariamente modificarlo o distribuirlo libremente.
¿Todo el software source-available también es Shared Source?
Todo software Shared Source es source-available, pero lo opuesto no siempre es cierto: el software Shared Source es un tipo específico de software disponible en su fuente que se originó en SSI, mientras que el software source-available es un término más general que puede referirse a cualquier software que haga que su código fuente esté disponible, independientemente de los términos de la licencia.
un "commit" es un conjunto limitado de cambios reversibles en una base de código, idealmente asociado a una descripción detallada de los cambios.↩
una Pull Request (o Merge Request) es una solicitud formal para fusionar una serie de commit bien ordenadas con el resto del código base.↩
examine la Open Source Definition annotada.↩