Política de Licencias de FreeBSD

This translation may be out of date. To help with the translations please access the FreeBSD translations instance.

Marcas registradas

FreeBSD es una marca registrada de la Fundación FreeBSD

Muchos de los nombres usados por los fabricantes y vendedores para diferenciar sus productos son designados como marcas comerciales. Allí donde estos nombres aparezcan en este documento y el Proyecto FreeBSD fuera consciente de la alegación de marca comercial, los nombres tienen a continuación el símbolo “™” o “®”.


1. Licencia Preferida para Nuevos Ficheros

El resto de esta sección pretende ayudarte a que te pongas en marcha. Como regla, si tienes dudas, pregunta. Es mucho más fácil recibir consejos que arreglar el árbol de fuentes. El Proyecto FreeBSD usa tanto licencias explícitas (donde se reproduce exactamente el texto de la licencia en cada fichero) como licencias implícitas (donde una etiqueta en el fichero especifica la licencia, como se describe en este documento).

El Proyecto FreeBSD usa este texto como licencia de preferencia:

/*-
 * Copyright (c) [year] [your name]
 *
 * SPDX-License-Identifier: BSD-2-Clause
 */

El projecto FreeBSD no permite usar la "cláusula de anuncio" en el código nuevo. Debido al gran número de colaboradores en el proyecto FreeBSD, cumplir con esta cláusula para muchos vendedores comerciales se ha hecho difícil. Si tienes código en el árbol con esta cláusula, por favor considera cambiar a una licencia que no la tenga. Las contribuciones nuevas a FreeBSD deberían utilizar la licencia BSD-2-Clause.

El proyecto FreeBSD desaconseja completamente licencias nuevas y variaciones de las licencias estándar. Las nuevas licencias necesitan la aprobación de core@FreeBSD.org para poder estar en el repositorio principal. En el pasado, las licencias no estándar han generado más problemas que las estándar. La mala redacción de las licencias no estándar a menudo tiene consecuencias no intencionadas, de forma que es improbable que sean aprobadas por core@FreeBSD.org El proyecto FreeBSD se está estandarizando en la licencia BSD-2-Clause, como está publicada por SPDX.

Además, la política del proyecto requiere que el código que esté bajo alguna licencia no BSD se debe situar en secciones específicas del repositorio. Para algunas licencias, la compilación debe ser condicional o estar deshabilitada por defecto. Por ejemplo, el código en la parte estática del núcleo GENERIC debe estar bajo licencia BSD o licencias substancialmente similares. El código bajo licencia GPL, APSL, CDDL, etc no puede estar compilado en el núcleo GENERIC. Sin embargo, el código bajo estas licencias puede ser utilizado en módulos precompilados.

Se recuerda a los desarrolladores que, en open source, hacer la parte "open" de forma correcta es tan importante como que la parte "source" sea correcta. Un mal manejo de la propiedad intelectual tiene consecuencias serias. Cualquier pregunta o preocupación debería ser puesta en conocimiento de core@FreeBSD.org inmediatamente.

2. Política de Licencia de Software

Las siguientes secciones describen en detalle las Políticas de Licencia de Software del proyecto. En general esperamos que los desarrolladores lean, entiendan y utilicen las secciones anteriores a esta para aplicar a sus contribuciones las licencias adecuadas. El resto de este documento detalla el trasfondo filosófico a las políticas así como las políticas en gran detalle. Como siempre, si el texto que sigue es confuso o necesitas ayuda aplicando estas políticas, por favor contacta con core@FreeBSD.org.

2.1. Principios Rectores

El Proyecto FreeBSD tiene como objetivo producir un sistema operativo completo con licencia BSD que permita a los consumidores del sistema crear productos derivados sin más restricciones u obligaciones en la licencia. Invitamos y agradecemos enormemente las contribuciones y los cambios bajo la licencia BSD de dos cláusulas, y animamos a la adopción de esta licencia por parte de otros proyectos open source. El uso de la licencia BSD es clave a la hora de animar en la adopción de tecnología avanzada de sistemas operativos, y en muchas ocasiones ha sido determinante en el uso extendido de nueva tecnología.

