1 puntos por GN⁺ 2024-03-23 | 1 comentarios | Compartir por WhatsApp
  • 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