Política de Cookies

El sitio web de la Universidad de Cádiz utiliza cookies propias y de terceros para realizar análisis de uso y medición del tráfico, así como permitir el correcto funcionamiento en redes sociales, y de este modo poder mejorar su experiencia de navegación.

Si desea configurar las cookies, pulse el botón Personalizar Cookies. También puede acceder a la configuración de cookies en cualquier momento desde el enlace correspondiente en el pie de página.

Para obtener más información sobre las cookies puede consultar la Política de cookies del sitio web de la Universidad de Cádiz.

Personalización de Cookies

El sitio web de la Universidad de Cádiz utiliza cookies propias y de terceros para realizar análisis de uso y medición del tráfico, así como permitir el correcto funcionamiento en redes sociales, y de este modo poder mejorar su experiencia de navegación.

Para obtener más información sobre las cookies puede consultar la Política de cookies del sitio web de la Universidad de Cádiz. También puede acceder a la configuración de cookies en cualquier momento desde el enlace correspondiente en el pie de página.

A continuación podrá configurar las cookies del sitio web según su finalidad:

  • Análisis estadístico

    En este sitio se utilizan cookies de terceros (Google Analytics) que permiten cuantificar el número de usuarios de forma anónima (nunca se obtendrán datos personales que permitan identificar al usuario) y así poder analizar la utilización que hacen los usuarios del nuestro servicio, a fin de mejorar la experiencia de navegación y ofrecer nuestros contenidos de manera óptima.

  • Redes sociales

    En este sitio web se utilizan cookies de terceros que permiten el correcto funcionamiento de algunas redes sociales (principalmente Youtube y Twitter) sin utilizar ningún dato personal del usuario.

UniversidaddeCádiz
Vicerrectorado de Transformación para la Universidad Digital

Liberar Software

Publicación de código de programas como software libre

Cualquier miembro de la comunidad universitaria puede publicar como software libre un programa que haya desarrollado. Esta guía explica cómo realizarlo, prestando especial interés a los aspectos que se valoran en las evaluaciones de la actividad investigadora del PDI.

Nósete que el término “programa” en este documento guía se refiere a un programa de ordenador completo, o una parte de él (una biblioteca,  un módulo, etc). Este excluye explícitamente la liberación de conjuntos de datos de investigación, que se explican en otra guía.

Pasos para publicar un programa como software libre:

Comprobación de propiedad intelectual

Antes de proceder a liberar el código fuente de un programa es importante asegurarse de que se tiene la propiedad intelectual sobre él. Algunos casos:

  1. Si eres un alumno y has desarrollado tu programa con independencia razonable. En particular, si has hecho por tu cuenta programas para tu TFG/M o tesis. No obstante, aún en este caso recomendamos informar de esta decisión a la dirección del trabajo y otras personas que hayan aconsejado en el proceso.
  2. Si es una obra colectiva (por ejemplo, un programa desarrollado en el contexto de un proyecto de investigación) es importante contar con la autorización del resto de desarrolladores.

Elección de licencia

El poseedor de los derechos de propiedad intelectual de un programa debe indicar, en el momento de liberarlo, qué derechos otorga a las personas que lo usen. Para ello se recomienda  usar una licencia de software libre aprobada por alguna asociación con recorrido en la gestión de software libre, como la Free Software Foundation (FSF) y la Open Source Initiative (OSI)

En el caso de los criterios de evaluación de la convocatoria 2024 del sexenio de investigación, se nombre explícitamente que esté protegido por alguna de las licencias aprobadas por este organismo: https://opensource.org/licences/

Algunas de las licencias más comunes reconocidas en este listado son las siguientes:

  • GPL v3: probablemente la licencia más usada. Recomendada para cualquier proyecto.
  • LGPL v3: variante de la GPL diseñada para que una biblioteca (libray) libre se pueda integrar en otros proyectos libres o no.
  • AGPL v3 variante de la GPL diseñada específicamente para el caso de programas que se ejecuten en servidores como “servicios” (SaaS).
  • MIT: licencia permisiva, que permite incluso cerrar modificaciones del programa. Maximiza la compatibilidad.
  • BSD 2.0 : licencias permisivas con mayor personalización que la MIT.
  • EUPL 1.2: licencia creada específicamente para  ser legalmente válida en todos los idiomas oficiales de la Unión Europea