Sin embargo aceptamos que hay razones de peso que permiten que se incluya en el árbol de fuentes de FreeBSD software licenciado con otras licencias.

Solicitamos que el software que esté bajo una licencia no BSD se aísle en el árbol de fuentes de forma que no contamine otros componentes que son sólo BSD. Este tipo de gestión cuidadosa promueve claridad en las licencias y facilita la creación de productos derivados que sean sólo BSD.

A menos que se haga una excepción especial, no se pueden reemplazar componentes licenciados bajo BSD con software bajo una licencia más restrictiva. En su lugar animamos a los desarrolladores de FreeBSD y de software de terceros a relicenciar, realizar una doble licencia, o reimplementar componentes críticos bajo licencia BSD. Algo sí facilitaría una adopción más integral en el sistema operativo FreeBSD.

2.2. Política

  • La importación de software nuevo licenciado bajo otra licencia que no sea la licencia BSD y licencias tipo BSD (como se define abajo) requiere de la aprobación previa del FreeBSD Core Team. Las solicitudes para la importación deben incluir:

    • Una lista de características o arreglos que la versión o parche nuevo contienen, así como evidencias de que nuestros usuarios necesitan esas características. PRs o referencias a discusiones en las listas de correo son formas de evidencia ideales.

    • Este proceso se debería usar para todas las importaciones de software, no sólo para aquellas que requieran una revisión por parte del Core Team. La mera existencia de una versión nueva no justifica una importación de software a las fuentes o en los ports.

    • Una lista de ramas de FreeBSD que podrían estar afectadas. Ampliaciones del ámbito requieren una nueva solicitud y aprobación por parte del Core Team de FreeBSD.

  • El uso de la Licencia Apache 2.0 es aceptable en algunos casos. El Core Team debe aprobar la importación de nuevos componentes licenciados bajo la Licencia Apache así como el cambio de licencia de componentes existentes a la Licencia Apache.

    • Esta licencia está aprobada para los siguientes componentes:

      • Las herramientas de construcción LLVM y (con Excepciones LLVVM) componentes de tiempo de ejecución.

  • El uso de la Licencia BSD+Patent es aceptable en algunos casos. El Core Team debe aprobar la importación de nuevos componentes licenciados bajo la Licencia BSD+Patent o el cambio de licencia a Licencia BSD+Patent de componentes existentes.

    • Esta licencia está aprobada para los siguientes componentes:

      • Código derivado de EDK2 relativo a funcionalidad UEFI

  • El uso de la Licencia Common Development and Distribution (CDDL) es aceptable en algunos casos. El Core Team debe aprobar la importación de nuevos componentes licenciados bajo la Licencia CDDL o el cambio de licencia a Licencia CDDL de componentes existentes.

    • Esta licencia está aprobada para los siguientes componentes:

      • DTrace

      • Sistema de ficheros ZFS, incluyendo el soporte en el núcleo y las utilidades de espacio de usuario

  • Históricamente, la frase 'Todos los Derechos Reservados.' se incluía en todas las notas de copyright. Todas las versiones de BSD las tenían, para cumplir con la Convención de Buenos Aires de 1910 en las Américas. Con la ratificación de la Convención de Berna en 2000 por parte de Nicaragua, la Convención de Buenos Aires — y la frase — ha quedado obsoleta. Por lo tanto, el proyecto FreeBSD recomienda que el código nuevo omita la frase y apoya que los poseedores de copyright existente la eliminen. En 2018, el proyecto actualizó sus plantillas para eliminarla.

  • Inicialmente, muchos elementos en el árbol de FreeBSD estaban marcados con BSD-2-Clause-FreeBSD. Sin embargo, SPDX ha dejado obsoleta la licencia como una variante; y el texto SPDX de la etiqueta obsoleta difiere lo suficiente de la licencia FreeBSD estándar que no se debería usar. Hay una revisión en curso acerca de su uso actual.

2.2.1. Licencias Aceptables

