Agrega LICENSE y CODE_OF_CONDUCT a tu paquete de Python#

En la sección anterior tu:

Creaste un archivo README.md para tu paquete the Python científico

Aprendiste acerca de los componentes principales que son útiles de tener en un archivo README.

Objetivos de aprendizaje

En esta lección aprenderas:

  1. Como seleccionar una licencia y agregar un archivo LICENSE al repositorio de tu paquete, con enfoque en la interface de Github

  2. Como agregar un archivo CODE_OF_CONDUCT al repositorio de tu paquete

  3. Como usar el sitio web de Contributors Covenant para agregar lenguage genérico como punto de partida para tu CODE_OF_CONDUCT

¿Qué es una licencia?#

Una licencia contiene lenguaje legal acerca de como los usuarios pueden usar y reusar tu software. Para establecer un archivo LICENSE para tu projecto, tu:

  1. Crea un archivo LICENSE en el directorio de tu proyecto que especifique la licencia que elegiste para tu paquete.

  2. Describe la licencia que prefieres en la sección de metadata en tu archivo pyproject.toml

Al incluir esta metadata a tu archivo pyproject.toml, la licencia elegida sera incluída en la metadata de tu paquete que a su vez, es utilizada para completar la página de entrada de tu paquete en PyPI. El archivo LICENSE también es utilizada en la página de entrada de tu repositorio de GitHub

¿Qué licencia deberías elegir?#

Nosotros sugerimos que uses una licencia permissiva que acomode otras licencias comúnmente usadas en el ecosistema de Python científico (MIT[1] and BSD-3[2]). Si tienes dudas, usa MIT dado que es la licencia generalmente recomendada en choosealicense.com

Donde encontrar el archivo LICENSE#

El archivo LICENSE debe estar en la raíz del repositorio de tu paquete. Al agregar el archivo LICENSE a la raíz, Github lo descubrirá automaticamente e incluirá un link a tu archivo LICENSE en tu repositorio

Imagen que muestra el repositorio de GitHub para SunPy un paquete aceptadopor pyOpenSci.

En la parte superior de la sección README de la página principal de GitHub,hay tres pestañas que enlazan directamente al archivo README, el cual es visible, al archivo CODE_OF_CONDUCT y a uno que especifica la licencia que usa SunPy. GitHub descubre estos archivos porque están ubicados en la raíz del directorio del proyecto usando convenciones de nomenclatura estándar.#

Cómo añadir un archivo LICENSE al directorio de tu paquete#

Hay diferentes maneras de añadir al archivo LICENSE:

  1. Cuando creas un nuevo repositorio en GitHub, te preguntará si deseasañadir un archivo LICENSE en ese momento. Si seleccionas sí, creará el archivo por ti.

  2. Puedes agregar LICENSE a traves de UI de GitHub en este link instructions here.

  3. Puedes agregar el archivo manualmente tal como en esta lección

Truco

Si has completado lecciones anteriores incluyendo

  1. Haciendo tu codigo instalable y

  2. publicando tu paquete en PyPI

entonces ya tienes un archivo LICENSE que contiene texto para la licencia MIT en tu paquete de Python. Por lo tanto, puedes ir directo a la seccion que describe como agregar un CODE_OF_CONDUCT.

Si aún no tienes un archivo LICENSE en tu directorio, continua leyendo.

Como agregar un LICENSE a tu paquete - de forma manual#

