Herramienta para añadir la Licencia EUPL

RECU-0106 (Recurso Herramienta)

Descripción

Con esta herramienta podemos comprobar que el código fuente entregado no contiene ninguna cláusula incompatible con la Licencia EUPL, comprobando por ejemplo la existencia de algún tipo de copyright. También facilita la inclusión de la cabecera obligatoria en todos los fuentes donde se especifica que está sujeto a esta licencia, además de informar sobre quien es el autor, que siempre será la Junta de Andalucía y el desarrollador, donde debe aparecer la empresa, administración u organismo que haya escrito el código. La herramienta da la posibilidad de elegir entre una lista de lenguajes de programación.

Inicialmente esta herramienta se ha pensado para las personas encargadas de recepcionar el software en las consejerías u organismos, pero se publicará para que pueda ser usada por cualquiera mediante Java Web Start.

Para ver más sobre la cabecera y la licencia EUPL ir al apartado del subsistema de Desarrollo sobre licenciamiento.

Descripción de Subsistemas y Funcionalidades

A continuación describiremos los subsistemas que forma la aplicación.

Módulo de Administración y Configuración

Este módulo reside dentro del actual Repositorio de Software Libre, dentro de la zona de Administradores.

Las responsabilidades de este módulo son las siguientes:

  • Almacenar las tecnologías soportadas. Una tecnología (por ejemplo Java) tiene asociadas entre 1 y N extensiones de ficheros que debemos analizar (ejemplo, .java). Para cada extensión, conocemos la cadena de inicio de comentario y la de fin de comentario (por ejemplo, /* y */).
  • Almacenar el texto de cabecera de la licencia EUPL, en formato fichero. La cabecera podrá contener un comodín %YEAR% para sustituirlo posteriormente por el año de liberación del código.
  • Almacenar una cadena para reflejar la autoría. Dispondrá de un comodín %AUTHOR% para sustituirlo posteriormente por el autor reflejado en el aplicativo Java Web Start (por defecto, 'Junta de Andalucía', editable.
  • Almacenar una cadena para el reflejar el desarrollador. Dispondrá de un comodín %DEVELOPER% para sustituirlo posteriormente por el desarrollador reflejado en el aplicativo Java Web Start.
  • Almacenar el fichero de la licencia EUPL. Se permitirá añadir más de un fichero. Todos los ficheros añadidos serán copiados por la aplicación cliente Java Web Start sobre el raíz de los fuentes del proyecto.
  • Almacenar las palabras o cadenas clave por las que se buscarán en los encabezados localizados de cara a localizar posibles incompatibilidades con la EUPL. Se detecta la conveniencia de almacenar expresiones regulares que dan mayor versatilidad al aplicativo.
  • Disponer de un servicio Web que publique esta configuración de cara a que los diversos clientes se actualicen automáticamente cuando dicha configuración se modifique.

Módulo cliente de Actualización

Este módulo reside dentro del aplicativo de gestión de licencias EUPL, y tiene como principal responsabilidad actualizar la configuración residente en el cliente respecto a los valores que están en el servidor.

Núcleo del cliente

Se trata de una aplicación cliente auto-actualizable que reside en las máquinas de los usuarios y realiza una serie de funciones que pasan a describirse a continuación:

  • Permite abrir un proyecto, indicando la tecnología (ejemplo Java) y la ruta base de los fuentes del proyecto.
  • También permite escoger una ruta destino donde se grabarán los nuevos ficheros modificados.
  • Añadir información del año de liberación, autor y desarrollador.
  • Realiza el análisis del proyecto. Este análisis utiliza la configuración de la tecnología (extensiones y cadenas de comentario) para localizar cabeceras dentro de un fichero.
  • Análisis de las cabeceras localizadas en un fichero de cara a localizar cadenas incluidas dentro de las cadenas clave (que también están en la configuración del sistema). Se utilizan las expresiones regulares almacenadas en el módulo de configuración.
  • Presentación de resultados del análisis, incluyendo un listado de ficheros que incluyen cabeceras sospechosas de ser incompatibles con la EUPL. Por defecto, el sistema procederá a eliminar estas cabeceras en el siguiente proceso.
  • El sistema permitirá seleccionar/deseleccionar aquellos ficheros donde se estime que se desea (o no) eliminar estas cabeceras.
  • Conforme a la selección del usuario, el sistema eliminará las cabeceras no deseadas, e introducirá las cabeceras EUPL, conforme a la configuración del sistema (utilizando los caracteres de comentario almacenados en el módulo de configuración y los textos de cabecera).
  • El sistema introducirá los ficheros de licencia en el directorio seleccionado por el usuario.
  • El sistema presentará un resultado de la operación, grabable en formato texto (tipo log) o CSV (formato fichero/acción realizada).

La interfaz del núcleo cliente se puede ver en la siguiente imagen.

Acceso a la Herremienta

Para acceder a la herramienta ir al siguiente enlace.

Documentos