Las siguientes licencias se consideran Licencias Tipo BSD aceptables a los propósitos de esta Política. Desviaciones o el uso de cualquier otro tipo de licencia deben ser aprobados por el Core Team de FreeBSD:

  • La versión de 2 cláusulas de la licencia BSD

/*-
 * Copyright (c) [year] [your name]
 *
 * SPDX-License-Identifier: BSD-2-Clause
 */
  • La versión de 3 cláusulas de la licencia BSD

/*-
 * Copyright (c) [year] [your name]
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */
  • La Licencia ISC

/*-
 * Copyright (c) [year] [copyright holder]
 *
 * SPDX-License-Identifier: ISC
 */
  • La Licencia MIT

/*-
 * Copyright (c) [year] [copyright holders]
 *
 * SPDX-License-Identifier: MIT
 */

3. Licencia Software Collection

El Proyecto FreeBSD licencia su recopilación de software como se describe en COPYRIGHT bajo la licencia BSD-2-Clause. Esta licencia no está por encima de la licencia de los ficheros individuales, la cual se describe abajo. Los ficheros que no tienen una licencia explícita se registran bajo la licencia BSD-2-Clause.

4. Localización del Fichero de Licencia

Para cumplir con el estándar REUSE Software lo más posible, todos los ficheros de licencias se almacenarán en el directorio LICENSES/ del repositorio. Hay tres subdirectorios bajo este directorio de primer nivel. El subdirectorio LICENSES/text/ contiene, en forma no adjunta, el texto de todas las licencias que se permiten en la colección de software de FreeBSD. Estos ficheros se almacenan usando el nombre SPDX-License-Identifier seguido de .txt. El subdirectorio LICENSES/exceptions/ tiene el texto en forma no adjunta de todas las excepciones que están permitidas en la colección de software de FreeBSD. Estos ficheros usan el nombre del identificador de excepción seguido de .txt. LICENSES/other/ contiene, en forma no adjunta, las referencias a los ficheros de licencias en expresiones SPDX-License-Identifier, pero que no sean permitidas de otra forma como licencias no adjuntas. Todos estos ficheros deben aparecer al menos una vez en la colección de software de FreeBSD, y deberían eliminarse cuando se elimine el último fichero que las referencia. Las licencias que no tienen una contrapartida adecuada en SPDX deben estar en LICENSES/other/ y tener un nombre de fichero que comienza con LicenseRef- seguido por un idstring único. Ningún fichero de este tipo ha sido identificado hasta ahora, pero si se encuentran, aquí aparecerá una lista completa.

El Proyecto FreeBSD actualmente no hace uso de los ficheros DEP5 descritos en el estándar REUSE Software . El Proyecto FreeBSD no ha marcado todavía todos los ficheros en el árbol conforme a este estándar, como se describe más adelante en este documento. El Proyecto FreeBSD no ha incluido todavía estos ficheros en sus repositorios ya que esta política todavía está evolucionando.

5. Licencia de Ficheros Individuales

Cada fichero individual en la colección de software de FreeBSD tiene su propio copyright y licencia. Cómo están marcados varía y se describe en esta sección.

Una nota de copyright identifica a quien reclama el derecho de copia sobre un fichero. El proyecto hace el mayor de los esfuerzos para proporcionarlos. Debido a que los copyright pueden ser transferidos legalmente, el titular actual del copyright podría ser distinto del que está listado en el fichero.

Una licencia es un documento legal entre un colaborador y los usuarios del software que da permiso de uso sobre las partes del software afectadas por el copyright, acorde a ciertos términos y condiciones establecidos en dicha licencia. Las licencias se pueden expresar de dos maneras en la colección de software de FreeBSD. Las licencias pueden ser explícitas en un fichero. Cuando una licencia es explícita en un fichero, ese fichero puede ser usado, copiado, y modificado acorde a esa licencia. Las licencias también se pueden expresar de forma indirecta, donde el texto de la licencia está en otra parte. El proyecto usa los identificadores de licencia de Software Package Data Exchange (SPDX) para este propósito, como se describe en las siguientes subsecciones. Los identificadores de licencia SPDX están gestionados por el SPDX Workgroup en la Linux Foundation, y han sido acordados por partes de toda la industria, vendedores de herramientas, y equipos legales. Para más información visita https://spdx.org/ y lee las siguientes secciones para conocer cómo las utiliza el Proyecto FreeBSD.