Si aún no tienes un archivo LICENSE, y aún no estas usando una plataforma como Github o GitLab, entonces puedes crear un archivo LICENSE

  1. Crea un nuevo archivo llamado `LICENSE. Si estas utilizando shell, puedes escribir

# Create a `LICENSE` file in your shell
> touch LICENSE
  1. Visita choosealicense.com

  2. Elige una licencia permisiva

  3. Te sugerirá utilizar una Licencia MIT.

  4. Copia el texto de la licencia en tu archivo LICENSE que creaste.

  5. Guarda tu archivo. Todo listo!

Una vista rápida de las licencias en el ecosistema científico de Python

En el guidebook de empaquetamiento de pyOpenSci, brindamos una vista general de las licencias en el ecosistema científico de Python. Revisamos por qué los archivos de licencia son importantes, cuáles son más comúnmente utilizados para software científico y cómo seleccionar la licencia apropiada

Si deseas una visión general de por qué las licencias son importantes para proteger el software de código abierto, consulta esta entrada de blog que resume el aspecto legal.

Instrucciones para agregar un archivo LICENSE dentro de la interfaz de GitHub

Cuando creas un nuevo repositorio en GitHub, puedes agregar un archivo LICENSE a través de la interfaz de GitHub.

Captura de pantalla de la interfaz de creación de nuevos repositorios que ofrece GitHub. Los elementos incluyen el propietario y el nombre del repositorio nuevo. Debajo puedes agregar una descripción del repositorio. Más abajo puedes configurarlo como público o privado. En la parte inferior de la interfaz hay una casilla para agregar un README donde se creará un archivo README en blanco. Al final también hay opciones para agregar un archivo .gitignore y elegir una licencia.

Imagen que muestra la interfaz de GitHub que permite agregar un archivo LICENSE y README cuando creas un nuevo repositorio.#

Si ya tienes un repositorio de GitHub para tu paquete, puedes agregar un archivo LICENSE usando la interfaz de GitHub mediante la creación de un archivo nuevo en el repositorio.

  • Sigue las instrucciones para seleccionar y agregar una licencia a tu repositorio en la página de LICENSE de GitHub.

  • Una vez que hayas agregado tu archivo LICENSE, asegúrate de sincronizar tu repositorio local de git con el repositorio en GitHub.com. Esto implica ejecutar git pull para actualizar tu rama local.

Imagen que muestra cómo se ve el archivo LICENSE en la interfaz de GitHub. En la parte superior se puede ver la licencia, que en esta imagen es BSD de 3 cláusulas (New o revised). Luego hay texto que describe qué es la licencia y los permisos asociados. En la parte inferior de la imagen se muestra el texto completo de la licencia dentro del archivo LICENSE.

Puedes ver un resumen de la LICENSE elegida en la página principal del repositorio en GitHub.#

Ahora ya sabes cómo agregar una LICENSE a tu proyecto. A continuación, aprenderás sobre el archivo CODE_OF_CONDUCT.md y cómo agregarlo al directorio de tu paquete.

¿Qué es un archivo de código de conducta?#

Un archivo CODE_OF_CONDUCT es un código de conducta utilizado para establecer normas sobre cómo las personas de tu comunidad interactúan.

Este archivo es fundamental para apoyar a tu comunidad a medida que crece. El CODE_OF_CONDUCT:

  1. Establece pautas sobre cómo los usuarios y colaboradores interactúan entre sí y contigo en el repositorio de tu software.

  2. Identifica comportamientos negativos que no deseas en tus interacciones.

Puedes usar tu código de conducta como una herramienta de referencia al moderar conversaciones difíciles.

Qué incluir en tu archivo CODE_OF_CONDUCT#

Si no estás seguro de qué texto agregar a tu archivo CODE_OF_CONDUCT, te sugerimos adoptar el lenguaje de Pacto de Colaboradores como punto de partida.

Pacto de Colaboradores

El archivo CODE_OF_CONDUCT.md debe colocarse en la raíz del directorio de tu proyecto, similar al archivo LICENSE.

Cómo agregar un archivo CODE_OF_CONDUCT al directorio de tu paquete#

  • Agrega un archivo CODE_OF_CONDUCT.md en la raíz de tu repositorio si aún no existe.

> touch CODE_OF_CONDUCT.md

Eso es todo: ahora has agregado un código de conducta al directorio de tu paquete.

Conclusión#

En esta lección y la lección anterior, has agregado:

  • archivo README;

  • archivo LICENSE y

  • archivo CODE_OF_CONDUCT

Estos son archivos fundamentales necesarios para cada repositorio de paquetes de Python científico. Estos archivos ayudan a los usuarios a comprender cómo utilizar tu paquete e interactuar con quienes lo mantienen.

En las próximas lecciones, harás lo siguiente:


Notas al pie#