Redis anuncia un cambio de licencia
(github.com/redis)- Redis Open Source pasará a un modelo de triple licencia para todo nuevo código contribuido a partir de Redis 8, aplicando una de RSALv2, SSPLv1 o AGPLv3
- Las contribuciones posteriores a Redis 8 quedarán sujetas al Redis Software Grant and Contributor License Agreement actualizado, mientras que Redis Open Source 7.2 y versiones anteriores mantienen la licencia BSD de 3 cláusulas referida en REDISCONTRIBUTIONS.txt
- RSALv2 otorga permisos para usar, copiar, distribuir y crear trabajos derivados, pero restringe ofrecer a terceros como servicio la funcionalidad del software o de versiones modificadas
- SSPLv1 exige divulgar el Service Source Code si se ofrece como servicio la funcionalidad del programa o de una versión modificada, incluyendo software de administración, UI, API, automatización, monitoreo, respaldos, almacenamiento y hosting
- AGPLv3 es una licencia copyleft que exige proporcionar a los usuarios del servidor el código fuente modificado correspondiente cuando una versión modificada se ofrece en un servidor de red accesible públicamente
La estructura de licencias cambia a partir de Redis 8
- Redis Open Source aplicará un modelo de triple licencia a todo nuevo código contribuido a partir de Redis 8
- Las nuevas contribuciones estarán regidas por el Redis Software Grant and Contributor License Agreement actualizado
- En Redis 8.0 y versiones posteriores se podrá elegir entre 3 licencias
- Redis Source Available License v2, RSALv2
- Server Side Public License v1, SSPLv1
- GNU Affero General Public License v3, AGPLv3
- Redis Open Source 7.2 y versiones anteriores seguirá bajo la licencia BSD de 3 cláusulas referida en el archivo REDISCONTRIBUTIONS.txt
RSALv2: permisos de uso y restricción para ofrecerlo como servicio
- La última actualización del acuerdo RSALv2 es del 30 de diciembre de 2023
- Instalar, descargar, acceder, usar o distribuir el software se considera aceptación de todos los términos de RSALv2
- Si se recibe el software en nombre de una empresa u organización, se debe declarar y garantizar que se tiene autoridad para aceptar el acuerdo en nombre de esa entidad
- El licenciante se reserva el derecho de actualizar este acuerdo en cualquier momento
-
Derechos otorgados
- El licenciante concede una licencia no exclusiva, gratuita y mundial para usar, copiar, distribuir, poner a disposición del público y crear trabajos derivados
- Esta licencia no puede sublicenciarse ni transferirse
- Los derechos no otorgados expresamente no surgen únicamente de los términos del acuerdo
-
Restricciones principales
- No se puede ofrecer a terceros como servicio la funcionalidad del software o de una versión modificada
- No se puede distribuir de una manera en la que la funcionalidad del software o de una versión modificada quede disponible para terceros
- Ofrecer funcionalidad a terceros incluye los siguientes casos
- Cuando terceros interactúan con la funcionalidad de forma remota a través de una arquitectura distribuida o una red informática
- Cuando el valor de un producto o servicio proviene total o principalmente del valor del software o de la versión modificada
- Cuando se ofrece un producto o servicio cuyo propósito principal es ejecutar para los usuarios la función principal del software o de la versión modificada
- No se pueden modificar, eliminar ni ocultar licencias, derechos de autor u otros avisos del licenciante
- El uso de marcas comerciales está sujeto a la legislación aplicable
-
Patentes, avisos y terminación
- El licenciante otorga una licencia de patentes sobre las reivindicaciones que posea o pueda licenciar para fabricar, usar, vender e importar el software
- Si el usuario alega por escrito que el software infringe una patente, la licencia de patentes bajo RSALv2 termina de inmediato
- Debe asegurarse que toda persona que reciba una copia de cualquier parte del software reciba también los términos de RSALv2
- Si se modifica el software, debe incluirse en la versión modificada un aviso visible indicando que fue modificada
- El uso en violación del acuerdo no constituye uso licenciado y la licencia termina automáticamente
- Si se dejan de cometer todas las infracciones dentro de 30 días después de recibir el aviso, la licencia se restablece retroactivamente
- Si después del restablecimiento se vuelve a infringir, la licencia termina automática y permanentemente por la infracción adicional
- El software se proporciona tal cual, en la medida permitida por la ley, y el licenciante no asume responsabilidad por daños
-
Ley aplicable y jurisdicción
- Para usuarios de Asia, Pacífico, las Américas y jurisdicciones no incluidas en las regiones separadas de abajo, aplica la ley del estado de California, EE. UU., y los tribunales del condado de Santa Clara tienen jurisdicción exclusiva
- Para usuarios de Israel, aplica la ley de Israel, y los tribunales del Distrito Central de Israel tienen jurisdicción exclusiva
- Para usuarios de Europa, Reino Unido, Medio Oriente y África, aplica la ley de Inglaterra y Gales, y los tribunales de Londres tienen jurisdicción exclusiva
SSPLv1: obligación de divulgar el código fuente al ofrecer servicios de servidor
- SSPLv1 es la versión 1 del 16 de octubre de 2018 e incluye el aviso de copyright de MongoDB, Inc.
- El texto de la licencia puede copiarse y distribuirse tal cual, pero no modificarse
- En términos generales, establece derechos para ejecutar, modificar, propagar y transmitir el programa, y no permite sublicencias
-
Código fuente y condiciones de transmisión
- El código fuente es la forma preferida del trabajo para hacer modificaciones, y el código objeto significa cualquier forma que no sea código fuente
- Para transmitir un covered work en forma de código objeto, también debe entregarse el Corresponding Source
- El Corresponding Source incluye el código fuente y los scripts necesarios para generar, instalar, ejecutar y modificar el código objeto
- Las bibliotecas del sistema, herramientas de uso general y programas libres disponibles de forma general que se usen sin modificación pueden excluirse del Corresponding Source
- Al transmitir una versión modificada del código fuente, deben cumplirse estas condiciones
- Mostrar de forma visible que hubo modificaciones y las fechas correspondientes
- Licenciar la obra completa bajo SSPLv1
- Si hay una UI interactiva, mostrar los avisos legales apropiados
-
Cláusula de prestación de servicios
- Si se ofrece a terceros como servicio la funcionalidad del programa o de una versión modificada, debe permitirse que cualquiera descargue gratuitamente por red el Service Source Code
- La prestación de servicios incluye ofrecer interacción a través de una red informática remota, ofrecer un servicio cuyo valor proviene principalmente del programa, u ofrecer un servicio que ejecuta para los usuarios el propósito principal del programa
- El Service Source Code incluye no solo el Corresponding Source del programa o de la versión modificada, sino también el Corresponding Source de todos los programas usados para prestar el servicio
- software de administración
- interfaz de usuario
- API
- software de automatización
- software de monitoreo
- software de respaldo
- software de almacenamiento
- software de hosting
- El Service Source Code debe ser suficiente para que un usuario pueda ejecutar una instancia del servicio usando el código fuente publicado
-
Terminación y patentes
- Cualquier intento de propagar o modificar de una manera no permitida expresamente por la licencia es nulo y termina automáticamente los derechos
- Si se deja de cometer la infracción, la licencia puede restablecerse temporal o permanentemente bajo ciertas condiciones
- Puede haber restablecimiento permanente si el titular del copyright no notifica antes de 60 días después del cese de la infracción
- Si es el primer aviso de infracción y se corrige dentro de 30 días tras recibirlo, hay restablecimiento permanente
- Cada contribuyente concede una licencia mundial y gratuita sobre las reivindicaciones de patentes esenciales
- No pueden imponerse restricciones adicionales al ejercicio de derechos, por ejemplo presentando una demanda que alegue que el programa o parte de él infringe una patente
AGPLv3: copyleft para software de servidor en red
- AGPLv3 es la versión 3 de la GNU Affero General Public License del 19 de noviembre de 2007
- Incluye el aviso de copyright de la Free Software Foundation, y el texto de la licencia puede copiarse y distribuirse tal cual, pero no modificarse
- AGPLv3 es una licencia copyleft libre para software y otros tipos de obras, diseñada especialmente para asegurar la cooperación con la comunidad en software de servidor en red
-
Objetivo del diseño
- Las licencias de la familia GPL buscan garantizar el derecho a distribuir copias de software libre, acceder al código fuente, modificarlo y reutilizarlo en nuevos programas libres
- Bajo la GNU GPL general, puede darse el caso de que una versión modificada se ofrezca en un servidor de acceso público sin publicar su código fuente
- AGPLv3 exige que, incluso en ese caso, el código fuente modificado se proporcione a la comunidad
- Si un operador de servidor ejecuta una versión modificada y la ofrece a usuarios, debe proporcionar el código fuente de esa versión modificada a los usuarios de ese servidor
- Si se permite el uso público de una versión modificada en un servidor accesible públicamente, ese uso público genera acceso al código fuente de la versión modificada
-
Derechos básicos y condiciones de transmisión
- Los derechos de AGPLv3 se conceden durante el plazo del copyright del programa y no pueden revocarse mientras se cumplan las condiciones
- Se reconoce expresamente el derecho ilimitado a ejecutar el programa sin modificar
- Un covered work que no se modifica ni se transmite puede crearse, ejecutarse y propagarse sin condiciones mientras la licencia siga vigente
- Pueden transmitirse copias literales del código fuente original con los avisos apropiados de copyright, licencia, ausencia de garantía y una copia de la licencia
- Para transmitir una versión modificada del código fuente, debe indicarse que hubo modificaciones y la fecha, y la obra completa debe licenciarse bajo AGPLv3
Puntos a revisar en la práctica
- Para el nuevo código a partir de Redis 8 ya no aplica una estructura única basada en BSDv3, sino una de RSALv2, SSPLv1 o AGPLv3
- Deben distinguirse las condiciones de licencia al trabajar con Redis 7.2 y versiones anteriores frente a Redis 8.0 y versiones posteriores
- Si se ofrece a terceros en modalidad de servicio la funcionalidad de Redis o de una versión modificada, las restricciones u obligaciones de divulgación de código cambian según la licencia elegida
- RSALv2 restringe la propia prestación como servicio, mientras que SSPLv1 exige divulgar ampliamente el Service Source Code cuando se presta como servicio
- AGPLv3 exige proporcionar a los usuarios del servidor el código fuente de las versiones modificadas usadas públicamente en un servidor de red
1 comentarios
Comentarios de Hacker News