Las entidades que contribuyen con arreglos y mejoras a la colección de software sin una licencia explícita están de acuerdo en licenciar dichos cambios bajo los términos que aplican a los ficheros modificados. La política del proyecto, en línea con las prácticas de la industria, sólo incluye una nota de copyright de aquellos que hacen colaboraciones significativas en los ficheros de la colección.

Hay cuatro tipos de ficheros en la colección de software de FreeBSD:

  1. Ficheros que tienen solo una nota explícita de copyright y licencia.

  2. Ficheros que tienen tanto la nota explícita de copyright como la licencia, y una etiqueta SPDX-License-Identifier.

  3. Ficheros que tienen sólo una nota de copyright y una etiqueta SPDX-License-Identifier, pero no una licencia explícita.

  4. Ficheros que no tienen ningún tipo de copyright o licencia.

Muchos ficheros en la colección de software de FreeBSD tienen tanto nota de copyright como una licencia explícita en el fichero. En estos casos, manda la licencia contenida en el fichero.

Algunos ficheros en la colección de software de FreeBSD contienen una nota de copyright, una etiqueta SPDX-License-Identifier y una licencia explícita. La licencia explícita tiene preferencia sobre la etiqueta SPDX-License-Identifier. La etiqueta SPDX-License-Identifier es un esfuerzo que hace el proyecto para caracterizar la licencia, pero sólo es informativa para herramientas automatizadas. Lee SPDX-License-Identifier Expressions para saber cómo interpretar la expresión.

Algunos ficheros en el árbol contienen licencias implícitas. Estos ficheros sólo contienen una nota de copyright y una expresión SPDX-License-Identifier, pero no una licencia explícita. Lee SPDX-License-Identifier Expressions para saber cómo interpretar la expresión. Nota: las expresiones permitidas por el proyecto para las licencias implícitas son un subconjunto de las expresiones usadas a modo informativo o de las que se definen en el estándar.

Las licencias para ficheros que sólo contienen el SPDX-License-Identifier deberían ser construidas de la siguiente forma

  1. Empieza la licencia con la nota de copyright del fichero. Incluye a todos los titulares del copyright.

  2. Para cada subexpresión, copia el texto de la licencia de LICENSE/text/id.txt. Cuando haya excepciones, añádelas de src/share/license/exceptions/id.txt. las expresiones SPDX-License-Identifier deberían estar interpretadas conforme se describe en el estándar SPDX.

Donde id es el identificador corto de licencia de SPDX a partir de la columna Identifier de Identificadores SPDX or excepciones a las licencias.

Cuando se lee el texto de una licencia que está implícita en un fichero, se tienen que tener en cuenta algunas consideraciones para que la licencia implícita tenga sentido.

  1. Cualquier referencia a una nota de copyright se referirá a la nota de copyright construida a partir del fichero licenciado, no de una nota de copyright en el fichero del texto de la licencia en sí. Muchos ficheros SPDX tienen notas de copyright de ejemplo que sólo se entienden si se interpretan como ejemplos.

  2. Cuando en los textos de las licencias se hace referencia a nombres de entidades, estas se deberán construir para que puedan aplicar sobre la lista de todos los titulares de copyright listados en las notas de copyright del fichero licenciad. Por ejemplo, la licencia BSD-4-clause contiene la frase "Este producto incluye software desarrollado por la organización". La frase 'la organización' debería ser reemplazada por los titulares del copyright.

  3. Cuando SPDX ofrece variaciones de la licencia, se entiende que la licencia en el fichero LICENSE/ representa la versión exacta de la licencia seleccionada. El estándar SPDX existe para identificar familias de licencias y estas variaciones ayudan a identificar licencias similares que la organización SPDX cree que serían legalmente idénticas.