El uso de una licencia ampliamente utilizada favorece la integración con otros sistemas libres, lo que puede aumentar el impacto del software (otro de los aspectos indicados en la convocatoria 2024 del sexenio de investigación).

Incorporación de aviso de licencia

El siguiente paso es incorporar mensajes que informen a los usuarios de la licencia elegida para el programa. Normalmente se realiza en varios lugares:

  1. Incorporando al inicio de los ficheros de código fuente un mensaje que hace referencia a la licencia. Se recomienda incluir el identificador SPDX de la licencia. Por ejemplo, en las primeras líneas de un fichero Python se podrían poner las siguientes líneas precedidas por el símbolo de comentario #:
    # Copyright 2024 Carmen Española, Juan Pérez. SPDX-License-Identifier: GPL-3.0
  2. En el directorio principal del código fuente del programa se puede incorporar  un fichero LICENSE.txt con el texto de la licencia descargado de Internet.
  3. Por último, suele incorporarse dentro del programa la opción de consultar la licencia. Por ejemplo, es común encontrarla en el menú “Acerca de”.

Publicación del código del programa

Una vez realizados los pasos anteriores se puede proceder a publicar el código fuente de nuestro programa. Actualmente el repositorio más usado es GitHub, aunque existen alternativas como GitLab, GNU Savannah o SourceForge. En el caso concreto de GutHub, ofrece un programa educativo, y a la hora de crear un proyecto, se puede hacer dentro de una organización (para un centro, grupo de investigación, asignatura, etc.) asociada a la cuenta en GitHub de la UCA: https://github.com/enterprises/uca

Estos repositorios suelen incorporar servicios que ayudan al desarrollo, como control de versiones con Git, alojamiento de versiones ejecutables del programa para varios sistemas operativos, listados de tareas en desarrollo o asistentes al desarrollo potenciados por Inteligencia Artificial. Igualmente, suelen proporcionar estadísticas de descargas, aportaciones de colaboradores o actividad que pueden ser de interés para incluir como evidencia del impacto del programa a la hora de incluirlo como mérito en la convocatoria de sexenios.

Además, en lo referente a la evaluación de los sexenios, se recomienda indicar en un lugar visible la financiación recibida para el desarrollo del programa, especialmente de convocatorias competitivas

 

Recomendaciones adicionales

Aunque con los pasos anteriores se completa la liberación de un software, hay una serie de buenas prácticas adicionales:

  • Incorporar (o enlazar) la documentación adicional que se haya generado junto con el software: memoria de TFG/M, documentos de análisis, diseño arquitectónico, etc
  • Incorporar la URL del repositorio en los artículos, memorias de investigación o conjuntos de datos (datasets) que hayan hecho uso de él.
  • Proporcional manuales o guías para el uso satisfactorio del programa. Pueden ser en formato PDF,  en vídeo o cualquier otro que se considere adecuado.
  • Ofrecer datos de contacto para quien quiera escribir a los autores o colaborar en el desarrollo del programa.
  • Ofrecer listado de errores que se han detectado en versiones anteriores del programa.
  • Ofrecer listado de futuras funciones que se espera tenga el programa.
  • Si se desea facilitar la disponibilidad a largo plazo del software, el código se puede alojar adicionalmente en otros sistemas  dedicado a ello, como Archive.org o Software Heritage.
  • En general, cualquier información que pueda ayudar a generar una comunidad activa alrededor del software.

Ejemplos

Ejemplos de programas libres desarrollados en la UCA:

Otros enlaces de interés

Para cualquier duda que tenga en este proceso, estamos a su disposición en conocimiento.abierto@uca.es