Para licencias que tienen pequeñas variaciones en el texto, el SPDX tiene directrices para hacerlas concordar. Estas directrices no son relevantes aquí. Los colaboradores que quieran licenciar bajo una variante de una licencia SPDX que no esté contenida de forma literal en LICENSE/ no pueden usar la opción implícita y deben especificar la licencia explícitamente.

A algunos ficheros no se les pueden añadir comentarios adecuados. En tales casos, se puede encontrar una licencia en file.ext.license. Por ejemplo, un fichero llamado foo.jpg podría tener la licencia en foo.jpg.license, siguiendo las convenciones de REUSE Software.

Se entiende que los ficheros creados por el proyecto que carecen de una nota de copyright entran dentro del copyright y licencia que hay en COPYRIGHT. Bien el fichero simplemente recita hechos, no protegidos por la Ley de Copyright, o el contenido es tan trivial que no necesita la sobrecarga de una licencia explícita.

Los ficheros que no tienen una nota de licencia y tienen una cantidad no trivial de cambios que pueden ser protegidos por copyright, o cuyo autor cree que están marcados de forma inapropiada, deberían notificarse al Core Team de FreeBSD. El Proyecto FreeBSD tiene una política férrea de cumplir con todas las licencias apropiadas.

En el futuro, todos esos ficheros serán marcados explícitamente, o seguirán la convención de .license de REUSE Software.

5.5. Expresiones SPDX-License-Identifier

Una 'expresión de Licencia SPDX' se usa en dos contextos en la colección de software de FreeBSD. Primero, se usa su forma completa para ficheros que tienen declaraciones explícitas de licencia dentro del fichero así como una expresión SPDX-License-Identifier que las resume. En este contexto, se puede usar todo el poder de estas expresiones. Segundo, en una forma restringida descrita arriba, se usa para denotar la licencia real de un fichero dado. En el segundo contexto, el proyecto permite sólo un subconjunto de esta expresión.

Una subexpresión de Licencia SPDX es bien un identificador de licencia SPDX en forma corta de la Lista de Licencias SPDX, o una combinación de dos identificadores de licencias SPDX en forma corta se paradas por "WITH" cuando se aplica una excepción a la licencia. Cuando se aplican múltiples licencias, una expresión consiste en las palabras clave "AND", "OR" separando subexpresiones y rodeándolas con "(", ")" . La especificación completa de expresiones enumera todos los detalles y tiene preferencia cuando entra en conflicto con el tratamiento simplificado de esta sección.

Algunos identificadores de licencia, como [L]GPL, tienen la opción de usar sólo esa versión, o cualquier versión posterior. SPDX define el sufijo -or-later para indicar esa versión de la licencia o una posterior. Define -only para indicar sólo esa versión específica del fichero. Hay una antigua convención consistente en no usar sufijo (que significa lo mismo que el nuevo sufijo -only, pero que la gente confunde con -or-later). Además, añadir un sufijo + significa lo mismo que -or-later. Los ficheros nuevos de FreeBSD no deberían usar estas dos convenciones. Los ficheros antiguos que las usan deberían ser convertidos según sea conveniente.

      // SPDX-License-Identifier: GPL-2.0-only
      // SPDX-License-Identifier: LGPL-2.1-or-later

WITH debería usarse cuando se necesita un modificador de licencia. En el proyecto FreeBSD, un número determinado de ficheros de LLVM tienen una excepción a la licencia Apache 2.0:

      // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

Las Etiquetas de excepcion son gestionadas por SPDX. Las excepciones a las licencias sólo pueden aplicarse a algunas licencias, como se especifica en la excepción.

OR debería usarse si el fichero tiene una opción de licencia y se selecciona una licencia. Por ejemplo, algunos ficheros dtsi están disponibles bajo licencias duales:

      // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause

AND debería usarse si el fichero tienen múltiples licencias y los términos de todas aplican al usar el fichero. Por ejemplo, si el código ha sido incorporado por varios proyectos, cada uno con su propia licencia:

      // SPDX-License-Identifier: BSD-2-Clause AND MIT

Last modified on: 27 de julio de 2023 by Fernando Apesteguía